/build/static/layout/Breadcrumb_cap_w.png

New to AdminStudio

I'm new to AdminStudio and I am learning about custom actions in MSI's.

We are in the process of migrating from Zenworks to SMS. A lot of our Zen objects had dependencies which SMS doesn't handle as well.
I will use our Office 2003 standard install as the example. We have a Office 2003 install that calls several dependencies that run msiexec.exe /x {product GUID} to uninstall access 97, 2000, office 97, 2000, etc.

I would like to create a master msi that runs those msixec uninstall commands, installs another msi that includes our templates and then runs the Office install with a transform.

This was fairly easy with Wise, but I am struggling to figure it out with AdminStudio. Are custom actions the way to go? Can anyone give me some advice?

Thanks in advance, Jon

0 Comments   [ + ] Show comments

Answers (13)

Posted by: KPrinz 17 years ago
Fourth Degree Green Belt
0
You could detect installed apps and then run the uninstall, but in this case: Nevermind that.
Instead, use the Office Resource Kit to create your mst and there you can specify in detail how office install handles previous versions (keep or remove).
Posted by: jfarber 17 years ago
Senior Yellow Belt
0
That's an interesting way to think about it, but I am just using Microsoft Office as an example of a Novell object that has many dependencies that call msiexec.exe to install or uninstall something. It could be any app, so while that might help with MS Office, what can I do about the other apps? Is it possible to call msiexec.exe /x or /i with a custom action or other way with Installshield and an msi?
Posted by: jmcfadyen 17 years ago
5th Degree Black Belt
0
ahh the world of ZFD yuck..

Once you get your head around these MSi's you wont think Zenworks was quite so easy.

the "best practice" for removing MSI's is to use the upgrade table.

MSI has a built in function of upgrades which allows the uninstallation of other applications.

Each application has a product code and upgrade code which identifies the application.

You can tell your new package to lookup the upgrade code for old applications and do either

full uninstall of previous product then install new

or

partial uninstall and partial install of new product

the later is considerably harder to achieve and requires much more understanding of windows installer, conflict management, component reference counting and sequencing.

check out the SDK lookup upgrade code and upgrade table.

I would recommend whilst you are learning the topic of upgrade to sequence the RemoveRelatedProducts action right up next to the FindRelatedProducts action.

John
Posted by: jfarber 17 years ago
Senior Yellow Belt
0
sequencing.

Can you use a MST to do major upgrades/uninstalls?
Posted by: e40 17 years ago
Senior Yellow Belt
0
ORIGINAL: KPrinz

You could detect installed apps and then run the uninstall, but in this case: Nevermind that.
Instead, use the Office Resource Kit to create your mst and there you can specify in detail how office install handles previous versions (keep or remove).


I'll second this. We went from Office 97 to Office 2003 and all I did was create the MST using the Office Resource Kit and that handled everything, without a hitch.
Posted by: jfarber 17 years ago
Senior Yellow Belt
0
That will help with Office, but I was just using that as an example. What about other programs? I'll use our Adobe CS2 package for the next example. We have the Novell object call a series of dependencies that uninstalls previous versions. They call msiexec.exe /x and the GUID. Can I have an msi call with custom actions or whatever else, a msiexec.exe command to uninstall or install prereqs.

Thanks.
Posted by: Tone 17 years ago
Second Degree Blue Belt
0
Adobe CS2 should take care of previous version, for repackaged applications you can create a major upgrade by changing the product code and version, add populate the upgrade table, if vendor msi's dont have the upgrade table populted you can use a tranform.

http://msdn2.microsoft.com/en-us/library/aa369786.aspx
Posted by: jfarber 17 years ago
Senior Yellow Belt
0
I'm just using Adobe and Office as examples. Basically, I just want to know if you can use custom actions in MSI's to replace the functionality of Zen dependencies. Calling msiexec.exe to install or uninstall with a custom action, either in a MSI or MST.

Thanks for all the help.
Posted by: Tone 17 years ago
Second Degree Blue Belt
0
You can create nested MSI but its something I have always avoided as it can become a very convoluted process and you can lose control of your installs..
http://support.microsoft.com/kb/306439


On a side note have you created your SMS advertisments and packages in the order you want them to be installed as well as setting priorities, this should help with dependent applications.
Posted by: jfarber 17 years ago
Senior Yellow Belt
0
I think your right about nested MSI's, that doesn't look like the way to do it.

I would like to do with Installshield what I did with Wise Package Studio.

With Wisescript editor I would have the following commands ran:
msiexec.exe /x {GUID} WAIT
msiexec.exe /x {GUID} WAIT
msiexec.exe /i path transforms=etc WAIT
I could also run other commands, etc...

The wait is a wise command to wait for the step to finish before continuing.
Can Installshield do this?
Posted by: Tone 17 years ago
Second Degree Blue Belt
0
You should be able to that with installshield script but you wouldnt be able to do it with a standard msi (I also avoid wise\installshield script)

If you used the updgrade table you would be able to remove all previous version of an application before you package installs.. and just use custom actions to carry out command that cannot done using standard actions

Pretty similar to

msiexec.exe /x {MyAppVersion_v1.1}
msiexec.exe /x {MyAppVersion_v2.2}
msiexec.exe /i path transforms=etc
Posted by: jfarber 17 years ago
Senior Yellow Belt
0
It's doesn't look like you can use a MST to do an upgrade. Is that the case?
Posted by: jmcfadyen 17 years ago
5th Degree Black Belt
0
incorrect.

MST will work fine for upgrades.

all an MST is, is simply an overlay for database tables / values.

when an installation is run with an MST all values in the tables are simply updated with new values from the MST.

from a table perspective there is no MST.

from an MSI perspective having a transform simply means there is a merge process which runs to blend the two together and an additional file to cache in the installer cache, slightly different meta data written.

upgrades are your best option in this scenario dont use nested CA's if you can avoid it.
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