This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- 64 bit Custom Action
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎May 20, 2011
03:05 PM
64 bit Custom Action
I have a number of InstallScript custom actions in a Basic MSI 64-bit project that call the LaunchAppAndWait() function. In the task manager, I notice that during custom actions when LaunchAppAndWait is called, a new process named "msiexec.exe *32" is created. The existing msiexe processes are just named "msiexec.exe". Does this mean LaunchAppAndWait is using a 32-bit call to the command line?
I tried using Disable(WOW64FSREDIRECTION) before calling LaunchAppAndWait(), but it didn't seem to make a difference.
Does anyone know why this seems to be calling a 32-bit msiexec process? Is there a way to ensure a 64-bit call?
I tried using Disable(WOW64FSREDIRECTION) before calling LaunchAppAndWait(), but it didn't seem to make a difference.
Does anyone know why this seems to be calling a 32-bit msiexec process? Is there a way to ensure a 64-bit call?
(5) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎May 23, 2011
01:53 PM
Since the InstallScript engine is currently 32-bit, it must be run in a 32-bit host. There is no way to avoid this at this time other than switching scripting technologies. However if you are launching another process, the actual path should be used; what problems are you encountering and have you diagnosed them to be a 32-bit vs 64-bit issue?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎May 24, 2011
11:52 AM
I used LaunchAppAndWait() to launch a .exe to unzip some compresssed files I have, for example. In the task manager, the process listed when this occurs is "msiexec.exe *32".
The problem I sometimes have, and I think this actually happens to me on 32-bit as well, is the msiexec.exe process that is created as a result of LaunchAppAndWait() hangs. It takes up all of the CPU, and only after I kill the process does the rest of the installation continue. I'm not sure why this is happening, is this a common issue?
I'm worried because it doesn't seem like something that can be addressed through my InstallScript code. And although it only happens occasionally, it's occurred when I've called different things as arguments for LaunchAppAndWait(), so I don't think it's the program I'm calling.
The problem I sometimes have, and I think this actually happens to me on 32-bit as well, is the msiexec.exe process that is created as a result of LaunchAppAndWait() hangs. It takes up all of the CPU, and only after I kill the process does the rest of the installation continue. I'm not sure why this is happening, is this a common issue?
I'm worried because it doesn't seem like something that can be addressed through my InstallScript code. And although it only happens occasionally, it's occurred when I've called different things as arguments for LaunchAppAndWait(), so I don't think it's the program I'm calling.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎May 24, 2011
04:47 PM
While the custom action that is running this script method would be hosted in an msiexec process, LaunchAppAndWait shouldn't launch an additional one unless it's launching msiexec.exe. Instead it should launch whatever program the parameters specify.
What flags are you passing - could any of them cause the problems you're encountering? Are you launching a program that doesn't terminate? Does LaunchAppAndWait return (try putting a MessageBox call after it)? Have you tried using LaunchApplication instead of LaunchAppAndWait?
What flags are you passing - could any of them cause the problems you're encountering? Are you launching a program that doesn't terminate? Does LaunchAppAndWait return (try putting a MessageBox call after it)? Have you tried using LaunchApplication instead of LaunchAppAndWait?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎May 24, 2011
05:25 PM
The program I'm launching is 7za.exe, the executable for 7zip compression utility, so I'm just unzipping a file.
I need to wait for the unzip to finish before proceeding with the rest of the installation, so I need to use LaunchAppAndWait. And it does seem like a new msiexec.exe process is being created when the CA is being executed.
I can run the install several times and not hit a problem, but then occasionally it gets an issue, such as in the log, where it couldn't close the MSIHANDLE. Is there something I'm supposed to do to close the MSIHANDLE that is being passed into a custom action?
szApp = szPath^"7za.exe";
szCmd = " x " + szSource + " " + "-o" + szDestination + " -y";
LaunchAppAndWait(szApp, szCmd, WAIT | LAAW_OPTION_HIDDEN)
I need to wait for the unzip to finish before proceeding with the rest of the installation, so I need to use LaunchAppAndWait. And it does seem like a new msiexec.exe process is being created when the CA is being executed.
I can run the install several times and not hit a problem, but then occasionally it gets an issue, such as in the log, where it couldn't close the MSIHANDLE. Is there something I'm supposed to do to close the MSIHANDLE that is being passed into a custom action?
![](/skins/images/D60DF682EA37BF37032955CE10F3F0BB/responsive_peak/images/icon_anonymous_message.png)