PDA

View Full Version : Problem with path to MSI



leesouth
06-16-2006, 04:35 AM
I am trying to run another MSI installation from within my InstallScript Project but Im having problems.

I have something along the lines of:


#define FLASH SRCDIR^"install_flash_player_active_x.msi"
#define MSIEXEC WINSYSDIR^"msiexec.exe"

if (LaunchAppAndWait ( MSIEXEC , FLASH , LAAW_OPTION_NOWAIT) < 0) then
//if (LaunchAppAndWait (MSIEXEC, "/i C:\InstallShield 12 Projects\PreReqs\Media\Release 1\Disk Images\Disk1\install_flash_player_active_x.msi", nWait) < 0) then
MessageBox ("Unable to launch "+ FLASH +".",SEVERE);
endif;

At execution time all I get is the MSIEXEC help dialog box or a message saying it MSIEXEC cannot find the MSI package. If I uncomment the 2nd LaunchAppAndWait command instead it seems to work fine.

I am guessing that the problem is that Installshield cannot correctly interpret the full path to the MSI executable. Assuming I have the MSI package I want to execute in SUPPORTDIR does anyone know what I should be defining FLASH as or can anyone see the problem?

Thanks

felltier-a
06-16-2006, 06:14 AM
Hi,

try

#define Flash SUPPORTDIR ^ "install_flash_player_active_x.msi"


Maybe the problem are the space characters in the path. You can try to embed quotation marks into the string. Using \"

for example

if (LaunchAppAndWait (MSIEXEC, "/i \"C:\InstallShield 12 Projects\PreReqs\Media\Release 1\Disk Images\Disk1\install_flash_player_active_x.msi\"", nWait) < 0) then
MessageBox ("Unable to launch "+ FLASH +".",SEVERE);
endif;

leesouth
06-16-2006, 06:40 AM
Hello - thanks for your reply.

Ive realised that the mistake Id made was not referring to the SupportDir variable properly and adding the files to the "Advanced/Disk 1" part of the Support Files window instead of the actual "English" Support Files section.

Thankyou for your help though.