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

Reply via email to