Msiexec error 1639

Started by Randem, May 02, 2010, 08:35:48 AM

Previous topic - Next topic

Randem

You are very welcome, I am glad that I could help.

overlynifty

Thank you for the fix. It appears to be working now.

Randem

This will put the double quotes into the line where they are needed.
 

Randem

For an external installation the norm for {src} would be the root folder, that is why the line did not need the double quotes. If your {src} translated to a folder with spaces then yes you need the double quotes or the folder name would be taken as two parameters instead of one.

Randem

You would include double quotes around the path in the script. The original line did do that but I guess it did not encompass everything.

overlynifty

The problem WAS with the path to the msi file. Because there were spaces in the name I had to include double-quotes around the path. After a lot of trial and error I got it to work. I changed my script from ...
 
Filename: msiexec.exe; Parameters: /package {src}SupportCR9_RDC_Redistribution.msi /passive /promptrestart /l* {tmp}crmsilog.txt; WorkingDir: {tmp}; Flags: skipifdoesntexist runascurrentuser
 
... to this ...
 
Filename: msiexec.exe; Parameters: /package {src}SupportCR9_RDC_Redistribution.msi /passive /promptrestart /l* {tmp}crmsilog.txt; WorkingDir: {tmp}; Flags: skipifdoesntexist runascurrentuser

overlynifty

I think I found the problem. There are spaces in the folder names to the path of my msi file. How do I include double-quotes around that part of the script?

overlynifty

I can't force my customers to upgrade their OS just to install my software. Some of them are on business systems and #1) they won't have the admin rights and #2) the business may not want to upgrade because of other software they have. They should be running at a minimum of sp2 on xp. So what I am assuming you are saying is that I will have to check to see what version of msiexec they have and execute an appropriate call to the msi ??? How do I do that?

Randem

I see your OS is out of date. You are still on Service Pack 2. Any reason you are not on Service Pack 3?
 
Your Windows Installer is also out of date V 3.01.4000.1823 you should be using V 4.5.6001.22159. You should update windows to get the proper version.
 
Ref: https://randemsystems.support/expert-computer-repair/virus-problems/
 
Check this option first before going further...

overlynifty

and just so you know I am testing on a vmware machine running windows xp sp2. I reset the machine before each install so I am testing the install on a fresh machine each time.

overlynifty

This did not seem to fix the problem. When I run my installer it still gives me the 1639 error in the log file. When the install package tries to run I get a dialog on my screen with the text below and I have to press OK to continue. I have also included my install script. At the bottom of this message I included the last part of the install log which shows the 1639 error.
 
Windows

Randem

This is the correction for this error. Replace your InnoScript.exe file with this one:
 

Randem

See if this will work?
 
Filename: msiexec.exe; Parameters: /package {src}\Support\CR9_RDC_Redistribution.msi /passive /promptrestart /l* {app}\crmsilog.txt; WorkingDir: {tmp}; Flags:  
 
What version of Inno Setup are you using?
What version of InnoScript are you using?
 
If you want InnoScript to put {src}\Support in the line just unclick the Internal Installs button in the Options tab

overlynifty

I am installing the crystal reports 9 merge module the way that innoscript created it. It added the following line to my RUN section
 
Filename: msiexec.exe; Parameters: /package {src}SupportCR9_RDC_Redistribution.msi /passive /promptrestart /l* {app}crmsilog.txt; WorkingDir: {tmp}; Flags: skipifdoesntexist runascurrentuser; StatusMsg: Installing Support for Reporting Libraries
 
I am getting a 1639 error in my install log which indicates the parameters are invalid for the msiexec call. I am not sure what is invalid. Does anyone see anything wrong with the line above? The only thing I change was I added {src}Support to the beginning of the msi filename so that it could be found by the installer.