customizing multiple MSI's in an application
Hi All,
I have an application with 4 wrapped MSI's inside the Exe, so i want to create a transform to one of the MSI and by using this transform i added all customer required entities then by using the custom action i should call the all other MSI's in the application
so,my question is how we can call other MSI's using a custom action
is there need to create transforms for all the three MSI's.
Please give me the reply for this.
thanks in advance.
I have an application with 4 wrapped MSI's inside the Exe, so i want to create a transform to one of the MSI and by using this transform i added all customer required entities then by using the custom action i should call the all other MSI's in the application
so,my question is how we can call other MSI's using a custom action
is there need to create transforms for all the three MSI's.
Please give me the reply for this.
thanks in advance.
0 Comments
[ + ] Show comments
Answers (9)
Please log in to answer
Posted by:
anonymous_9363
13 years ago
Nested MSIs are A Really Bad Idea. You will run into problems with patches and upgrades.
You don't necessarily need transforms for the other MSIs but only you can know that, after doing your test installs. For instance, many apps default to installing a limited set of features, whereas you may want to install them all. You can obviously do that from the command line but I prefer transforms.
For actual deployment, most deployment systems - inclusing Group Policy - allow you to deploy in a specific order, if that's required so use the MSIs/MSTs rather than the single EXE.
You don't necessarily need transforms for the other MSIs but only you can know that, after doing your test installs. For instance, many apps default to installing a limited set of features, whereas you may want to install them all. You can obviously do that from the command line but I prefer transforms.
For actual deployment, most deployment systems - inclusing Group Policy - allow you to deploy in a specific order, if that's required so use the MSIs/MSTs rather than the single EXE.
Posted by:
speedwsi
13 years ago
Posted by:
naveen.packager
13 years ago
Posted by:
anonymous_9363
13 years ago
How to call the other three MSI's using Custom Action.That would create the nested MSI scenario which I counselled you against!
can u send me the code for calling the other MSI's using Wise Script.Sorry, no, I can't. I don't do WiseScript, as I regard it as The Spawn Of The Devil.
From your last post, I get the impression that, once you have a wrapped sequence of MSIs, you're going to call the wrapper from within another MSI. Am I right? If so, you have once again the nested MSI scenario.
I repeat: just use the MSIs, with transforms if required, and deploy them separately using your deployment tool of choice. Keep It Simple!
Posted by:
speedwsi
13 years ago
Posted by:
anonymous_9363
13 years ago
so, why are u prefering this method than that of Wise script.Eh? A transform is a delta applied to an MSI. There is no connection with WiseScript whatsoever, in terms of what a transform does.
And what makes you think creating a transform is lengthy? A simple response transform can be created in minutes.
Posted by:
mayankjohri
13 years ago
Posted by:
naveen.packager
13 years ago
What are you trying to do? As VBScab said script has nothing to do with transform or viseversa. You can create a wrapper using wise or vb to just install the apps in order as you manually do but with one click.
Here is the basic wise script for you to create a wrapper.Go to the wise script editor and try to create the similar script.
set variable APPNAME to "whatever"
set variable PRODUCT_NAME to "whatever"
set variable MANIFACTURER to "whatever"
set variable SOURCE to %INST%\1st.msi
set variable CMDLINE to /i "%INST%\1st.msi" /qn
set variabel SOURCE1 to %INST%\2nd.msi
set variable CMDLINE1 to /i "%INST%\2nd.msi" Transforms="2nd.mst" /qn
if file exixts %SOURCE% then
add "Install Source: %SOURCE% to INSTALL.LOG
else
Add Install Source: Not Found! to INSTALL.LOG
'write this dependeing on number of sources.
'If you need to check OS then do it.
Display Progress Message "whatever"
Execute %SYS32%\msiexec.exe(exe path) %CMDLINE% (command line)
Add Install Exit Code: %PROCEXITCODE% to INSTALL.LOG
Execute %SYS32%\msiexec.exe(exe path) %CMDLINE1% (command line)
Add Install Exit Code: %PROCEXITCODE% to INSTALL.LOG
and write in the same way for that many number of sources you have.
Here is the basic wise script for you to create a wrapper.Go to the wise script editor and try to create the similar script.
set variable APPNAME to "whatever"
set variable PRODUCT_NAME to "whatever"
set variable MANIFACTURER to "whatever"
set variable SOURCE to %INST%\1st.msi
set variable CMDLINE to /i "%INST%\1st.msi" /qn
set variabel SOURCE1 to %INST%\2nd.msi
set variable CMDLINE1 to /i "%INST%\2nd.msi" Transforms="2nd.mst" /qn
if file exixts %SOURCE% then
add "Install Source: %SOURCE% to INSTALL.LOG
else
Add Install Source: Not Found! to INSTALL.LOG
'write this dependeing on number of sources.
'If you need to check OS then do it.
Display Progress Message "whatever"
Execute %SYS32%\msiexec.exe(exe path) %CMDLINE% (command line)
Add Install Exit Code: %PROCEXITCODE% to INSTALL.LOG
Execute %SYS32%\msiexec.exe(exe path) %CMDLINE1% (command line)
Add Install Exit Code: %PROCEXITCODE% to INSTALL.LOG
and write in the same way for that many number of sources you have.
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.