View Full Version : EXE to MSI

04-23-2007, 10:20 AM
I have a Windows self-installing executable that I need to convert into an msi to push via sms 2003. Is my only option to do a snapshot of this install using repackager or is there another way to create this msi installer? I am new to AdminStudio 7.5

04-23-2007, 01:54 PM
If you want to convert your setup into a windows installer package, you will need to repackage it. Within the Repackager tool in AS 7.5, you can use SnapShot method or the Installation Monitoring option. I think its more easier to use the enhanced Installation Monitoring option in AS 7.5.

But I have to warn you that embedded in your setup.exe, there may already be an msi package as alot of vendors are using MSI technology to create setups for their applications, however they embed them in setup.exes. So you may want to launch your setup.exe on a clean machine & go into the temp directory to see if an msi package gets extracted before you start repackaging it. It is not recommended to repackage existing msi packages as it breaks the upgrade paths. Just a word of caution :).

If you need more information, take a look at www.msiuniversity.com.

04-24-2007, 07:29 AM
Thanks for the reply. I had already extracted the setup.exe to take a look and there was no .msi file. I have used the installation monitoring tool for this package, but have hit a snag. I am still researching the issue, but basically when I open the .irp file to clean it up etc, I see a ton of registry keys that I have no problem keeping in the package. When I build it into an msi and open it to look a good portion of the registry keys are missing. The reason I keyed in on this is when I went to test the package it installed fine, but when I tried to logon to the program some registry keys were missing and I received an error. I used procmon to find the problem. I am afraid that my only option may be to extract the missing keys from my test VM and import them into the msi. I am still looking to force these keys I see when viewing the .irp file into the msi during the build phase. For some reason the program just thinks it doesn't need the keys. Any ideas?

04-24-2007, 10:09 AM
When you open your irp file in Repackager, do you see the registry keys in there? If yes, then make sure that they are not highlighted in "red", which would mean that they are being excluded from the package. You can simply include them by right clicking on the registry key.

If they are already included, then what kind of registry data is this? Is it User Data i.e. Registry keys being written into the HKCU hive or HKLM hive. If the registry are specific to HKCU hive, then you would need to repair the application at least once for each subsequent users before the keys will get created on the machine. Let me know if the above helps.

04-24-2007, 12:22 PM
No, they are not excluded. They are registry keys located under HKCR, I see them in the .irp file, but when I create the msi and open it a large majority of keys under HKCR are not present anymore. It's like the program has another set of built in exclusions that it is using to filter these keys out. Any ideas?

04-24-2007, 01:29 PM

I opened the .msi up with ORCA and all of the HKCR keys are present. The problem happens when I open it with installshield it appears. Once I open it the registry keys are missing. Still researching but if anyone has any ideas I would appreciate it. Thanks

04-24-2007, 02:31 PM
Keys in the HKCR are usually Com related. Often times if these registry keys are already present on the system, they may not get overwritten, especially if they are part of merge modules. I think one of the reasons why your application is not working is because you are missing some dependencies. Within Repackager, try running the Setup Intent Wizard from the Project Menu. This will help pick any missing dependencies.

04-24-2007, 02:49 PM
Well the thing is the package does work (.msi) after I build it in repackager. It's when I open that .msi with InstallShield that all of a sudden those keys are removed and the package doesn't work anymore. I am trying to figure out what InstallShield is doing when it opens the .msi that's causing the keys to be removed.

04-24-2007, 02:58 PM
Here's what I think may be happening. When you open the project in Editor, Editor may be replacing all the files & Registry keys that are already present in existing Merge Modules with those Merge Modules. This although a recommended thing to do can sometimes break applications due to version conflicts (Merge Modules may contain a different versioned file or registry keys may be slightly different). This again is my guess based on your issue. If you get to the bottom of this issue, do post it. :)

04-24-2007, 03:16 PM
Weird, I replied to this again but don't see my message. I found what the issue was. I had been making so many changes while troubleshooting I overlooked that when I unchecked the 'Map registry data to the appropriate COM tables' my problem was fixed. Can't believe I missed this. I wanted to thank you for your help in resolving this issue. Thanks