#Shows how to set parameters with double-quotes by escaping them with `" #complicated InstallShield Setup.exe example The -WaitForMsiExec waits for the msiexec engine to become available before starting the installĮxecute-Process -Path "$dirFiles\Bin\setup.exe" -Parameters '/S' -WaitForMsiExec -WindowStyle Hidden (InstallShield will hang the script otherwise)Įxecute-Process -Path "setup.exe" -Parameters "/s /v`"ALLUSERS=1 /qn /L* \`"$logTempFolder\$installName.log\`"`" -SMS" #NOTE: -SMS is for InstallShield Setup.exe to suppress error popup dialogs if an issue occurs. #To Use " in the log path, InstallShield needs \" but PS needs to escape the " so we get \`" Force log files to the Temp logging folder. InstallShield Setup.exe EXAMPLES #Launch InstallShield Setup.exe with MSI(s) inside. What if the MSI is buried inside an EXE? Solution2: pass the parameters to the MSI inside the EXE This rarely works but may show you that there is no MSI inside the EXE to begin with. You might need to go through the install gradually but eventually you’ll see an MSI file appear.ĬAVEAT: If you end up going through the full install, you will need to copy it ASAP before the Setup.exe deletes the %TEMP% files. Launch the setup.EXE and watch the %TEMP% folder. Setup.exe /s /x /b"C:\FolderInWhichMSIWillBeExtracted" /v"/qn" ![]() Here are 3 methods to extract the MSI file from an EXE. Sometimes the setup.exe is called something else. You can try to extract the MSI (and maybe other files). What if the MSI is buried inside an EXE? Solution1: EXTRACTION! If it totally blows up then maybe it’s an old InstallShield Setup.EXE What if the Setup.exe is in the same folder as the MSI? Do I NEED to use it?ĩ0% of the time, NO. $AppMSIName = 'Filename.MSI' # actual name of the MSI in the \Files folder This way I can these variables in either Install or Uninstall phases. I usually place the following code before the $installPhase = 'Pre-Installation' line so I only need to do it once. ![]() I’ll try to update it as I can.įuture articles will talk about non-MSI packages and how to make them work in PSADT. Much of this is somewhat covered in the PSADT manual but techniques and logging is out of scope for the PSADT manual. ![]() This is the first of my Packager-Specific Tips
0 Comments
Leave a Reply. |