djskeezmo
26th November 2004 16:41 UTC
Installer skipping over Windows Installer Package
I have about 9 files that I am installing in my installer, and all of the exe files are working fine. But the MYSQL Database installer is an msi file, and it extracts it or says it is, and then skips over it.
Any ideas any one. Does NSIS not permit Windows Installer Packages (.msi)??
Thanks in advance...
kichik
26th November 2004 16:47 UTC
Extracts and then skips over it? What do you mean? Do you mean it doesn't execute it? If you attach your script or a minimal example, it'll be easier to see what the problem is.
djskeezmo
26th November 2004 16:51 UTC
ok. this is the section code:
Section "MySQL 4.1" SecDATA
SectionIn RO
SetOutPath "$INSTDIR"
File "..\Examples\MYSQLInstall.msi"
ExecWait '"$INSTDIR\MYSQLInstall.msi"'
SetDetailsPrint textonly
DetailPrint "Installing MySQL Database 4.1..."
SetDetailsPrint listonly
Delete "$INSTDIR\SAMInstall.exe"
SectionEnd
And what it does in the installer is it says Extract MYSQLInstall.msi (Then the PErcentages going up) Then it says Execute MYSQLInstall.msi...Then Installing MYSQL Database 4.1 for a quick second. Then Skips over to the next installer.
I am very confused. I would be happy to post my installer up here, but it is a pretty large file.
scrose
26th November 2004 16:55 UTC
ExecWait '"$WINDIR\System32\msiexec.exe" /i "$INSTDIR\MYSQLInstall.msi"'
kichik
26th November 2004 16:59 UTC
That's because a MSI installer is not really an executable. You can install it using msiexec.exe which is a real executable.
djskeezmo
26th November 2004 17:02 UTC
Thank you so much everybody. It worked.
scrose
26th November 2004 17:04 UTC
Of course, this will only work if the Windows Installer is... well... installed. You probably need to check some obscure setting in the registry to determine if it is installed. Microsoft might provide some information about it.
djskeezmo
26th November 2004 17:13 UTC
they should all have it installed considering this installer is only for windows xp. The other programs dont work on anything lower.
scrose
26th November 2004 18:38 UTC
If it is not necessary to have the installer wait, this will also work.
ExecShell "Open" "$INSTDIR\MYSQLInstall.msi"