/build/static/layout/Breadcrumb_cap_w.png

Two transforms?

I have an application I wish to have install silently (Kofax VRS 4.1) This is an install shield setup driven MSI. The setup supports silent installation and allows you to pass parameters to the msi. My problem is one of the property values I wish to set contains spaces. I can edit the MSI and put it in that way but I need to be able to change this value depending on the hardware that the software is going to support. Here is the install string:

setup.exe /S /V"/qr PARTNUMBER1=XX PARTNUMBER2=XXXX PARTNUMBER3=XXXX PRODUCT_CODE=XXXXXXXX SERIALNUMBER=XXXXX SCANNERTEXT=Panasonic KV-S3065CW SCANCOMPEXEPATH=Scanner Drivers\Panasonic\CI-KV-S3065CW.exe"

Adding extra quotes causes syntax errors.

The best solution would have been a transform but the setup.exe is hardcoded to use a transform called 1033.mst and if I try to pass the TRANSFORMS= property it errors out.

Any ideas on this or what the syntax would be for the above install string since I have property values that contain spaces that I cannot change?

0 Comments   [ + ] Show comments

Answers (6)

Posted by: anonymous_9363 16 years ago
Red Belt
0
It should be straightforward enough to use the MSI directly and edit the properties you want in your new transform, as well as including the required transform. What you need to do is find out what property the EXE is using in order to "know" if it was run by Setup.EXE. Normally with IS Setup.EXEs, this is ISSETUPDRIVEN. Setting that property to '1' in your transform fools the MSI into thinking that is was launched by Setup.EXE. In order to find it (if it's not ISSETUPDRIVEN), run Setup.EXE with logging: near the top of the log produced will be a line detailing the command line received by MSIEXEC.
Posted by: spartacus 16 years ago
Black Belt
0
Does the following work for you ?

setup.exe /S /V"/qr PARTNUMBER1=XX PARTNUMBER2=XXXX PARTNUMBER3=XXXX PRODUCT_CODE=XXXXXXXX SERIALNUMBER=XXXXX SCANNERTEXT=Panasonic KV-S3065CW SCANCOMPEXEPATH=\"Scanner Drivers\Panasonic\CI-KV-S3065CW.exe\""

Regards,

Spartacus
Posted by: joedown 16 years ago
Third Degree Brown Belt
0
Thanks Spartacus! That works although I don't understand why and was unable to locate any examples of this.

I couldn't just run the MSI because the setup.exe is running some external executables and I did not wish to repackage this application since it is so complex and already an msi.
Posted by: KPrinz 16 years ago
Fourth Degree Green Belt
0
What you are doing is simple command line syntax. The backslash acts as a notifier of a special caracter following. If there isn't a special caracter following, it is treated as a regular character.
Posted by: jmcfadyen 16 years ago
5th Degree Black Belt
0
be careful using the EXE. Your better off extracting the MSI then executing that.

If you use EXE it will extract the source during installation to the TEMP folders. Then set the SOURCELIST to the temp folder.

2 months later some bozo will unknowingly delete the temp folder effectively making your MSI's useless in the terms of self healing.
Posted by: anonymous_9363 16 years ago
Red Belt
0
ORIGINAL: KPrinz

The backslash acts as a notifier of a special caracter following.
For the OP, this is known as an 'escape' character. BTW, Jon makes a valid point about the transient nature of your EXE's extraction location. So what if the EXE runs other EXEs: just call those in a CA in a transform applied to the MSI.
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