/build/static/layout/Breadcrumb_cap_w.png

Are variables supported within MSI?

Is there support for variables within the MSI? I can't find documentation on it, but I'd think it would be supported.

Specifically, I am defining packaging standards for a locked-down corporate environment. We are using Wise Enterprise 4.62. I want to add a custom registry key in HKLM\Software\CompanyName to hold as much detail as possible about the each installation of the company's packaged software, including install date/time, source MSI location, etc.

Can I simply create a registry entry in the MSI and put a variable in the Value field? Is anyone else adding such a registry key? Any other suggestions?

0 Comments   [ + ] Show comments

Answers (3)

Posted by: lokbjo 19 years ago
Senior Yellow Belt
0
To my knowledge, you cant use variables in msi's. However, Wise had their own set of "variables", called properties (I know version 5.1 only, hopefully yours are the same). I dont think its possible to use properties in registry though.

I can imagine 3 possible solutions
1. Use regedit to export the reg keys you want, modify it to use variables, then make a VB script that imports it into the registry. Use Wise script to run the VB script.
2. If #1 doesnt work, use VB script to insert the values you need in the reg file, then have the VB script import it to the registry. A bit more difficult, but hey...
3. Add the key to the MSI manually... And right-click&select-properties on the program files folder to see date created if you have to know.
Posted by: bkelly 19 years ago
Red Belt
0
Yes, in Windows Installer terms Properties are basically variables and you can add your own in the properties table. To use the value in something like a registry value, just use the name of the property in brackets.

So if you added your own property to identify the author of the MSI, you could place it in the registry by adding a value with [Author] as the data:

Subkey: HKLM\Software\Corporate
Value: Author
Data: [Author]

Remember, properties are case sensitive. All capitals means it is a public property which can have its value set on the command line.
Posted by: VikingLoki 19 years ago
Second Degree Brown Belt
0
Ah ha! A terminology issue. Thanks bkelly!

Wow, looking over the Properties documentation on MSDE opens up a WORLD of possibilities. Passable from the command line, accessable via VBScript.... A lot can be done there. I knew it had to be possible, and wow is it robust.

For the lurkers, Windows Installer properties documentation can be found at
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/about_properties.asp
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