cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Superfreak3
Level 11

Getting File Information Contents From .msi

Hi there,

During our current automated build process we have a widget that queries the final .msi and prints the contents of the File table to a .txt file.

Now, however, one of our installations will be wrapped in a setup.exe and I'm wondering how I can get my listing from that. Is there a way to run my widget to spit out the listing before the setup.exe is created.

Or, can I use the Automation interface in some way to query the file table in the ism and produce the listing that way.

Just wondering.

Thanks for any information!!
Labels (1)
0 Kudos

(6) Replies
gbaltazar
Level 6

Not sure about the complexities of your build process, but how about building an .MSI version of your setup and running the widget on that?
0 Kudos
DebbieL
Level 17

Some brainstorming:

Maybe you could pass /a to Setup.exe at the end of your build. This runs an administrative installation, which extracts and copies the .msi and data files to a directory that you have specified. Then the widget could query the extracted .msi file.

If you are able to upgrade to InstallShield 2011 Premier Edition, you could use a new Precompression Event setting in the Releases view. With this setting, you could specify the command to call your widget and have it query the built .msi package before the .msi package has been digitally signed and streamed into the Setup.exe file. InstallShield 2011 Premier also has automation interface support for specifying the command that you want to be called at this precompression event during the build process.
0 Kudos
Superfreak3
Level 11

I definitely thought about adding another release configuration to build the .msi only and running the widget on that and that is what I will still consider doing.

I wonder if the automation interface can be used to query and list File Table entries. That's basically what the output of the widget is along with some Upgrade Table stuff.
0 Kudos
Superfreak3
Level 11

DebbieL wrote:
If you are able to upgrade to InstallShield 2011 Premier Edition, you could use a new Precompression Event setting in the Releases view. With this setting, you could specify the command to call your widget and have it query the built .msi package before the .msi package has been digitally signed and streamed into the Setup.exe file. InstallShield 2011 Premier also has automation interface support for specifying the command that you want to be called at this precompression event during the build process.


We have upgraded to IS 2012 Premier and have the ability to add Precompression Events. I believe I have an old widget that queried the .msi's file table and dumped a text file with the contents. I could just direct that to use the precompressed .msi. Where will that be located? Is it in the location of the final Setup.exe and deleted once compressed?
0 Kudos
DebbieL
Level 17

You should be able to use for that. For more information:
Specifying Commands that Run Before, During, and After Builds
0 Kudos
Superfreak3
Level 11

DebbieL wrote:
You should be able to use for that.


That worked perfectly! THANKS!
0 Kudos