https://bugs.winehq.org/show_bug.cgi?id=8406
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net Hardware|Other |x86 Version|unspecified |0.9.37. Summary|MPLab 7.60 installer |MPLab 7.60 installer: |doesn't terminate, leaves |InstallShield out-of-proc |background up |COM server 'IDriver.exe' | |doesn't terminate OS|other |Linux
--- Comment #11 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming, still present.
The installer/bootstrapper uses InstallShield out-of-process COM server 'IDriver.exe' and communicates with it using standard marshalling.
Half-way through installation:
--- snip --- Wine-dbg>info process pid threads executable (all id:s are in hex) ... 00000008 4 'Install_MP760a.exe' 00000022 16 _ 'IDriver.exe' 00000068 1 _ 'winemenubuilder.exe' 00000061 1 _ 'winemenubuilder.exe' 00000054 1 _ 'winemenubuilder.exe' 0000004e 1 _ 'winemenubuilder.exe' 00000038 1 _ 'winemenubuilder.exe' 00000065 1 _ 'winemenubuilder.exe' 0000003e 7 _ 'rpcss.exe' ... --- snip ---
Installer displaying 'finished' dialog/button:
--- snip --- Wine-dbg>info process pid threads executable (all id:s are in hex) ... 00000008 4 'Install_MP760a.exe' 00000022 16 _ 'IDriver.exe' 00000080 1 _ 'MPDocSelect.exe' 00000068 1 _ 'winemenubuilder.exe' 00000061 1 _ 'winemenubuilder.exe' 00000054 1 _ 'winemenubuilder.exe' 0000004e 1 _ 'winemenubuilder.exe' 00000038 1 _ 'winemenubuilder.exe' 00000065 1 _ 'winemenubuilder.exe' 0000003e 8 _ 'rpcss.exe' ... --- snip ---
After dismissing the 'finish' button, the parent process terminates and the out-of-proc COM server is now orphaned:
--- snip --- Wine-dbg>info process pid threads executable (all id:s are in hex) ... 00000022 12 'IDriver.exe' 00000080 1 _ 'MPDocSelect.exe' 00000068 1 _ 'winemenubuilder.exe' 00000061 1 _ 'winemenubuilder.exe' 00000054 1 _ 'winemenubuilder.exe' 0000004e 1 _ 'winemenubuilder.exe' 00000038 1 _ 'winemenubuilder.exe' 00000065 1 _ 'winemenubuilder.exe' 0000003e 8 _ 'rpcss.exe' ... --- snip ---
There is an 'oleaut32.ProxyIUnknown_Release' call on the server interface before the final 'CoUninitialize' which should ideally allow the server to terminate (instanciated with 'CoCreateInstance').
Interestingly if one cancels the main installer half-way through the install process, the COM server terminates properly.
$ sha1sum mp760a.zip b84d66ae8b0a58d895e6d85be289b16f66efe009 mp760a.zip
$ du -sh mp760a.zip 42M mp760a.zip
$ wine --version wine-1.7.25
Regards