Jun 21, 2011 at 9:46 PM
Edited Jun 23, 2011 at 12:14 AM
When my dotnetinstaller generated installation (my installation calls a 64 bit or 32 bit .msi file depending on the OS architecture) is run on a 64 bit Windows and it is an upgrade from a previous version of my software, I get the following error:
"The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2324." (I do not get the error on a fresh install of my software, only an upgrade)
From the windows event viewer I see the installation is attempting to use one of my dll files that is in the c:\windows\system32 directory. This dll is loaded when the .msi file is executed. This dll does exist in the c:\windows\system32 directory I see
it when I navigate to this directory.
If I run the .msi file directly, the installation succeeds. If I remove the dll from the system32 directory and install via the dotnetinstaller generated setup executable, the installation succeeds. If I keep the dll file in the system32 directory and copy
the dll file to the syswow64 directory, the installation succeeds.
If I launch the msi using msiexec.exe it succeeds. However, if I launch the msi using c:\windows\syswow64\msiexec.exe I get the same error message as above. I notice that when I run my DNI installation and run task manager, that the 32 bit msiexec.exe is
running, not the 64 bit one.
I see from other posts that this could be related to the issue where a 32 bit DNI installation is attempting to run a 64 bit msi installer file. When I run the msi file directly, the 64 bit msiexec.exe file is executed. When I run the DNI installation, the
32 bit msiexec.exe file is executed. I thought that if I installed dotnetinstaller 2.0 Beta and set the "disable_wow64_fs_redirection *" flag to True, that this would fix my issue. It has not, the 32 bit version of msiexec.exe is still executed and I still
get the same error.
Can anyone help me figure out how to get around this issue?