i want to convert a msi file in to an exe file. When i run msi file with qn option with msiexec then my software install silently. But now i want to convert that msi file into .exe file , and that exe file runs msi file with msiexec /i "path of msi file" /qn option, any idea how to do it.
msiexec can open only . msi packages. Even if your setup.exe contains . msi package you won't be able to run it this way.
We can use 7zip SFX to create switch-less installers. here is a quick walk through
7Zip: you can download latest version of 7zip from Official Site.
7Zip SFX Module: Official download page is here.
Resource Hacker or any other resource editor (Optional): if you want to use a custom icon for you final executable you should use a resource editor app and replace the icon with your desired one. here is Resource Hacker app download link from it's developer website.
Create a exec.bat
file in the same folder of your msi
file and copy your msiexec /i "path of msi file" /qn
in it. I used Installer.msi for my sample so here is my file:
@Echo off
msiexec /i installer.msi /qn
Compress msi
and bat
files to a 7z
archive.(you can download and install 7zip from here) in the sample I compressed my Installer.msi and exec.bat to a installer.7z archive.
Download and extract 7zSD (from 7zSfx link) and put the file in the same folder of archive, here is direct link to it.
We can change icon of the installer, to do this we should replace icon of 7zsd.sfx
file, in Resource hacker we should open 7zsd.sfx
and get to IconGroup > 101 > 1049
and replace the icon with a desired one. then save the new sfx file in the same folder of generated 7z Archive. I saved mine as 7zsdInstaller.sfx.
We should create a config file to tell the Sfx
file what to do after extracting the archive, here is the config file for the sample:
;!@Install@!UTF-8!
GUIFlags="8+32"
ExtractDialogText="My Sample Installer"
RunProgram="exec.bat"
;!@InstallEnd@!
We should save it in the same folder of our 7z Archive, I named mine config.txt.
Now we should combine our file to a single executable, to do this, first we should navigate our Command prompt to a folder we hold our generated files and then we should execute following command:
copy /b 7zsdInstaller.sfx + config.txt + Installer.7z "installer.exe"
Now we should have a installer.exe in the same folder
If you are making the setup yourself using Installshield, the tool itself should be able to create a setup.exe file by simply setting the release settings in the release wizard - I think it just entails setting the release "Compressed" but it could require further settings.
Please follow these help file instructions precisely. It is possible that some versions of Installshield (express, older versions etc...) does not have this option, but frankly I doubt it. It should be there once you look.
Perhaps also see this youtube.com demonstration of the release wizard and this previous stackoverflow question: HowTo create InstallShield MSI with no files needed locally?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With