scripts icon indicating copy to clipboard operation
scripts copied to clipboard

Failed to install Microsoft Office Professional 2010

Open pmorch opened this issue 6 years ago • 40 comments

Expected behavior

It should install

I realize MS Office 2010 is considered "testing" so consider this test feedback... ;-)

Actual behavior

It seems to hang indefinitely (at least 40min+):

Steps to reproduce

  • Start with a fresh Xubuntu 18.04 installation
  • Follow Build | Phoenicis Documentation
  • Hit and work around #1402
  • Try to install e.g. MS Office 2010
  • It chugs along, downloads and installs various things but eventually gets stuck here: pleasewait officeinstalling top This secondrun.txt is the log file from my second run ( after working around #1402 ) but it hasn't changed in hours...

System information

  • software version (git revision) of phoenicis
test@xfce1804:~/phoenicis$ git log -1
commit c571d6c1db11eb72f2b370893b98575be4e088e5 (HEAD -> master, origin/master, origin/HEAD)
Author: plata <[email protected]>
Date:   Fri Sep 28 20:02:53 2018 +0200

    Add support for JDK 11 (#1404)

... and scripts repositories

? How do I determine that?

  • Just updated Xubuntu 18.04

  • used Java version

test@xfce1804:~/phoenicis$ java -version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-0ubuntu0.18.04.1-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
test@xfce1804:~/phoenicis$ dpkg-query -W | grep openjdk
openjdk-11-jre-headless:amd64	10.0.2+13-1ubuntu0.18.04.2
openjdk-8-jdk:amd64	8u181-b13-0ubuntu0.18.04.1
openjdk-8-jdk-headless:amd64	8u181-b13-0ubuntu0.18.04.1
openjdk-8-jre:amd64	8u181-b13-0ubuntu0.18.04.1
openjdk-8-jre-headless:amd64	8u181-b13-0ubuntu0.18.04.1

pmorch avatar Oct 07 '18 14:10 pmorch

If you didn't change anything, the scripts repository is PhoenicisOrg/scripts. If this issue is specific for this app, it's probably related to the script and not the Phoenicis software itself. However, it seems that the installation process just doesn't finish. This could indicate an issue with Wine. Is there anything about this on WineHQ?

plata avatar Oct 07 '18 20:10 plata

I looked at WineHQ for MS Office 2010 and there were bugs, but only that kind that show up after installation has succeeded. Also, while debugging this I did try and succeed installing MS Office 2010 using PlayOnLinux 4.2.12 on the same virtual machine, so it is clear to me that it works in 4.2.12 but not in 5. ( I reverted to a stable VirtualBox snapshot between attempts so there is no leftover wine or PlayOnLinux/Phoenicis stuff around )

If this issue is specific for this app, it's probably related to the script and not the Phoenicis software itself.

I didn't try installing anything else ( I don't have any other windows programs I need to run ), but looking at the script for MS Office 2010, it is really basic:

include(["engines", "wine", "quick_script", "local_installer_script"]);
/* override_dll used in postInstall() which I removed for clarity */
include(["engines", "wine", "plugins", "override_dll"]);

var installerImplementation = {
    run: function () {
        new LocalInstallerScript()
            .name("Microsoft Office 2010")
            .editor("Microsoft")
            .author("ImperatorS79")
            .category("Office")
        // exe set with WineShorcut
            .postInstall(function (wine/*, wizard*/) {
                /* postInstall stuff removed */
            })
            .go();
    }
};

/* exported Installer */
var Installer = Java.extend(org.phoenicis.scripts.Installer, installerImplementation);

, and apparently relies on include(["engines", "wine", "quick_script", "local_installer_script"]); for all the guts.

pmorch avatar Oct 07 '18 22:10 pmorch

Unfortunately, I cannot test this myself. Might be interesting to check the PoL 4 script to see if it does something special. @ImperatorS79 any ideas.

plata avatar Oct 08 '18 10:10 plata

From the appdb , you should try: "winetricks dotnet20 msxml5 (newest version) - change msxml to native,builtin" And see if it works.

Le lun. 8 oct. 2018 à 12:40, plata [email protected] a écrit :

Unfortunately, I cannot test this myself. Might be interesting to check the PoL 4 script to see if it does something special. @ImperatorS79 https://github.com/ImperatorS79 any ideas.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/PhoenicisOrg/phoenicis/issues/1411#issuecomment-427788801, or mute the thread https://github.com/notifications/unsubscribe-auth/AS3RKhwgrFFJP4eD8oJUo4PiFF9TUwhXks5uiyuggaJpZM4XL4Bz .

ImperatorS79 avatar Oct 08 '18 20:10 ImperatorS79

@pmorch can you try that?

plata avatar Oct 08 '18 20:10 plata

Sure I'm up for trying. But I don't know where to make that change. In all of phoenicis and scripts I only see winetricks mentioned in documentation and comments:

pvm9@peter:~> git clone https://github.com/PhoenicisOrg/phoenicis.git
Cloning into 'phoenicis'...
bla bla bla

pvm9@peter:~> git clone https://github.com/PhoenicisOrg/scripts.git
Cloning into 'scripts'...
bla bla bla

pvm9@peter:~> ack winetricks phoenicis/ scripts/
scripts/docs/_docs/Develop/verbs.md:12:* [winetricks](https://github.com/Winetricks/winetricks/blob/master/src/winetricks)
scripts/docs/jsdoc/Engines_Wine_Verbs_mspatcha_script.js.html:39:    //Inspired from winetricks mspatcha, but with a link Phoenicis can understand
scripts/Engines/Wine/Verbs/mspatcha/script.js:11:    //Inspired from winetricks mspatcha, but with a link Phoenicis can understand

Again, as I said it already works for me in 4.2.12 so I don't think I should be messing with the 4.x bash script, right?

If you could be a little more specific about what I should change where, I'll try it out.

pmorch avatar Oct 08 '18 21:10 pmorch

Also msxml isn't mentioned anywhere relevant either as far as I can tell:

pvm9@peter:~> ack msxml phoenicis/ scripts/
scripts/Applications/Internet/Internet Explorer 7.0/Online/script.js:212:                                    "msoeacct.dll", "msrating.dll", "mstime.dll", "msxml3.dll", "occache.dll",
scripts/Applications/Internet/Internet Explorer 6.0/Online/script.js:67:                                   "msoeacct.dll", "msrating.dll", "mstime.dll", "msxml3.dll", "occache.dll",

pmorch avatar Oct 08 '18 21:10 pmorch

Just open a terminal in the container and type the command. If it does not work, you should install the winetricks package.

ImperatorS79 avatar Oct 08 '18 21:10 ImperatorS79

Just to clarify: this is just for testing. If it helps, we must adjust the script accordingly.

plata avatar Oct 08 '18 22:10 plata

I interpret "open a terminal in the container" to meaning opening a "normal" xfce-terminal or xterm. Or is there some wine-terminal that can be opened? How?

So while the Installation Progress screen is hanging, I open a terminal and cd where before running what exactly?

# sudo apt install winetricks
# cd $somewhere
# winetricks dotnet20 native,builtin

? And that should (magically) get the existing, running and hanging Installation Progress screen to continue? Or do I need to kill the in-progress installation (how works best?) and restart the installation in the same container? How?

It is beginning to feel like I'm in a little over my head. I'm a developer but only a very casual wine user. But if you'll help me out by being a little more specific still, I'll give it a try.

Otherwise, as I said, it was easy to reproduce using a vanilla Xubuntu 18.04-1 image and VirtualBox.

pmorch avatar Oct 08 '18 22:10 pmorch

Ok, so:

> sudo apt install winetricks
> WINEPREFIX=$HOME/.Phoenicis/containers/wineprefix/Microsoft\ Office\ 2010 winetricks dotnet20 native,builtin
------------------------------------------------------
wine cmd.exe /c echo '%ProgramFiles%' returned empty string, error message "wine client error:0: version mismatch 547/565.
Your wineserver binary was not upgraded correctly,
or you have an older one somewhere in your PATH.
Or maybe the wrong wineserver is still running?" 
------------------------------------------------------

Without the WINEPREFIX it tries to modify ~/.wine which didn't look right.

Please advise.

pmorch avatar Oct 08 '18 23:10 pmorch

I figured out how to open a terminal properly under Containers -> <name > -> Engine Tools.

test@xfce1804:~/.Phoenicis/containers/wineprefix/Microsoft Office 2010$ winetricks dotnet20 native,builtin
Using winetricks 20180217 - sha256sum: 1b156c616174f41df79d72a90c52eb2b110c63a6e8ecb865d303a8f9f0908924 with wine-3.0.3 and WINEARCH=win32
Executing w_do_call dotnet20
Executing load_dotnet20 
Executing mkdir -p /home/test/.cache/winetricks/dotnet20
Executing cd /home/test/.cache/winetricks/dotnet20
Downloading https://download.lenovo.com/ibmdl/pub/pc/pccbbs/thinkvantage_en/dotnetfx.exe to /home/test/.cache/winetricks/dotnet20
--2018-10-09 01:26:16--  https://download.lenovo.com/ibmdl/pub/pc/pccbbs/thinkvantage_en/dotnetfx.exe
Resolving download.lenovo.com (download.lenovo.com)... 2.17.0.102
Connecting to download.lenovo.com (download.lenovo.com)|2.17.0.102|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 23510720 (22M) [application/octet-stream]
Saving to: ‘dotnetfx.exe’

dotnetfx.exe        100%[===================>]  22.42M   996KB/s    in 23s     

2018-10-09 01:26:40 (996 KB/s) - ‘dotnetfx.exe’ saved [23510720/23510720]

Executing cd /home/test/.Phoenicis/containers/wineprefix/Microsoft Office 2010
Executing w_do_call remove_mono
Executing load_remove_mono 
0065:fixme:ntdll:NtLockFile I/O completion on lock not implemented yet
0065:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 5)
0065:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 5)
------------------------------------------------------
Working around wine bug 34803 
------------------------------------------------------
reg: The system was unable to find the specified registry key or value
reg: The system was unable to find the specified registry key or value
reg: The system was unable to find the specified registry key or value
Executing rm -f /home/test/.Phoenicis/containers//wineprefix//Microsoft Office 2010//dosdevices/c:/windows/system32/mscoree.dll
Executing w_do_call fontfix
Executing load_fontfix 
Setting Windows version to win2k
Executing wine regedit C:\windows\Temp\_dotnet20\set-winver.reg
------------------------------------------------------
Running /home/test/.Phoenicis/engines//wine/upstream-linux-x86/3.0.3/bin//wineserver -w. This will hang until all wine processes in prefix=/home/test/.Phoenicis/containers//wineprefix//Microsoft Office 2010/ terminate
------------------------------------------------------

