How to add a custom action to MST Template ??

G'day ...

Since our company isn't large enough (cost efficient-wise) for distrubution with tools such as SMS .. we decided to monitor the install-state by using vbs to fill out a SQL DB.

We've added to the .msi template (Windows Application.msi) :
[-] A few properties (DBUSER/DBNAME/DBPASSWORD etc)
[-] 2 custom actions (call VBS from embedded code); 1 for install, 1 for uninstall
These scripts either writes or deletes a row in the SQL DB, with pHp we designed a form .. etc.

Above steps have been added to the msi template, so therefor when repackaging there's no need to think of this mechanism. All works fine ... DB gets filled and all ..

But .. whenever I've got a vendor-based msi I need to make a transform, even if I don't need it for installing the app. This is no problem (functionally) .. you just add the same stuff mentioned above to the MST, and all works well ..

My problem is, while scripting with a few people together, there's going to be inconsistenties when people have to add the above named steps manually.

Therefor, my question is :
Is there any way I could add these custom actions and filling properties in some way to a mst template ?
Preferably one that's totally empty, except for these settings. I just want these things in a mst before I start i.e. installtailor.
Does anyone know if this is possible in some sort of way ...
Or should I rather be thinking Macro's .. which maybe is an option, however .. I'm not much with desiging macro's ..

Any ideas ??
Maybe it's n00b-like simple, but I just can't get it the way I want it ...


0 Comments   [ + ] Show comments

Answers (4)

Posted by: sini 15 years ago
Orange Senior Belt
I am pretty sure you can do the stuff in visual basic by adding a reference to msi.dll or vbscript by CreateObject("Windows.Installer") and then you full access to all of windows installer functions but it's surely nothing that can be done in a few steps or just a handfull lines of code.
Posted by: plangton 15 years ago
Second Degree Blue Belt
I would check out:


The title of which is "How To Create a Universally Applicable Transform" - create one of those, set up your custom actions in it and use it as the basis for any new transforms you create.

Having said that, I'v never actually tried it myself, so do let us know how it goes.


Posted by: BAF 15 years ago
Yellow Belt
Hmm .. well, I've created a Universally Applicable Transform .. that wasn't really hard ...
Problem is just how to tell Wise (WPS) to use that template whenever I want to use InstallTailor ..
I'm also not sure how it 'll work out on the GUID level ...
Still trying to figure something out ... but thought-wise, I'm heading for macro's ..

<to be continued ..>
Posted by: WiseUser 15 years ago
Fourth Degree Brown Belt
G'day BAF,

Did you ever consider installing a script everywhere that runs at machine startup (or logon) to query all installed applications and then write the results to your database? You could also record application usage statistics using "FeatureUsageCount" and "FeatureUsageDate". It would have the added advantage of catching applications that weren't "legally" installed according to standard procedures, and possibly even legacy (non-MSI) installations?
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