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).
0 Comments   [ + ] Show Comments

Comments

Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

Answers

0
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?
Answered 03/14/2007 by: turbokitty
Sixth Degree Black Belt

Please log in to comment
0
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)

[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"
Answered 03/14/2007 by: JdotQ
Senior Purple Belt

Please log in to comment
0
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?
Answered 04/02/2007 by: kjhurni
Orange Belt

Please log in to comment
0
Yeah, in this case I only want it to read the transform file, but apparently the command line doesn't work that way.

I'll keep plugging along though.
Answered 04/02/2007 by: kjhurni
Orange Belt

Please log in to comment
2
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
Answered 04/03/2007 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
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
Answered 04/03/2007 by: spartacus
Black Belt

Please log in to comment
0
Thanks everyone!

I'll let you know what I find out.
Answered 04/03/2007 by: kjhurni
Orange Belt

Please log in to comment
Answer this question or Comment on this question for clarity