The installer is still sitting there, though.

pmorch avatar Oct 08 '18 23:10 pmorch

For the procedure: start the installation and continue until it freezes, then abort it. This is required only to have the container (I think you've figured that out already). Then:

cd ~/.Phoenicis/containers/wineprefix/Microsoft\ Office\ 2010
WINEPREFIX=$HOME/.Phoenicis/containers/wineprefix/Microsoft\ Office\ 2010 winetricks dotnet20
WINEPREFIX=$HOME/.Phoenicis/containers/wineprefix/Microsoft\ Office\ 2010 winetricks msxml5

Not quite sure if it's necessary to set msxml to native,builtin additionally. If so, you can do that from the containers tab (engine tools -> configure Wine).

plata avatar Oct 09 '18 08:10 plata

Thanks, I'll give that a go tonight when I get home. I don't have access to it right now.

Once winetrics has been run, I guess I'll have to restart setup.exe, right? Can I just re-run setup.exe in the container by using some relevant GUI menu entry/button?

pmorch avatar Oct 09 '18 08:10 pmorch

You can just start the installation in Phoenicis again. It will use the existing container.

plata avatar Oct 09 '18 09:10 plata

Ok, so I tried it.

Short Version

I sorta succeeded in killing the in-progress installation, executing one of the winetricks lines and restarted the installation. Almost immediately, it presented this dialog:

newerversionneeded

I then did some more attempts and eventually, and surprisingly it suddenly started installaling Dot Net 2.0.

I saw several errors about not finding setup.exe too.

After several errors ( I didn't record the details ), it is how hung here:

finalhang

I now give up. I hope you'll find the issue, but I'm going to move on...

Longer version

I had a hard time killing the setup.exe window that was in progress. I ended up having to use xkill to succeed killing the setup.exe window. I then used Containers -> <name> -> Engine Tools -> Open a terminal.

In there I executed:

test@xfce1804:~/.Phoenicis/containers/wineprefix/Microsoft Office 2010$ winetricks dotnet20
Using winetricks 20180217 - sha256sum: 1b156c616174f41df79d72a90c52eb2b110c63a6e8ecb865d303a8f9f0908924 with wine-3.0.3 and WINEARCH=win32
Executing w_do_call dotnet20
Executing load_dotnet20 
Executing w_do_call remove_mono
Executing load_remove_mono 
------------------------------------------------------
Mono does not appear to be installed.
------------------------------------------------------
------------------------------------------------------
Working around wine bug 34803 
------------------------------------------------------
reg: The system was unable to find the specified registry key or value
reg: The system was unable to find the specified registry key or value
reg: The system was unable to find the specified registry key or value
Executing rm -f /home/test/.Phoenicis/containers//wineprefix//Microsoft Office 2010//dosdevices/c:/windows/system32/mscoree.dll
Executing w_do_call fontfix
Executing load_fontfix 
Setting Windows version to win2k
Executing wine regedit C:\windows\Temp\_dotnet20\set-winver.reg
------------------------------------------------------
Running /home/test/.Phoenicis/engines//wine/upstream-linux-x86/3.0.3/bin//wineserver -w. This will hang until all wine processes in prefix=/home/test/.Phoenicis/containers//wineprefix//Microsoft Office 2010/ terminate
------------------------------------------------------

This hug seemingly forever, so I hit CTRL-C.

I then ran:

test@xfce1804:~/.Phoenicis/containers/wineprefix/Microsoft Office 2010$ winetricks msxml
Using winetricks 20180217 - sha256sum: 1b156c616174f41df79d72a90c52eb2b110c63a6e8ecb865d303a8f9f0908924 with wine-3.0.3 and WINEARCH=win32
Unknown arg msxml
Usage: /usr/bin/winetricks [options] [command|verb|path-to-verb] ...
Executes given verbs.  Each verb installs an application or changes a setting.

Options:
    --force           Don't check whether packages were already installed
    --gui             Show gui diagnostics even when driven by commandline
    --isolate         Install each app or game in its own bottle (WINEPREFIX)
-k, --keep_isos       Cache isos (allows later installation without disc)
    --no-clean        Don't delete temp directories (useful during debugging)
-q, --unattended      Don't ask any questions, just install automatically
-r, --ddrescue        Retry hard when caching scratched discs
    --showbroken      Even show verbs that are currently broken in wine
-t  --torify          Run downloads under torify, if available
    --verify          Run (automated) GUI tests for verbs, if available
-v, --verbose         Echo all commands as they are executed
-h, --help            Display this message and exit
-V, --version         Display version and exit

Commands:
list                  list categories
list-all              list all categories and their verbs
apps list             list verbs in category 'applications'
benchmarks list       list verbs in category 'benchmarks'
dlls list             list verbs in category 'dlls'
games list            list verbs in category 'games'
settings list         list verbs in category 'settings'
list-cached           list cached-and-ready-to-install verbs
list-download         list verbs which download automatically
list-manual-download  list verbs which download with some help from the user
list-installed        list already-installed verbs
prefix=foobar         select WINEPREFIX=/home/test/.local/share/wineprefixes/foobar

I also got the Unknown arg $whatever error for winetricks msxml5 and winetricks native,builtin.

Upon going to "Installations to start again, I saw that phoenicis thought that the installation was still underway. I hit cancel and that seemed to hange. I tried to reboot the container, kill and all sorts of things. Finally I exited phoenicis and started it again. This time it let me try to restart the installation, and I go the "Newer windows version needed" error.

At this point I can't remember all the details. I tried this and that, saw multiple errors, and finally it is now hanging with the installation screen.

pmorch avatar Oct 09 '18 13:10 pmorch

Do you know any site where I could download a demo of microsoft office 2010 ?

ImperatorS79 avatar Oct 09 '18 14:10 ImperatorS79

No, sorry. Not a legal one anyway... ;-)

On Tue, Oct 9, 2018 at 4:00 PM ImperatorS79 [email protected] wrote:

Do you know any site where I could download a demo of microsoft office 2010 ?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/PhoenicisOrg/phoenicis/issues/1411#issuecomment-428203242, or mute the thread https://github.com/notifications/unsubscribe-auth/AAJuPG6OB75on59c1_dYhjBZpNJPEau9ks5ujKvygaJpZM4XL4Bz .

-- Peter Valdemar Mørch http://www.morch.com

pmorch avatar Oct 09 '18 14:10 pmorch

I guess what happened is that the Wine process/wineserver was still running in the background which is why winetricks couldn't finish. So when aborting the installation, close Phoenicis completely and kill all wine and wineserver processes which might still be running (that is if you want to give it another try). Apart from this: Could it be that your winetricks is somewhat outdated? (see https://github.com/Winetricks/winetricks#installing) Unfortunately, I cannot test this myself as I do not have Office 2010.

plata avatar Oct 10 '18 17:10 plata

Ok, so I did it a little differently. At the point where Office asks me to approve their license I chose no, and it exited cleanly. That let winetricks run and finish without any strangeness.

test@xfce1804:~/.Phoenicis/containers/wineprefix/Microsoft Office 2010$ winetricks -V
20180217 - sha256sum: 1b156c616174f41df79d72a90c52eb2b110c63a6e8ecb865d303a8f9f0908924

test@xfce1804:~/.Phoenicis/containers/wineprefix/Microsoft Office 2010$ winetricks dotnet20
(completed this time after installing Dot Net 2.0)

Now I wasn't sure what else tricks to install. "winetricks dotnet20 msxml5 (newest version) - change msxml to native,builtin" was a little unclear to me.

test@xfce1804:~/.Phoenicis/containers/wineprefix/Microsoft Office 2010$ winetricks list-all | grep msxml
msxml3                   MS XML Core Services 3.0 (Microsoft, 2005) [downloadable]
msxml4                   MS XML Core Services 4.0 (Microsoft, 2009) [downloadable]
msxml6                   MS XML Core Services 6.0 sp1 (Microsoft, 2007) [downloadable,cached]

So I installed msxml6

test@xfce1804:~/.Phoenicis/containers/wineprefix/Microsoft Office 2010$ winetricks msxml6
( Installed something)

As for native and builtin, I didn't find anything that looked relevant

test@xfce1804:~$ winetricks list-all | grep native
unifont                  Unifont alternative to Arial Unicode MS (Roman Czyborra / GNU, 2008) [downloadable]
macdriver=mac            Enable the Mac native Quartz driver (default) 
macdriver=x11            Disable the Mac native Quartz driver, use X11 instead 
native_mdac              Override odbc32, odbccp32 and oledb32 
native_oleaut32          Override oleaut32 
test@xfce1804:~$ winetricks list-all | grep builtin
alldlls=builtin          Override most common DLLs to builtin 
remove_mono              Remove builtin wine-mono 

So in the end I got this (from Engine Tools / Wine uninstaller): installed

I restarted the installation from Apps in Phoenicis and it still hung in what looks like the same spot: finalhang

I later disovered that a bleading edge winetricks was just a wget away, but I had already run the test with this 8-month old version and I'm lazy :-) . If you think it makes a difference I'll try again. I investigated the diff between the output of wineprefix list-all of the two versions and while there were differences, none had to do with dotnet20, msxml, native or builtin.

If we could agree on a time, I'd be ok giving you (plata and/or ImperatorS79) temporary VNC or rdesktop access to the machine with some port forwarding trickery, if I can look over your shoulders. Would you be interested in that? Then you'd be installing my Office 2010 on my machine, but you'd have hands-on which I think is probably more efficient. I'm in CET timezone and on vacation next week so I'm flexible, but I'm out of town Wed-Fri.

pmorch avatar Oct 10 '18 21:10 pmorch

With VNC/rdesktop access you could also investigate #1402 if you like.

pmorch avatar Oct 10 '18 21:10 pmorch

I can try to rewrite the POL4 verb for POL5 but I do not have so much time this week.

ImperatorS79 avatar Oct 11 '18 08:10 ImperatorS79

I'm in no hurry. I use Office 2007 myself and not Office 2010, and that (now) works fine in PlayOnLinux 4.2.12. So I don't have an itch that needs scratching.

I just wanted to try out Phoenicis to see how easy it would be to write a script for Office 2007, now that I've updated the PlayOnLinux Office 2007 script: pmorch/PlayOnLinux-MSOffice2007: An installation script for installing MS Word 2007 on Linux with PlayOnLinux. I think I'll wait a little bit with a Phoenicis Office 2007 script... ;-)

