[Bug 39016] BlueStacks App Player 0.9.x installer fails (Notification Center sub-installer requires 'sc.exe sdshow' to work)

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Aug 2 12:27:23 CDT 2015


https://bugs.winehq.org/show_bug.cgi?id=39016

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
          Component|-unknown                    |programs
            Version|unspecified                 |1.7.48
            Summary|BlueStacks App Player 0.9.x |BlueStacks App Player 0.9.x
                   |installer crashes           |installer fails
                   |                            |(Notification Center
                   |                            |sub-installer requires
                   |                            |'sc.exe sdshow' to work)
     Ever confirmed|0                           |1

--- Comment #2 from Anastasius Focht <focht at gmx.net> ---
Hello folks,

I've being trying to reproduce this and run into multiple issues.

The following section is just for documentation purpose.

---

Unrelated to your problem(s), the installer first complains about 'DotNet
version 2 is required to install BlueStacks App Player. Please install it and
try again.'

That's expected since I don't use Wine-Mono by default (disabled in Wine
build).

Installing .NET Framework 2.0 still doesn't get rid of the error.

--- snip ---
...
0036:Call KERNEL32.CreateProcessW(00000000,0033e850
L"\"MicroInstallerNative.exe\"",00000000,00000000,00000000,00000410,00000000,00000000,0033e320,0033e310)
ret=7e50e9b2
...
003a:Call KERNEL32.__wine_kernel_init() ret=7bc6bc7a
...
0036:Ret  KERNEL32.CreateProcessW() retval=00000001 ret=7e50e9b2
...
003a:Call advapi32.RegOpenKeyExW(80000002,00421ce0 L"SOFTWARE\\Microsoft\\NET
Framework Setup\\NDP\\v2.0.50727",00000000,000f003f,0033f918) ret=00401091
003a:Ret  advapi32.RegOpenKeyExW() retval=00000000 ret=00401091
003a:Call advapi32.RegQueryValueExW(0000003c,00421d64
L"SP",00000000,00000000,0033f920,0033f91c) ret=004010b0
003a:Ret  advapi32.RegQueryValueExW() retval=00000000 ret=004010b0
003a:Call advapi32.RegOpenKeyExW(80000002,00421c60 L"SOFTWARE\\Microsoft\\NET
Framework Setup\\NDP\\v4\\Full",00000000,000f003f,0033f918) ret=00401121
003a:Ret  advapi32.RegOpenKeyExW() retval=00000002 ret=00401121
..
003a:Call user32.MessageBoxW(00000000,00422040 L"DotNet version 2 is required
to install BlueStacks App Player. Please install it and try again.",00422128
L"Installation Failed",00000000) ret=004018b3
...
--- snip ---

Running the extracted "mini" installer:

--- snip ---
$ wine ./MicroInstallerNative.exe
DotNet v2 or v4 is not installed. Aborting...
--- snip ---

App manifest: 'BlueStacks-ThinInstaller_0.9.30.4239.exe.config'

--- snip ---
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup>
        <supportedRuntime version="v2.0.50727" />
        <supportedRuntime version="v4.0" />
    </startup>
    <system.net>
      <defaultProxy useDefaultCredentials="true"/>
    </system.net>
</configuration>
--- snip ---

Turns out the inner installer checks the patch level on .NET Framework 2.0 for
Service Pack 2 or for the presence of NET Framework 4.0

--- snip ---
2.0 RTM    2.0.50727.42           Visual Studio 2005 RTM
2.0 RTM    2.0.50727.312          Windows Vista
2.0 SP1    2.0.50727.1433         Visual Studio 2008 RTM and .NET 3.5 RTM
2.0 SP2    2.0.50727.3053         Visual Studio 2008 SP1 and .NET 3.5 SP1
2.0 SP2    2.0.50727.4016         Windows Vista SP2 and Windows Server 2008 SP2
2.0 SP2    2.0.50727.4927         Windows 7
--- snip ---

Hiding this requirement by just stating "needs .NET 2" in the outer installer
is not helpful.
Stupid or malicious ... well, I've seen worse from software vendors.

-> 'winetricks -q dotnet20sp2' or 'winetricks -q dotnet40'

Anyway, back to the real problem(s).

---

There is a crash of Wine builtin 'rundll32.exe' process near the end of
installation (during rollback).
This is the result of an earlier failure in msi installer.

Process hierarchy at this point:

--- snip ---
Wine-dbg>info process

 pid      threads  executable (all id:s are in hex)
 00000039 3        'BlueStacks-ThinInstaller_0.9.30.4239.exe'
 0000003e 4        \_ 'BlueStacks-ThinInstaller_0.9.30.4239.exe'
 00000018 3           \_ 'msiexec.exe'
 00000063 5              \_ 'rundll32.exe'
 0000005a 4                 \_ 'winedbg.exe'
 00000009 1                    \_ 'wineconsole.exe'
 00000014 1              \_ 'winemenubuilder.exe'
 0000001c 4        'explorer.exe'
 0000000e 6        'services.exe'
 00000029 3        \_ 'plugplay.exe'
 00000023 4        \_ 'winedevice.exe'
 0000001a 4        \_ 'mscorsvw.exe'
--- snip ---

--- snip ---
...
24953     00:00:02 Bluestacks-ThinInstaller_0.9.30.4239.exe
BlueStacks-ThinInstaller.exe

24958     00:00:05
C:\users\focht\Temp\7zS6968.tmp\BlueStacks-ThinInstaller_0.9.30.4239.exe
BlueStacks-ThinInstaller.exe install:WindowsForms10.Window.8.app.

24987     00:00:01 msiexec.exe /i
C:\users\focht\Temp\BlueStacks_1nxhdib3.5lg\BlueStacks_HD_AppPlayerSplit_setup_0.9.30.4239_REL.msi
/qn P2DM=0 FEATURES=2684

25092     00:00:00 C:\windows\system32\winemenubuilder.exe -w
C:\users\focht\Start Menu\Programs\BlueStacks\Start BlueStacks.lnk

25169     00:00:00 rundll32.exe
C:\users\focht\Temp\msi8f8e.tmp,zzzzInvokeManagedCustomActionOutOfProc
SfxCA_13883701 2 CustomActions!Actions.RollbackActions
...
--- snip ---

Running the sub-installer alone:

--- snip ---

$ WINEDEBUG=+tid,+seh,+relay wine msiexec -i
BlueStacks_HD_AppPlayerSplit_setup_0.9.30.4239_REL.msi P2DM=0 FEATURES=2684
>>log.txt 2>&1
...
005a:Call KERNEL32.CreateProcessW(00bcdeb8
L"C:\\windows\\system32\\rundll32.exe",00bcd4b0 L"rundll32.exe
\"C:\\users\\focht\\Temp\\msic29a.tmp\",zzzzInvokeManagedCustomActionOutOfProc
SfxCA_12891570 2
CustomActions!Actions.RollbackActions",00000000,00000000,00000000,00000000,00000000,00000000,00bcd418,00bcd498)
ret=10005415
...
0030:Call KERNEL32.__wine_kernel_init() ret=7bc6bc7a
...
005a:Ret  KERNEL32.CreateProcessW() retval=00000001 ret=10005415
...
0030:Call KERNEL32.LoadLibraryW(00139620
L"C:\\users\\focht\\Temp\\msic29a.tmp") ret=7effd33b
...
0030:Ret  KERNEL32.LoadLibraryW() retval=10000000 ret=7effd33b
...
0030:Call KERNEL32.GetProcAddress(10000000,001396c0
"zzzzInvokeManagedCustomActionOutOfProcW") ret=7effce60
0030:Ret  KERNEL32.GetProcAddress() retval=10006092 ret=7effce60
...
0030:Call msi.MsiRecordSetStringW(00000003,00000000,00341060 L"Calling custom
action CustomActions!Actions.SetUserDefinedDir") ret=1000437f
...
0038:Call msi.MsiRecordSetStringW(00000003,00000000,00341060 L"Calling custom
action CustomActions!Actions.CheckDiskSpace") ret=1000437f
...
003f:Call msi.MsiRecordSetStringW(00000003,00000000,00341060 L"Calling custom
action CustomActions!Integrity.CheckMsiIntegrity") ret=1000437f
...
0046:Call msi.MsiRecordSetStringW(00000003,00000000,00341060 L"Calling custom
action CustomActions!Actions.BstPreInstallActions") ret=1000437f
...
0044:Call msi.MsiRecordSetStringW(00000003,00000000,00341060 L"Calling custom
action CustomActions!Actions.PreserveAndroidUserData") ret=1000437f
...
0018:Call msi.MsiRecordSetStringW(00000003,00000000,00341060 L"Calling custom
action CustomActions!Actions.PreserveGadgetUserData") ret=1000437f
...
0038:Call msi.MsiRecordSetStringW(00000003,00000000,00341060 L"Calling custom
action CustomActions!Actions.PreserveAndroidRootFsPrebundledFs") ret=1000437f
...
003f:Call msi.MsiRecordSetStringW(00000003,00000000,00341060 L"Calling custom
action CustomActions!Actions.CheckIfRunAll") ret=1000437f
...
0030:Call msi.MsiRecordSetStringW(00000003,00000000,00341060 L"Calling custom
action CustomActions!Actions.GetSharedFolderPaths") ret=1000437f
0047:Call msi.MsiRecordSetStringW(00000003,00000000,00341060 L"Calling custom
action CustomActions!Actions.GetScreenSize") ret=1000437f
0041:Call msi.MsiRecordSetStringW(00000003,00000000,00341060 L"Calling custom
action CustomActions!LegacyProduct.ShutdownLegacyProduct") ret=1000437f
0035:Call msi.MsiRecordSetStringW(00000003,00000000,00341060 L"Calling custom
action CustomActions!LegacyProduct.UninstallLegacyProduct") ret=1000437f
000b:Call msi.MsiRecordSetStringW(00000003,00000000,00341060 L"Calling custom
action CustomActions!ActionsReg.TweakRegistry") ret=1000437f
004a:Call msi.MsiRecordSetStringW(00000003,00000000,00341060 L"Calling custom
action CustomActions!Actions.AllocateVMMemory") ret=1000437f
0051:Call msi.MsiRecordSetStringW(00000003,00000000,00341060 L"Calling custom
action CustomActions!Actions.OptimizedDeferred") ret=1000437f
...
0051:Call msi.MsiRecordSetStringW(00000003,00000000,00341060 L"2015-08-02
18:14:04.622 82:1: InstallDriver called.") ret=1000437f
...
0051:Call msi.MsiRecordSetStringW(00000003,00000000,00341060 L"2015-08-02
18:14:04.666 82:1: Command Runner") ret=1000437f
...
0051:Call msi.MsiRecordSetStringW(00000003,00000000,00341060 L"2015-08-02
18:14:04.669 82:1:   cmd:  sc") ret=1000437f
...
0051:Call msi.MsiRecordSetStringW(00000003,00000000,00341060 L"2015-08-02
18:14:04.671 82:1:   args: create BstHdDrv   binPath= \"C:\\Program
Files\\BlueStacks\\HD-Hypervisor-x86.sys\"   type= kernel   start= auto  
DisplayName= \"BlueStacks Hypervisor\"") ret=1000437f
...
0053:Call KERNEL32.CreateProcessW(00000000,0033dc64 L"\"sc\" create BstHdDrv  
binPath= \"C:\\Program Files\\BlueStacks\\HD-Hypervisor-x86.sys\"   type=
kernel   start= auto   DisplayName= \"BlueStacks
Hypervisor\"",00000000,00000000,00000001,08000000,00000000,00dfe4a0
L"C:\\users\\focht\\Temp\\msi1ef8.tmp-",0033dc20,00dfdde8) ret=0d6a4bf0
...
005c:Call KERNEL32.__wine_kernel_init() ret=7bc6bc7a
...
0053:Ret  KERNEL32.CreateProcessW() retval=00000001 ret=0d6a4bf0
...
005c:Call advapi32.CreateServiceW(00116ba8,0011558c L"BstHdDrv",00115660
L"BlueStacks Hypervisor",000f01ff,00000001,00000002,00000001,001155b0
L"C:\\Program
Files\\BlueStacks\\HD-Hypervisor-x86.sys",00000000,00000000,00000000,00000000,00000000)
ret=7effca18
...
005c:Ret  advapi32.CreateServiceW() retval=00117df0 ret=7effca18
...
005c:Call KERNEL32.ExitProcess(00000000) ret=7effd2bb
...
0053:Call KERNEL32.CreateProcessW(00000000,0033dd68 L"\"sc\" sdshow
BstHdDrv",00000000,00000000,00000001,08000000,00000000,00e15f38
L"C:\\users\\focht\\Temp\\msi1ef8.tmp-",0033dd24,00e15880) ret=0d6a4bf0
...
0066:Call KERNEL32.__wine_kernel_init() ret=7bc6bc7a
...
0053:Ret  KERNEL32.CreateProcessW() retval=00000001 ret=0d6a4bf0
...
0066:Call KERNEL32.ExitProcess(00000001) ret=7effd2bb
...
0051:Call msi.MsiRecordSetStringW(00000003,00000000,00341060 L"2015-08-02
18:14:05.143 82:1: System.ApplicationException: Command  returned exit code
1\r\n   at Actions.RunCmd(String cmd, String args, Boolean throwOnNonZero)\r\n 
 at Actions.InstallDriver(Session session)") ret=1000437f
...
004b:Call msi.MsiRecordSetStringW(00000003,00000000,00341060 L"Calling custom
action CustomActions!Actions.CleanUpAllLocations") ret=1000437f
...
0066:Call msi.MsiRecordSetStringW(00000003,00000000,00341060 L"Calling custom
action CustomActions!Actions.RollbackActions") ret=1000437f
...
0053:Call KERNEL32.CreateProcessW(00000000,0033dd5c L"\"sc\" delete
BstHdDrv",00000000,00000000,00000001,08000000,00000000,00e28104
L"C:\\users\\focht\\Temp\\msi1ef8.tmp-",0033dd18,00e27a4c) ret=0d6a4bf0
...
0033:Call KERNEL32.__wine_kernel_init() ret=7bc6bc7a
...
0053:Ret  KERNEL32.CreateProcessW() retval=00000001 ret=0d6a4bf0
...
0033:Call KERNEL32.ExitProcess(00000000) ret=7effd2bb
...
--- snip ---

Wine builtin 'sc.exe' doesn't provide 'sdshow' command handling, causing the
MSI rollback procedure (which causes another problem).

MSDN: https://technet.microsoft.com/en-us/library/cc742133.aspx

But even with that part implemented ... if this software relies on Intel
hardware-virtualization features provided by BlueStacks x86 Hypervisor
('HD-Hypervisor-x86.sys' kernel driver) this is not going to work with
Linux/Wine.

Wine is not an operating system, all of its processes including the ones
hosting "kernel" drivers run in user mode.

$ sha1sum BlueStacks-ThinInstaller.exe 
6df230723cc694eab79cd6f9b8ac4d8c1c20933d  BlueStacks-ThinInstaller.exe

$ du -sh BlueStacks-ThinInstaller.exe 
14M    BlueStacks-ThinInstaller.exe

$ wine --version
wine-1.7.48-76-g8c0792c

Regards

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list