|
-
Dec 27th, 2011, 09:31 AM
#1
Thread Starter
Frenzied Member
How to run msi before setup?
Hi!
We have designed a setup and deploy project in VS2010 for our application. But now things have changed in the configuration of the client machines, and we need to run another msi file before the application itself. If it isn't run, the "main" installation will fail. I can't seem to find a way to add a custom action that run before the actual "main" installation. How can I do that?
Prerequisites should be a way, but we don't have time not resources to fiddle with bootstrappers, since there is no "easy" way to simply add a msi file and let the studio take care of the rest...
This is somewhat urgent and I would appreiate all assistance.
/Henrik
-
Dec 27th, 2011, 10:27 AM
#2
Re: How to run msi before setup?
Create a new one that runs your msi, and once finished, calls the original one.
-
Dec 27th, 2011, 04:17 PM
#3
Thread Starter
Frenzied Member
Re: How to run msi before setup?
Hi!
I am afraid that is not an option. This setup and deploy project has been used for a few years and they have put in a lot of time and effort in it. Now things have changed slightly on the client machines, and the msi file requires an old ATL security patch from Microsoft to be installed before this msi can run. Sadly these clients are located outside the AD so there is no way for them to do it centrally, and since this application is the only one that uses these old dll files, we are told to put it in our msi file as quickly and smootly as possible. I guess everyone thought it was as easy as just add a custom command "oldmsi.exe /q" to be run before actual msi itself. But MS has made life hard for us by denying that option. And creating a custom bootstrapper seems more and more complicated the more I read about it. But if that is the only way, then I guess we have to do it.
The problem we are here in the first place is that the crystal reports merge modules they have used since along time ago, no longer ships with the ATL dll files, they have to be installed separately as of version 13 of the redistributable. And for some unknown reason there is no way to control the order of which the merge modules are installed. So, when I add the crystal msm, it correctly identifies the dependencies of the old msm (atl, mfc etc) files, BUT they seem to be executed AFTER the crystal msm, which makes the crystal msm fail upon registering, because it can't find certain files.
The only option we found that worked was to download this kb hotfix separatly from MS, and run it in quiet mode. But then it failed again when there was no easy way to add it to the setup.
So, either we make the crystal msm files work, or we have to do it the hard way, with a custom bootstrapper.
any ideas? I am thinking about raising a separate issue with the crystal dll files on teh reporting section of this forum...
Henrik
-
Dec 30th, 2011, 12:09 AM
#4
Re: How to run msi before setup?
http://blogs.msdn.com/b/willbu/archi...allations.aspx should give you the essentials if I'm reading your requirement correctly.
Replacing the WSH script there with a compiled program should be simple enough. You could probably just wrap such a script (or EXE) plus your two MSIs into an IExpress package which kicks off the script/EXE after unpacking everything.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|