Anyway my VNC/rdesktop offer stands - just contact me if you're interested. Until then I'll be on my merry way.

Thanks for your efforts thus far.

pmorch avatar Oct 11 '18 08:10 pmorch

Not sure if I will find the time for the VNC session. The native, builtin setting must be done in Phoenicis: Containers → select Office 2010 → Engine tools → Configure Wine → Libraries. See also: https://wiki.winehq.org/Winecfg#Libraries.

I just checked the PoL4 script from https://www.playonlinux.com/en/app-801-Microsoft_Office_2010.html and it's using a lot more verbs:

dotnet20
gecko
corefonts
gdiplus
riched20
riched30
msxml6

However, it doesn't set msxml to "native, builtin". Instead:

"native,builtin" riched20
"native,builtin" riched30
"native,builtin" gdiplus

Maybe it's worth to try that. Are you trying to install the 32bit or 64bit version (64bit doesn't seem to work)?

plata avatar Oct 11 '18 15:10 plata

@pmorch Would you mind trying with my git repo here https://github.com/ImperatorS79/Scripts/tree/Office2010 ? You can change the repo you want to use in the parameters tab.

ImperatorS79 avatar Oct 12 '18 07:10 ImperatorS79

Office 2010 32-bit works on POL4. Unfortunately Phoenicis 5.0.0.alpha (POL5) installs but doesn't open for us. We'll check once again when POL5 works for us on Linux Mint 19.

