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?
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)
Please log in to answer
Posted by:
anonymous_9363
16 years ago
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
Posted by:
joedown
16 years ago
Posted by:
KPrinz
16 years ago
Posted by:
jmcfadyen
16 years ago
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.
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
ORIGINAL: KPrinzFor 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.
The backslash acts as a notifier of a special caracter following.
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.