No. My customer is using a 3rd party shell type application (Total Commander) that happens to be 32-bit to run the setup. When launching the MSI from there, it gets the error. The MSI log shows the calling process is Msiexec.exe in the SysWow64 folder, so it is the 32-bit one. This also happens when using a chat program and sending a link to the msi file. When the chat program launches the app, it must be using the 32-bit one as well.
The really weird part is we have our own setup exe wrapper based on the setupexe in Wix. It's a 32-bit executable. When you launch the wrapper EXE from Explorer, it works fine, but it still fails when launched from the same 32-bit shell program. I don't see how the parent process of my own 32-bit process would make a difference to which version of MSI gets called. Using process monitor it looks like msiexec finds the file in C:\Windows\system32 (real one), but then later it checks for the file in C:\Windows\SysWow64 and gets error 2 (file not found). So it looks like a bug in 32-bit MSI not calling the redirection functions properly. Thanks, Mike Ballou -----Original Message----- Are you actually launching msiexec.exe? The one in the SysWow64 folder rather than the 64-bit one? Phil Wilson -----Original Message----- From: Michael Ballou [mailto:mbal...@ee...] Sent: Monday, July 13, 2009 2:47 PM To: wix-us...@li... Subject: [WiX-users] 32-bit app launching 64-bit MSI problem I have a simple 64-bit MSI that I made install 1 64-bit dll to System64 folder. Under the following circumstances, MSI gets an error: 1. That file already exists in the real C:\Windows\System32 folder 2. The install is launched through a 32-bit app (not explorer.exe). Anything that can launch another process will show this problem. During CostFinalize, the following error occurs: DEBUG: Error 2324: Could not open file: C:\Windows\system32\myfile64.dll GetLastError: 2 If I also put a file with the same name in the C:\Windows\SysWOW64 folder, then the install continues on. The MSI is makred to be install on x64 platforms and the component is marked with Win64="yes". It seems when a 32-bit app launches msiexec.exe, MSI gets confused about where the file should be. Can anyone clarify what's happening here and if there is any fix or workaround? Thanks, Mike Ballou ------------------------------------------------------------------------------ Enter the BlackBerry Developer Challenge This is your chance to win up to $100,000 in prizes! For a limited time, vendors submitting new applications to BlackBerry App World(TM) will have the opportunity to enter the BlackBerry Developer Challenge. See full prize details at: http://p.sf.net/sfu/Challenge _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users