Need setup.exe to read setup.ini--repackage or not?
Okay, I'm using Corel WP X3.
I've made the transform and everything works fine.
However, I need to also make a CD to give to people to install when they're not on the network.
Corel provides a setup.exe which reads a setup.ini
However, I cannot get the stupid setup.ini to recognize the transform file I made (no errors show up, it just totally ignores it).
I don't want to resort to telling users to type in:
msiexec [path to msi file] TRANSFORMS=[path to transform]
because well, they're users and will mess it up
So do I somehow use Admin Studio to build a setup.exe that calls the above stuff (if so, how do I get it to "know" which drive the CD is?)
Or is there a way to get the setup.exe in Corel (which appears to be an installshield wrapper already) to properly call the transform file?
I thought I could just modify this line in the setup.ini:
[Startup]
CmdLine=TRANSFORMS=SETUP_x32.MST /L* %temp%\WPO13.log AUTOLOG="%temp%\WPO13.log"
But that apparently doesn't really do anything because it installs the software with the wrong settings (like it's ignoring the transform all together).
I've made the transform and everything works fine.
However, I need to also make a CD to give to people to install when they're not on the network.
Corel provides a setup.exe which reads a setup.ini
However, I cannot get the stupid setup.ini to recognize the transform file I made (no errors show up, it just totally ignores it).
I don't want to resort to telling users to type in:
msiexec [path to msi file] TRANSFORMS=[path to transform]
because well, they're users and will mess it up
So do I somehow use Admin Studio to build a setup.exe that calls the above stuff (if so, how do I get it to "know" which drive the CD is?)
Or is there a way to get the setup.exe in Corel (which appears to be an installshield wrapper already) to properly call the transform file?
I thought I could just modify this line in the setup.ini:
[Startup]
CmdLine=TRANSFORMS=SETUP_x32.MST /L* %temp%\WPO13.log AUTOLOG="%temp%\WPO13.log"
But that apparently doesn't really do anything because it installs the software with the wrong settings (like it's ignoring the transform all together).
0 Comments
[ + ] Show comments
Answers (7)
Please log in to answer
Posted by:
nheim
17 years ago
Hi kjhurni,
to find out the parameters that are passed from the setup.exe to the MSI, you have to turn on the installer logging (http://itninja.com/question/what-is-pxe?3).
After that find the log (lies in the users temp folder) and open it. Find the line 'MSI (c) (xx:xx) [xx:xx:xx:xxx]: Command Line:..'. There, you find the properties, which are passed from the setup.exe to the MSI.
Hope this points you in the right direction.
Regards, Nick
to find out the parameters that are passed from the setup.exe to the MSI, you have to turn on the installer logging (http://itninja.com/question/what-is-pxe?3).
After that find the log (lies in the users temp folder) and open it. Find the line 'MSI (c) (xx:xx) [xx:xx:xx:xxx]: Command Line:..'. There, you find the properties, which are passed from the setup.exe to the MSI.
Hope this points you in the right direction.
Regards, Nick
Posted by:
turbokitty
17 years ago
Posted by:
JdotQ
17 years ago
I have also found that apps that use a setup.exe and reference an ini file -- the properties in the ini file can be directly entered in the Property table of the transform.
For example, a package I just recently created for RightFax was setup in the same fashion you are describing; setup.exe and setup.ini
(from the setup.ini)
If you break out each value and make separate entries in the properties table of the transform, I was able to preserve the same desired result;
In the properties table;
I'm not sure if this is true for all setup.exe and setup.ini's - but worth a try. This way you can retain the transform and incorporate the properties of the ini
*EDIT*
So using part of your string as an example; AUTOLOG="%temp%\WPO13.log"
You would create an entry in the Properties table...
Property: AUTOLOG
Value: "%temp%\WPO13.log"
For example, a package I just recently created for RightFax was setup in the same fashion you are describing; setup.exe and setup.ini
(from the setup.ini)
[Startup]
CmdLine=/qn SERIALNUM=123456 INSTALL_FAXUTIL=TRUE INSTALL_FAXCTRL=TRUE INSTALL_OUTLOOK=TRUE ALLUSERS=1 RFSERVERNAME=RIGHTFAX
If you break out each value and make separate entries in the properties table of the transform, I was able to preserve the same desired result;
In the properties table;
Property: SERIALNUM
Value: 123456
Property: INSTALL_FAXUTIL
Value: TRUE
Property: INSTALL_FAXCTRL
Value: TRUE
Property: INSTALL_OUTLOOK
Value: TRUE
Property: ALLUSERS
Value: 1
Property RFSERVERNAME
Value: RIGHTFAX
I'm not sure if this is true for all setup.exe and setup.ini's - but worth a try. This way you can retain the transform and incorporate the properties of the ini
*EDIT*
So using part of your string as an example; AUTOLOG="%temp%\WPO13.log"
You would create an entry in the Properties table...
Property: AUTOLOG
Value: "%temp%\WPO13.log"
Posted by:
kjhurni
17 years ago
ORIGINAL: turbokitty
Well, you can't really compile a setup.exe with Installshield without reverse engineering the MSI.. and you shouldn't do that.
Why don't you just create a Install.cmd file with your msiexec commandline and get your users to run that?
Really? Isn't that what package for the web and stuff is for? Taking an MSI file and "making" a runtime setup.exe installshield wrapper?
Posted by:
kjhurni
17 years ago
Posted by:
spartacus
17 years ago
Or alternatively you could try using the /v qualifier to the original setup.exe and specify the transform there. Read the following InstallShield article extract below :
[font="Courier New"]Passing Parameters to the .msi File Within Setup.exe
If you include Setup.exe as part of your setup, you may need to pass command-line parameters to the .msi package stored within Setup.exe. To pass arguments to the .msi file, use the /v option. Once you specify this option, you can list any of the supported parameters that can be passed to Msiexec.exe. For example, to apply a transform, enter the following:
Setup.exe /v"TRANSFORMS=\"C:\Transforms\My Transform.mst\""
There are a few special formatting rules that you need to follow when passing a parameter in this way. First, you need to place a backslash (\) in front of any quotation mark that resides within existing quotes. For example, the command line above contains the following: /v"TRANSFORMS=/"C:\Transforms\My Transform.mst/"". Because the path to the transform is a long path, you need to use quotes. However, since you need to have quotes around the complete argument, the command-line statement fails if you do not use the [slash] in front of all internal quotes.
Another formatting rule dictates that there cannot be a space between the command-line option (/v) and the arguments that you are passing, as illustrated in the example above.
Finally, if you are passing multiple parameters using the /v option, you need to separate them with a space—for example, Setup.exe /v"TRANSFORMS=\"C:\Transforms\MyTransforms.mst\" /qn". This command applies a transform and runs the setup silently.
Full article is here
Regards,
Spartacus
[font="Courier New"]Passing Parameters to the .msi File Within Setup.exe
If you include Setup.exe as part of your setup, you may need to pass command-line parameters to the .msi package stored within Setup.exe. To pass arguments to the .msi file, use the /v option. Once you specify this option, you can list any of the supported parameters that can be passed to Msiexec.exe. For example, to apply a transform, enter the following:
Setup.exe /v"TRANSFORMS=\"C:\Transforms\My Transform.mst\""
There are a few special formatting rules that you need to follow when passing a parameter in this way. First, you need to place a backslash (\) in front of any quotation mark that resides within existing quotes. For example, the command line above contains the following: /v"TRANSFORMS=/"C:\Transforms\My Transform.mst/"". Because the path to the transform is a long path, you need to use quotes. However, since you need to have quotes around the complete argument, the command-line statement fails if you do not use the [slash] in front of all internal quotes.
Another formatting rule dictates that there cannot be a space between the command-line option (/v) and the arguments that you are passing, as illustrated in the example above.
Finally, if you are passing multiple parameters using the /v option, you need to separate them with a space—for example, Setup.exe /v"TRANSFORMS=\"C:\Transforms\MyTransforms.mst\" /qn". This command applies a transform and runs the setup silently.
Full article is here
Regards,
Spartacus
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.