This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Wrapping an existing installation?
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Dec 23, 2010
04:23 AM
Wrapping an existing installation?
Hi,
I'm new to InstallShield but I think I have simple requirements, but sadly I'm in need of help/advice.
What I need to do is take *existing* installer software and wrap it up so someone only needs to double-click an MSI and it will install.
e.g.
Software that has an MSI that I would execute by using msiexec and passing a few command-line arguments.
How do I wrap that in an MSI that automatically passes those command-line arguments.
i.e.
Microsoft Project silent install I would run by using the command:
msiexec /i prjstde.msi /qn /norestart /l*v install.txt
Can I create an MSI that would execute that command when double-clicked? Can I create an MSI that compresses all the files into one MSI and then executes that command when double-clicked?
Another example would be an install that runs by clicking setup.exe. I would need to create an MSI that simply starts setup.exe (preferably again by compressing all the files within the msi.
Can anyone help, or give me advice on where to read something that would be helpful.
Regards,
Nick
I'm new to InstallShield but I think I have simple requirements, but sadly I'm in need of help/advice.
What I need to do is take *existing* installer software and wrap it up so someone only needs to double-click an MSI and it will install.
e.g.
Software that has an MSI that I would execute by using msiexec and passing a few command-line arguments.
How do I wrap that in an MSI that automatically passes those command-line arguments.
i.e.
Microsoft Project silent install I would run by using the command:
msiexec /i prjstde.msi /qn /norestart /l*v install.txt
Can I create an MSI that would execute that command when double-clicked? Can I create an MSI that compresses all the files into one MSI and then executes that command when double-clicked?
Another example would be an install that runs by clicking setup.exe. I would need to create an MSI that simply starts setup.exe (preferably again by compressing all the files within the msi.
Can anyone help, or give me advice on where to read something that would be helpful.
Regards,
Nick
(5) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Dec 23, 2010
08:59 AM
It's not the greatest situation to get yourself into, but you can make it tenable, for sure. I have taken an existing Wise installation package and wrapped it in an MSI and had great success with it. I use a vbscript custom action to perform prechecks, execute the Wise package, passing it the values it needs to run silently, and also do the other things that were being done manually by our support staff.
You'll want to be mindful of other MSIs that might need included in your installation, because creating a wrapper MSI around them will cause you some headache. In that case you may be better off creating an InstallScript project.
But yeah, go for it!
You'll want to be mindful of other MSIs that might need included in your installation, because creating a wrapper MSI around them will cause you some headache. In that case you may be better off creating an InstallScript project.
But yeah, go for it!
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Dec 23, 2010
09:13 AM
Yes, it is possible to wrap an existing installation into an MSI the way Garrett has written. However, you should keep in mind that Windows Installer will not cleanly uninstall, repair, or roll back such a "wrapped-up" installation. Or, to phrase it differently: it is an .msi package, but it does not use Windows Installer the intended way.
If you do want to migrate to Windows Installer and to use Windows Installer features, you will have to migrate your project. For the first steps of setting up the Windows Installer components, a repackager may be helpful.
If you do want to migrate to Windows Installer and to use Windows Installer features, you will have to migrate your project. For the first steps of setting up the Windows Installer components, a repackager may be helpful.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Dec 29, 2010
08:24 AM
Thanks GarrettDyer and Matthias1967.
Is there a simpler way?
Somehow take an existing installer and just create a setup.exe with an iss file (or similar) that holds the commands that must be executed for the existing package?
I know I could create a batch file or vbScript to launch an install, but I'd like to have a solution where running one file (or for a manual installation double-click a file) would instigate the installation with all required command-line switches/flags, etc.
I think it would look much more professional to run setup.exe rather than setup.bat!
So essentially, all I need to create is the setup.exe that starts (for example):
msiexec /i prjstde.msi /qn /norestart /l*v install.txt
I could also write a VB/.Net/whatever program as a launcher but since the company has purchased InstallShield it makes sense to use it (when it arrives!!)
So, any tips to where I would start and I'll work it out from there.
Cheers,
Nick
Is there a simpler way?
Somehow take an existing installer and just create a setup.exe with an iss file (or similar) that holds the commands that must be executed for the existing package?
I know I could create a batch file or vbScript to launch an install, but I'd like to have a solution where running one file (or for a manual installation double-click a file) would instigate the installation with all required command-line switches/flags, etc.
I think it would look much more professional to run setup.exe rather than setup.bat!
So essentially, all I need to create is the setup.exe that starts (for example):
msiexec /i prjstde.msi /qn /norestart /l*v install.txt
I could also write a VB/.Net/whatever program as a launcher but since the company has purchased InstallShield it makes sense to use it (when it arrives!!)
So, any tips to where I would start and I'll work it out from there.
Cheers,
Nick
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Dec 30, 2010
08:38 AM
Your best bet might be to use an InstallScript project, so that the wrapper project isn't registered on the machine as a Windows Installer application.
We've done something similar (although ours will install, uninstall or modify a suite of products). We put any customer input required in OnFirstUIBefore, and used OnFirstUIAfter to simply run the other executables or MSI files. We also set up the InstallScript product so that it always installs as though it were the first time, and handled upgrades by detecting if the embedded project is present and running the current installation with the appropriate command line switches to the MSI. (We do display a dialog in that case to detemine if we should upgrade or uninstall.) Good luck!
We've done something similar (although ours will install, uninstall or modify a suite of products). We put any customer input required in OnFirstUIBefore, and used OnFirstUIAfter to simply run the other executables or MSI files. We also set up the InstallScript product so that it always installs as though it were the first time, and handled upgrades by detecting if the embedded project is present and running the current installation with the appropriate command line switches to the MSI. (We do display a dialog in that case to detemine if we should upgrade or uninstall.) Good luck!
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 04, 2011
06:44 AM
Why do you need a bootstrapper? I don't see prerequisites or elevation in your requirements.
Just use Orca.exe and add following properties to your msi:
LIMITUI
From your "double-click" scenario I would recommend using Basic UI (UILevel property value "3") otherwise the user will be confused if installation works or not.
REBOOT
For avoiding the restart and the prompts.
MsiLogging
For enabling the logging to %temp%/msi.log
If you still want to use a bootstrapper, use dotnetinstaller, or IS setup.exe - if you figure out how to configure IS setup.exe (standalone/outside IDE) let me know I also need that because WiX still didn't release burn.exe
Just use Orca.exe and add following properties to your msi:
LIMITUI
From your "double-click" scenario I would recommend using Basic UI (UILevel property value "3") otherwise the user will be confused if installation works or not.
REBOOT
For avoiding the restart and the prompts.
MsiLogging
For enabling the logging to %temp%/msi
If you still want to use a bootstrapper, use dotnetinstaller, or IS setup.exe - if you figure out how to configure IS setup.exe (standalone/outside IDE) let me know I also need that because WiX still didn't release burn.exe