Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

InstallShield hanging #226

Open
d00nicus opened this issue Mar 17, 2019 · 44 comments
Open

InstallShield hanging #226

d00nicus opened this issue Mar 17, 2019 · 44 comments

Comments

@d00nicus
Copy link

Attempting to install multiple programs that use the old InstallShield (that requires a 16 bit stub) results in the messages below, and a frozen progress bar

version: 1070 5ca8:fixme:module:LoadModule_wine_implementation 1299: Strange error set by CreateProcess: 740 04fc:err:file:RedirectDriveRoot 166: c:\stopthis.now => C:\otvdm\c\stopthis.now

After the CreateProcess error, a UAC elevation prompt appears, and once acknowledged, the second error will appear (sometimes multiple times depending on the version of InstallShield.

(X-Wing vs TIE Fighter, or A-10 Cuba! are two of the programs I've seen this with so far, but I'd expect any InstallShield installer of the same age to behave the same as it was pretty standardised)

@skipnyip
Copy link

skipnyip commented Dec 5, 2019

This issue appears to still be present in V0.7.0

version: 1056
6414:fixme:module:LoadModule_wine_implementation 1299: Strange error set by CreateProcess: 740
11d8:err:file:RedirectDriveRoot 166: c:\stopthis.now => C:\OTVDM-~1\c\stopthis.now
11d8:err:file:RedirectDriveRoot 166: c:\stopthis.now => C:\OTVDM-~1\c\stopthis.now

@cracyc
Copy link
Contributor

cracyc commented Dec 6, 2019

@skipnyip
Copy link

skipnyip commented Dec 6, 2019

cracyc,

Thanks for the updated version. I gave it a shot, but it appears the issue is still present. Thanks.

version: 1552
019c:err:file:RedirectDriveRoot 166: C:\AUTOEXEC.BAT => C:\OTVDM-~2\C\AUTOEXEC.BAT
534c:fixme:module:LoadModule_wine_implementation 1317: Strange error set by CreateProcess: 740
6a0c:err:file:RedirectDriveRoot 166: c:\stopthis.now => C:\OTVDM-~2\c\stopthis.now
6a0c:err:file:RedirectDriveRoot 166: c:\stopthis.now => C:\OTVDM-~2\c\stopthis.now

@cracyc
Copy link
Contributor

cracyc commented Dec 7, 2019

I tried A10 cuba and the zork nemesis demo that comes with it and neither showed any problem. I'd need more info, which software causes the problem for you, your windows version, etc and a trace to attempt to solve it.

@skipnyip
Copy link

skipnyip commented Dec 8, 2019

https://drive.google.com/open?id=1iugUzHHUr9ojL2887gCIgfjmUXMXMp4Y is the program I'm trying to run. This is on a Windows 10 Pro laptop, as well as a Windows 10 Home 1903.

\08.02\rslogix5000_v8_02_2001_06_14\ENGLISH\RSLogx5k\setup.exe
and
\08.02\cflash_rs5k_v8_megabundle_2001_06_14\setup.exe
have similar issues.

I will admit that I don't actually know how to provide you with a trace.

Thanks

Edit:

So, on my home computer, it ended up launching, but it took quite while, and it actually launched after I had closed out of otvdm.exe. I'm looking at it closer, and this time the progress bar in the Setup is actually making progress, but seems to chunk every time a new stopthis.now message is displayed. Let me try this again on my pro computer, but it will be after Wednesday.

Thanks again.

@cracyc
Copy link
Contributor

cracyc commented Dec 8, 2019

Strange. For me it goes quickly and only shows the message once. The cflash installer prints a error after the 32bit part run another 16bit program unelevated so it doesn't work properly but the program does install, don't know if it works. The rslogix installer prints a lot of dll errors but it's a 32bit dll so there's nothing that winevdm can do about it. To do a trace "set WINEDEBUG=+relay" then run otvdm.exe from the command line. It's very verbose so you'll want to redirect stderr with "2> out.txt".

@OldClassicGamer
Copy link

I have exact same problem.

@cracyc
Copy link
Contributor

cracyc commented Sep 30, 2020

Again, need a trace.

@OldClassicGamer
Copy link

How to provide a trace?
The above description "set WINEDEBUG=+relay" then run otvdm.exe from the command line does not help me as I still don't understand how to do it. Any chance you can post some tutorial with screenshots?

@agreatwizard
Copy link

I am getting the same error trying to install Autocad 14.

@Piotr333
Copy link

Piotr333 commented Jan 24, 2021

I had the same.
The solution is.
Run cmd.exe as administrator. cmd.exe is located in C: \Windows\System32
Write if it solved the problem.

@slapshot2213
Copy link

I am getting the same error trying to install SimTower.

@cracyc
Copy link
Contributor

cracyc commented Feb 14, 2021

Again, i can't reproduce this. It can't get fixed without a detailed trace.

@OldClassicGamer
Copy link

Again, I can't reproduce this. It can't get fixed without a detailed trace.

And you still did not tell me how can I provide a detailed trace?
I asked this back on September 30 2020 and you ignored me.
How am I supposed to provide a detailed trace when I don't know how to do it?
This is clearly a widespread problem that is happening to multiple people and you don't tell us how to provide detailed trace.
Sorry if I sound rude but I think it's rather unprofessional to ignore instead of guiding others on how to provide this detailed trace that you need in order to tell us how to fix it...

@cracyc
Copy link
Contributor

cracyc commented Feb 15, 2021

It's described in the issue template which are the steps to take before reporting a bug. https://github.com/otya128/winevdm/blob/master/.github/ISSUE_TEMPLATE/bug_report.md

@OldClassicGamer
Copy link

It's described in the issue template which are the steps to take before reporting a bug. https://github.com/otya128/winevdm/blob/master/.github/ISSUE_TEMPLATE/bug_report.md

And I did check that and here is what I responded last year about it:

"How to provide a trace?
The above description "set WINEDEBUG=+relay" then run otvdm.exe from the command line does not help me as I still don't understand how to do it. Any chance you can post some tutorial with screenshots?"

The issue template on that page is confusing and many people don't understand what to do. Please provide detailed screenshots with an explaination.

@danemtsov
Copy link
Contributor

General note: It wouldn't harm to know essentials like e.g. how to work with a command prompt, a bit of batch etc. before messing with system internals like smuggling in a 16bit Windows layer. Then the description in the issue template should be detailed enough.

But in case you've never worked with a command prompt/shell window before:

  1. Run the command prompt.

✏️ Press Win + R, type "cmd" then press Enter
... or just search for it.

1.5. You might want to change the current directory of the command prompt. Type

cd *path-to-new-directory*

into the command prompt and hit Enter.
Note: Paths that contain spaces must be enclosed in " ".

  1. Set the environment variable:
set WINEDEBUG=+all,-snoop,-ldt,-fixup,-module,-global,-local,-disasm,-syslevel,-thunk

✏️ This is what you type (or just paste) into your command prompt. Hit Enter. Basically this environment variable tells winevdm which events should be logged.
Apparently for this issue you need

set WINEDEBUG=+relay

instead as crayc wrote in an earlier comment.

*old-executable-file* 2> trace.txt

✏️ Run your old executable: Insert the path to the 16bit exe you're trying to run. 2> trace.txt will redirect the standard error stream to the file trace.txt in the current directory of your command prompt.

3.5. After your're done running the exe you can open Windows Explorer in the current directory with

explorer .
  1. Upload trace.txt here.

... just drag the trace file into the attachment area below the GitHub comment box. Or use a link to Dropbox or the like since these trace files can get quite big.

@Zero3K
Copy link

Zero3K commented Dec 3, 2021

Here's the requested trace.txt made using v0.8.1 of otvdm:

trace.txt

@Mysteli
Copy link

Mysteli commented Feb 8, 2022

I have almost the exact same error on another InstallShield. otvdm v0.8.1
Installer file year: mid-1997

Here is the trace for it if it helps:
trace-2.txt

@robrich82
Copy link

robrich82 commented Apr 27, 2022

I'm also getting this problem in several InstallShield setup instances, I've done a trace which I've attached. Using the 2293 build.

trace.txt

@cracyc
Copy link
Contributor

cracyc commented Apr 27, 2022

This one is different. The other traces show winexec returning immediately which I can't explain or reproduce but @robrich82, yours shows that the elevation prompt should be shown. Are you getting an elevation prompt.

@robrich82
Copy link

I couldn't remember if I saw the prompt or not, I've re-run it and I definitely saw the prompt and chose yes. Attached is the new trace:
trace2.txt

@DoubleF3lix
Copy link

I'm also having this issue. It gets stuck at 45% and sometimes I get spammed with be60:err:file:RedirectDriveRoot c:\stopthis.now => D:\Documents\otvdm-v0.8.1\c\stopthis.now in the console

@jakopo87
Copy link

Using "Analyze Wait Chain" on the process in the Details tab of the Task Manager may show who is causing the installer to hang.

@DoubleF3lix
Copy link

DoubleF3lix commented May 20, 2022

otvdm.exe (PID: 55564) Thread: 72356
  _INS0432._MP (PID: 42136) Thread: -

I also get these errors:

b4f4:err:winevdm:set_peb_compatible_flag user32.dll has already been loaded. (Anti-virus software may be the cause.)
b4f4:err:winevdm:set_peb_compatible_flag Some compatibility flags can not be applied.
version: 2161
fb68:err:task:cwd_warning could not get 8.3 filename. D:\Downloads\life
fb68:fixme:module:LoadModule_wine_implementation Strange error set by CreateProcess: 740
11aa4:err:task:cwd_warning could not get 8.3 filename. D:\Downloads\life
6928:err:task:cwd_warning could not get 8.3 filename. D:\Downloads\life
6928:err:file:RedirectDriveRoot c:\stopthis.now => D:\Documents\otvdm-v0.8.1\c\stopthis.now

Where the bottom one keeps repeating

@cracyc
Copy link
Contributor

cracyc commented May 20, 2022

_INS0432._MP (PID: 42136) Thread: -

This is a win32 process so otvdm is waiting on something out of it's control.

6928:err:task:cwd_warning could not get 8.3 filename. D:\Downloads\life

Winevdm can't properly work on files in a directory without an 8.3 filename.

@cracyc
Copy link
Contributor

cracyc commented May 21, 2022

I was able to half-repo this by running the simcity 2000 installer while a program was paused in the debugger. Installshield is calling SendMessageA with a -1 hwnd which sends a broadcast message to all windows. If there is a window that is not handling messages properly the win32 part of the installer will hang, this only applies for installers which show the elevation prompt. There's nothing that winevdm can do to fix this particular problem since the issue is in win32.

@PenguinIsrael
Copy link

my fix was to uninstall otvdm (cancel the registry edit) and run Winevdmw as administrator (without installing otvdm)

I tried running Timmy's sea Advernture but otvdm couldn't have the rights to install (i guess), and i couldn't run the installation as administartor, canceling the registry key and just using winevdmw as administartor fixed it. Thanks!

@virtualflesh
Copy link

virtualflesh commented Jan 13, 2024

otvdm.exe worked flawlessly for me. An install shield application was exhibiting the stalling behavior expressed above, though the install shield application window was responsive, somewhere around 40% the install shield was stalled. I enabled application tracing as described above, but the trace file clearly showed nothing wrong with otvdm.exe. The root cause, which had nothing to do with otvdm.exe, was a conflict between the install shield application and an unrelated running service. I recommend closing as many Windows services as possible before using otvdm.exe. I solved this problem on Windows 10 by exiting the Steam and Epic Games Launcher services. Utilizing the Task Manager process details, I right-clicked on the stalled install shield application and selected "Analyze wait chain". The 16-bit installer was waiting on MagnetEngine.exe (a Steam service) which was also tied into the EpicGamesLauncher.exe, a separate game portal service. Not sure of their dependency, but closing both permitted the install shield to complete. your mileage may vary.

@cracyc
Copy link
Contributor

cracyc commented Jan 14, 2024

I wrote installshieldfix to fix a problem where the win32 part of installshield calls SendMessage(HWND_BROADCAST) and some other window fails to pump it's message queue causing a hang. That might be the same problem that you are seeing.

@robrich82
Copy link

How does installshieldfix work? Do you just run it if it hangs?

@cracyc
Copy link
Contributor

cracyc commented Jan 14, 2024

Get https://github.com/cracyc/installshieldfix/releases/tag/v1.1 then unzip it to your winevdm directory. Uncomment "ElevationShim=isfixload.exe" in otvdm.ini but change it to include the full path to isfixload.exe.

@LordGlarthir
Copy link

Get https://github.com/cracyc/installshieldfix/releases/tag/v1.1 then unzip it to your winevdm directory. Uncomment "ElevationShim=isfixload.exe" in otvdm.ini but change it to include the full path to isfixload.exe.

I get 2 virus detection warnings by downloading this :O

@emendelson
Copy link

Half the malware vendors flag as malicious anything that goes deep into the OS the way this does. You have to decide for yourself whether it's likely that anything posted on this page is actually dangerous. (Hint: it isn't.)

@JohanLeirnes
Copy link

#226 (comment)
This helped me, for me it was overwolf on my pc that hanged the app

@ZaDarkSide
Copy link

Get https://github.com/cracyc/installshieldfix/releases/tag/v1.1 then unzip it to your winevdm directory. Uncomment "ElevationShim=isfixload.exe" in otvdm.ini but change it to include the full path to isfixload.exe.

I can confirm this is working for InstallShield Wizard Setup.exe it should be included by default in otvdm if you ask me

@RefriZaddo
Copy link

Get https://github.com/cracyc/installshieldfix/releases/tag/v1.1 then unzip it to your winevdm directory. Uncomment "ElevationShim=isfixload.exe" in otvdm.ini but change it to include the full path to isfixload.exe.

it didn't fix it for me :(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests