Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Existing MSI to Setup.exe


11 replies to this topic

ds1068nm

ds1068nm
  • Full Members
  • 5 posts

Posted 04 June 2007 - 04:04

I have a Basic MSI project in InstallShield 12 and want to be able to make some small tweaks to the final MSI file before compressing everything into a single Setup.exe installer.

Does anyone know if there is some way I can compile to an MSI, modify the MSI, and then do the final packaging into the single Setup.exe file?


haroldxious

haroldxious
  • Full Members
  • 70 posts

Posted 04 June 2007 - 07:54

what is you main problem here? compile msi and modify msi can be done on installshield 12 right? Is final packaging into the single Setup.exe file your problem?

If thats the case try to build a release using compress all files and add a setup.exe louncher. it will output a setup.exe only.

antyagi

antyagi
  • Full Members
  • 121 posts

Posted 04 June 2007 - 08:03

harold, I think he wants to tweek .msi before InstallShield compress it into setup.exe.
ds..., if this is what you want ot do then I doubt it can not be done. Until you write your own setup.exe

  ankur tyagi

ds1068nm

ds1068nm
  • Full Members
  • 5 posts

Posted 04 June 2007 - 08:21

antyagi has it right. I am looking to tweak the MSI a bit before wrapping it into the Setup.exe wrapper. For a CD install, there is no problem since I can just leave the MSI out separate from the Setup.exe launcher. The problem I have is with the self-contained installer for downloading. I can't figure out how to get access to the MSI before it gets compressed into the final Setup.exe.

I was hoping there was some way I could build the MSI, tweak it, then run IsCmdBld with some flags or something to create the final Setup.exe. So far, I haven't figured out how to do this. I don't think Repackager will do it either, since it wants an InstallScript project...


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 04 June 2007 - 10:52

First I would try to do the "tweaking"inside InstallShield, maybe using the Direct Editor. If that's not feasible for you then I guess you will have to use some different way to apckage everything into a single setup.exe, for instance create a "Compact" setup project in InstallShield.

saybo

saybo
  • Full Members
  • 11 posts

Posted 06 June 2007 - 17:25

DS, are you having any luck? I want to do something similar.

I've been given an .msi created in VS2005 by an outsourced developer, and I need to wrap it into a setup.exe so I can attach some prereqs to it.

ds1068nm

ds1068nm
  • Full Members
  • 5 posts

Posted 07 June 2007 - 07:59

saybo, I have not found any satisfactory solution for this problem.

I tried the suggestion of using a Compact Project, but it looks like there is no way to automatically install the MSI other than by adding it to the project as an installed file and executing it at the end of the install. In this case, the MSI itself gets installed as a component and feature, which is not what should happen.

There were some comments in various MSDN forums that discussed using MS tools to put together a Setup.exe launcher, but this loses all the functionality of the InstallShield launcher.

It seems the only thing you can do is to open the MSI as a new MSI database project in InstallShield and then try to turn it into a new Basic MSI project. Essentially, this is a repackaging of the MSI rather than a wrapping.

To me this is a big hole in the InstallShield feature set. There should be some command line tool or parameter to let you just do the final Setup.exe wrapper on an existing MSI.

saybo

saybo
  • Full Members
  • 11 posts

Posted 07 June 2007 - 15:52

Thanks for responding. We've been trying lots of ideas, and coming up empty. I agree this is a hole, in theory it seems so basic to tell InstallShield, don't build a new .msi, just use this one inside the setup.exe.

For us, we're gonna suck it up and make a full build of the visual studio project and a full msi project in InstallShield. It's the best way for us, it's just a lot more time than this particular project deserves.

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 08 June 2007 - 09:34

Leaving a copy of the original package on the machine is common practice as this is needed for maintenance operations like repair and modify which need acess to the original installation source.
But there are other tools that can temporarily extract packages to run the install and then remove them, e.g. WinZIP self extractor, Microsoft IExpress, and many others.

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 08 June 2007 - 09:36

BTW what tweaking do you need to do, and why can't you do it in the Direct Editor, thus before building the msi and setup.exe?

chrpai

chrpai
  • Full Members
  • 26 posts

Posted 10 June 2007 - 04:50

Several use cases come to mind....

1) Remove Branding elements that some people really, really hate.

2) Author constructs that InstallShield can't do. For example, when generating Instance transforms, have each transform have a unique data in a table other then Property. Example: Upgrade table.

3) Take a setup.exe, extract the MSI, modify/transform it and recompress it back into a setup.exe.

4) Take some third party MSI that would benefit from a few prereqs and wire it all up.


Based on discussions with Macrovision, they understand that with MSM's no longer the preferred way of deploying prereqs that a lot more work needs to be done on improving the servicing strategy of prereqs.

It's just not there yet today.
Christopher Painter, MCSE
Author of:
DeploymentEngineering.com
MSI Factory Provider for ADO.NET 2.0 (Work In Progress)
99 Bottles Of Beer - Windows Installer

PM for personal communication only. Please ask questions in the forums.

Glytzhkof

Glytzhkof
  • Moderators
  • 1,447 posts

Posted 11 June 2007 - 03:37

I hear you Christopher - for corporate deployment pre-req sequencing is blues in D-minor at the moment. I think I saw some Macrovision code for a setup.exe that you could modify yourself, but I can't rememer where. I will see if I can locate it.

This being such a common requirement it should be possible to make a "custom setup.exe launcher" into an open source project and maybe put it on sourceforge?

Btw, have a look at IExpress (Start -> Run -> IExpress -> Enter). With some tweaking here and an under the hood batch file you can do your sequencing, but it is not ideal. What is needed is a common and extensible apprach to pre-req sequencing and custom setup launching which can be adapted for different purposes.
Regards
-Stein Åsmul