/build/static/layout/Breadcrumb_cap_w.png

Merge vendor MSP with MSI

Hi there,

I have an app where we have 3.7 and another update that someone captured. It updates 3.7 to 3.71 Both are MSI's. What's the best way to merge the two into one msi?


Thanks,
eDoc

0 Comments   [ + ] Show comments

Answers (16)

Posted by: turbokitty 17 years ago
6th Degree Black Belt
0
There are several ways to do this. First riddle me this:
-Is either package already in production?
-Is the first MSI a vendor MSI?
-How complicated is the second update MSI?
-Do you have the project files for either MSI?
-Does it have to be one MSI , or can one be an MSP or MST?
Posted by: edocshare 17 years ago
Orange Belt
0
- The first MSI is in production
- The first MSI is not a vendor MSI, we built it here.
I believe it is a product of many months of updates
- Second MSI was captured from a vendor patch (not sure why).
I do have the vendor patch, but it says the product is not installed
when I try using it. It's checking somehow (prod codes maybe)
and I can't seem to get it to work.
- We want one msi in the end

Side note/question;
This is twice now I have received a vendor patch file and inherited an old MSI. I can't apply the patch because it can not recognize that the app is in fact installed. I assume it's because the code(s) don't match up. I have looked around for info on this but working with info on this situation is broad, sporadic and confusing. If I have an old MSI that someone captured and the vendor releases an MSP, how can I make the MSP match the in-house install?


Thanks for the help,
eDoc
Posted by: turbokitty 17 years ago
6th Degree Black Belt
0
Basically, you can't. This is why you never repackage an MSI. It breaks all the vendor's internal logic and makes patches stop working.

You could change the product and upgrade code in your repackged MSI to match the vendor MSI. This would make the patches see the install of the application, but the patch would fail. The patch needs a matching database too and your databases no longer matches once you've repackaged an application.

If the repackaged MSI is already in production, you're hosed. You'll have to repackage each patch (or group of patches) as they come from the vendor. I suggest capturing them and making MSP's (patches) out of them. If you absolutely have to have one MSI, you'll have to repackage the vendor MSI (or your repackaged MSI of the vendor MSI) with the patches into a new, larger MSI.

How many PC's are affected? If this app has a lot of continuous updates, you may be better off pulling the repackaged MSI off the machines and replacing it with the vendor MSI. Then you can just patch the MSI with the vendor patches as they come in.
Posted by: edocshare 17 years ago
Orange Belt
0
Hmm... there are way to many machines to recall it. I think I'll extract the files from the patch, edit our last MSI and add/replace the new files or maybe capture the MSP


Thanks for the help,
eDoc
Posted by: turbokitty 17 years ago
6th Degree Black Belt
0
Well, opening up the old MSI and adding the patch files won't work. When you try to deploy it in production, it will think it's already installed and just crap out.
Your best bet is option 2. Either create an MSI from the capture, or better yet, an MSP that points to the repackaged MSI.
Posted by: edocshare 17 years ago
Orange Belt
0
I have sucessfully captured the MSP and created an MSI that works. It does bring the prev ver up to the latest and all works fine. But, they want a single MSI if possible.

Without going way back to the beginning and starting with the vendor MSI, I think I am hooped too.
Posted by: edocshare 17 years ago
Orange Belt
0
ORIGINAL: turbokitty
Well, opening up the old MSI and adding the patch files won't work. When you try to deploy it in production, it will think it's already installed and just crap out.


I meant, if I extract all the files from the MSP file, then open the MSI and create a new MSI (update or upgrade). This would work, I did it a few days ago.

Problem with this package here is that the MSP has over 100 files and many registry entries. This would take a long time.
Posted by: jmcfadyen 17 years ago
5th Degree Black Belt
0
try msimerge.exe from the SDK .
Posted by: edocshare 17 years ago
Orange Belt
0
OK, I am now using the original vendor msi. I have created a transform for it, it's working great. After the initial install, I applied the vendor patch and it worked great.

Now, is there a way to merge the patch with the vendor msi so we only have one msi to distribute?


Thanks,
edoc
Posted by: AngelD 17 years ago
Red Belt
0
Do an administrative installation of the MSI and then patch that one, that should solve your wish

msiexec /a <path to msi> TARGETDIR=C:\temp\admin
msiexec /p <path to msp> /a C:\temp\admin\<msi>
Posted by: edocshare 17 years ago
Orange Belt
0
That doesn't merge the msp into the msi to create ONE new msi. I am looking for a single msi that includes the patch.

edoc
Posted by: AngelD 17 years ago
Red Belt
0
Yes it will
if you would have a different product, just change the product code
Posted by: edocshare 17 years ago
Orange Belt
0
Hmm.. ok, sorry. Can you elaborate a bit on that process?

After you execute:

msiexec /p <path to msp> /a C:\temp\admin\<msi>

what happens? What do I end up with?

What do you mean, "if you have a different product product or change the code". If I change the code, the patch won't work ???
Posted by: AngelD 17 years ago
Red Belt
0
If you patch an administrative msi you will get a new msi with the patch included.
the original msi will have the same product code as the patched one.

if you would like to have an new product (including patch) change the product code in the patched msi so this will install over an existing installation.
Posted by: AngelD 17 years ago
Red Belt
0
sorry, do NOT change the product code, that would put you in the same position as when you started this thread for the next patch from the vendor. Sorry if that misslead you in any way

It should be enuf with the administrative installation.
Posted by: edocshare 17 years ago
Orange Belt
0
OK, tried it and it worked great. Except, it installed several DLL's to the root of the C drive. I guess now I would have to edit the package and move those DLL's to the system directory.

Strange that it would do that because the original installations do not do that.


Thanks
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