ovari avatar Nov 05 '18 03:11 ovari

@ovari you can build on Linux Mint 19 with the following command:

_JAVA_OPTIONS=-Djdk.net.URLClassPath.disableClassPathURLCheck=true mvn clean package

You may have to change the phoenicis.sh depending if you want to use openjdk-11 instead of openjdk-8, follow the discussion here : #1408.

ImperatorS79 avatar Nov 06 '18 09:11 ImperatorS79

@ImperatorS79 Travis CI is not working at the moment (eg. https://github.com/PhoenicisOrg/phoenicis/pull/1446#issuecomment-435994084, https://github.com/PhoenicisOrg/phoenicis/pull/1449). Wouldn't it be better to wait for the approved pull requests to be merged once Travis CI is fixed? What do you think? Thank you

ovari avatar Nov 06 '18 10:11 ovari

I just say if you want to test phoenicis by yourself, you can. Only the openjdk-8 is failing atm. I have just tested phoenicis with openjdk-11 on linux mint 19 and it worked fine (despite the git error).

ImperatorS79 avatar Nov 06 '18 10:11 ImperatorS79

Thank you for your advise. Do you know when Phoenicis 5.0.0.alpha2 will be available? It might be better to use the released deb file as it might make it easier for people to understand any bug reports we write. Thank you once again.

ovari avatar Nov 06 '18 10:11 ovari