Hi! I need help
How can I convert a .msp to a .msi?
It is posible to do it?

0 Comments   [ + ] Show Comments

Comments

Please log in to comment

Answers

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
0

.MSP can be applied to .msi to generate updated .msi

msiexec.exe /a "[path to .msi file]" /p "[path to .msp file]"

Answered 06/13/2006 by: revizor
Third Degree Blue Belt

Please log in to comment
0

A .msp file contains just the difference between 2 MSI files. It can conatin complete files that you can extract, but it may also contain only binary updates to a file. As far as I know, you can not convert an msp to msi.
But why do you want to? An msp is usually worthless without the msi it was made for, it is not a stand-alone installation, only a patch.
If you could describe your situation, maybe someone here can describe a different approach to your problem.

Answered 06/14/2006 by: sikkert
Orange Senior Belt

Please log in to comment
0

Ok this is the situacion that I am having right now. First I want to say Thanks for the help that you guys are giving to me^^
I have AntiVirusClient 10.0.2.2000 that is a msi file and I have the Symantec Patches 10.0.2.2020 that is a msp. What I want to do is to merge the msp to the msi so I can send by GP to all my systems.

Answered 06/14/2006 by: ronpr
Senior Yellow Belt

Please log in to comment
0

Can you create a custom action for the MSP to be installed once the Main MSI is installed ?

Answered 06/14/2006 by: Thegunner
Second Degree Green Belt

Please log in to comment
0

Why not take the approach that revizor gave you? In that way you will have an msi containing the msp content.
Then distribute the new msi (patched administrative installation) through Active Directory.

Answered 06/14/2006 by: AngelD
Red Belt

Please log in to comment
0

Yes, but i am trying to merge the msp to the msi so I can have it on the Active Directory for when AD detect a old version of the antivirus it install the new version automatically , that way i dotn have to send a packge everytime a new version pop.

Answered 06/14/2006 by: ronpr
Senior Yellow Belt

Please log in to comment
0

Yes Angel right now i am trying to do the approach that revizor gave me. But for some reason i am geting a error msg when i try to install the new msi after the merge with the command that revizor gave me. Error 1316 error ocurred while attemping to read from file. Thanks again for the help guys ^^

Answered 06/14/2006 by: ronpr
Senior Yellow Belt

Please log in to comment
0

What file does it state that it cannot read? and is this a file included in the patch or original msi?

Answered 06/14/2006 by: AngelD
Red Belt

Please log in to comment
0

When I do that comand it pop me a symantec window for do a server image and ask where I want it. I select the path where I want it, then i go to the place where I select and try to run the msi from there and is when I get the error that say
(Error 1316. Anetwork error ocurred while attempting to read from the file C:\2\Symantec Antivirus.msi) I dont understand what you mean if is the file included in the patch or original msi. What i can tell you is when I run the command that revizor gave it open a symantec window for do a server image and ask where I want it. When I go to the path that I select I have 5 new folders(program files, Redist, System32, Windows and  Common) and some new dll files and the original msi have been modify. When I try to run the original msi that have been modify is when I get the error that I write before. Sorry for all the trouble this is my first time doing this. Thanks again for your help.

Answered 06/14/2006 by: ronpr
Senior Yellow Belt

Please log in to comment
0

Ronpr,

Before you used the command above, did you already have a uncompressed msi? Af far as I remember you should have a administrative installation (uncompressed msi) and then use the command.

So first: msiexec.exe /a <path and msi name> /t:<location to extract to>

Then use the command: msiexec.exe /p <path and msp name> /a <path to extracted msi and msi name>

You could add /l*v <path and logfile name> to see what happened.

Regards,
Robin

Answered 06/14/2006 by: RobinV
Senior Yellow Belt

Please log in to comment
0

Since the query is to transform an MSP to MSI , I normally extract the MSP files from the MSP itself and then make an MSI of it, there is a tool that can extract the MSP file:

http://blogs.msdn.com/heaths/archive/2006/04/07/571138.aspx

Whereas you error is concerned I would suggest that you should turn on the verbose logging while installation and then post the log file in this forum as suggest by RobinV.

Answered 06/14/2006 by: wiseapp
Second Degree Green Belt

Please log in to comment
0

RobinV Thanks for the info the I didnt know about the first step i did it but I get the same error masage. I did the log file too and everything looks fine. The log file is pretty big but didnt show any error on the process. This is a copy of the last part of the log file.
**************************************************************************************************
=== Logging stopped: 6/14/2006  15:26:57 ===
MSI (c) (EC:E4) [15:26:57:177]: Product: Symantec AntiVirus - Update '{BB50AFC5-D494-4C74-8DE5-C11D532CDC7A}' installed successfully.

MSI (c) (EC:E4) [15:26:57:177]: Note: 1: 1707
MSI (c) (EC:E4) [15:26:57:177]: Product: Symantec AntiVirus -- Installation operation completed successfully.

MSI (c) (EC:E4) [15:26:57:193]: Attempting to delete file c:\DOCUME~1\svc.buch\Local Settings\Temp\1473840.msp
MSI (c) (EC:E4) [15:26:57:193]: Grabbed execution mutex.
MSI (c) (EC:E4) [15:26:57:193]: Cleaning up uninstalled install packages, if any exist
MSI (c) (EC:E4) [15:26:57:193]: MainEngineThread is returning 0
=== Verbose logging stopped: 6/14/2006  15:26:57 ===
**************************************************************************************************

Wiseapp that tool is real nice I extract the msp and the msi file into one folder. My question now is How i canvert the files to a msi file? Can i do it having both in the same folder? or I can only convert the one that was msp into a msi?

Thanks guys I am learning a lot with you^^

Answered 06/14/2006 by: ronpr
Senior Yellow Belt

Please log in to comment
0

Hi Ron:

What I normally do to convert the MSP into MSi is first find out where the files of MSP are getting copied (after extraction you would be able to know what files are getting copied and where? by comparing the MSI and the MSP). Once done just include the extracted files in your MSI or make a new MSI altogether (if the MSI is a vendor provided MSI).


As far as your error goes by reading the above posts, I suggest that you should copy the base MSI to the network location where you doing the admin image of the MSI and then again do the admin image from that location. once done with the Admin Image then run the patch command line to integrate the patch with your installation. This would work incase of problems revert back we are all here...

Ps: The log that you have posted is for the Patch installation which has gone successfully, try to take the log file of the MSI that is troubling you..

Answered 06/15/2006 by: wiseapp
Second Degree Green Belt

Please log in to comment
0

ronpr

There may be more then files that are replaced by the patch.
Just open the MSI and then apply the MSP (Transform->View Patch) to investigate further.

Everything in green is an entry that will be modified by the patch.

Answered 06/15/2006 by: AngelD
Red Belt

Please log in to comment
0

Can't you just deploy the msi and the patch in Active Directory? I thought just about every deployment tool today can deploy patches as well.
And do you get both the msi and msp files from Symantec? If so, it is generally a bad idea to mess with those files.
Either deploy the msi togheter with the msp in AD, or create an administrative install of the msi, and then patch that with the msp. I belive you can then just deploy this patched version in AD.
But my choice would be to deploy the files separate, since an administrative install will have other implications concerning future patching.

Answered 06/15/2006 by: sikkert
Orange Senior Belt

Please log in to comment
0
sikkert


ronpr
Answered 06/15/2006 by: AngelD
Red Belt

Please log in to comment
0

wiseapp, I was thinking about the "MSI Extractor" (MsiX.exe) tool.

If you extract the cabinet file it may not contain the whole binaries (files).
How could you take the original binary file included in the MSI and update this to the MSP level?

Answered 06/15/2006 by: AngelD
Red Belt

Please log in to comment
0

Hi Angel:

I assume that you are talking about the installshield cabinet files which are not easily extractable, if that's what you are talking about then try this utility to extract the binary files inside the cab:

http://www.myplc.com/sony/i6comp_howto.htm

The tool Msix.exe extracts the MSI files and the Microsoft standard cab files (made while compiling and selecting the options from the Media Page in Wise). I agree that there is a problem while applying the extracted cabinet files to the system coz we are not aware where the files will be deployed by the installation on the system. However to apply to this to MSP level I would suggest you way of applying the patch first to the admin image and then taking the difference out. This would help the packager to understand where the files need to be applied.

I hope this would have answered your queries?

Thanks,

Answered 06/15/2006 by: wiseapp
Second Degree Green Belt

Please log in to comment
0
ORIGINAL:  AngelD

ronpr

There may be more then files that are replaced by the patch.
Just open the MSI and then apply the MSP (Transform->View Patch) to investigate further.

Everything in green is an entry that will be modified by the patch.





Answered 06/15/2006 by: AngelD
Red Belt

Please log in to comment
0

wiseapp,

I was more refering to that the extracted cabinet from the MSP may not contain the whole patched file(s) but the delta of the file from the MSI.

So my question was; how can I take this delta file and apply that to the file from the MSI so it will be in the state after the MSP had been applied. I think one would have to code some and use the PatchFiles action in some way.

This would be useful if you wanted to convert an MSP to an MSI without doing an administrative installation (/a /p).

The path to the file(s) being modified by the MSP could easily be resolved through ORCA.


Thanks

Answered 06/15/2006 by: AngelD
Red Belt

Please log in to comment
0

I agree with you Angel, we have to use th patchfile action to get the patch file identified and applied by the base MSI without performing the admin image of the base MSI. All we need to take care is that the patch file action should come after the InstallFiles Action. The action would read the Patch Files table for further info wherein you can either do a byte-wise patching or by patch code.

In your case it would be applying the delta files from/within the cabinet files, as there are tools (as I mentioned earlier) to extract the cabinet files, once extracted you can do almost anything with them,  but I'll not recommend it since a patch (cabinet) only patches a part of files (delta) so the file hash would be useless.

I hope this would answer your query? Kindly revert back if you require further information regarding the same.

Answered 06/16/2006 by: wiseapp
Second Degree Green Belt

Please log in to comment
0

You could easily generate the filehash from a file:
Dim FilePath : FilePath = WScript.Arguments(0)

Dim Installer : Set Installer = CreateObject("WindowsInstaller.Installer")
Dim Record : Set Record = Installer.FileHash(FilePath, 0)

Dim FileHash : FileHash = "FileHash: " & Record.StringData(1) & vbTab & Record.StringData(2) & vbTab _
      & Record.StringData(3) & vbTab & Record.StringData(4)

WScript.Echo FileHash


How about using the ApplyPatchToFile function to apply a delta to the base file?
Found Delta Compression Application Programming Interface on MSDN.
The ApplyPatchToFile function takes the designated delta and applies it to the specified basis file and writes the resultant target to disk.

Answered 06/17/2006 by: AngelD
Red Belt

Please log in to comment
1
ORIGINAL:  AngelD


ORIGINAL:  AngelD

ronpr

There may be more then files that are replaced by the patch.
Just open the MSI and then apply the MSP (Transform->View Patch) to investigate further.

Everything in green is an entry that will be modified by the patch.



It should be through ORCA, missed that one ;)

So just open the MSI and then apply the MSP in ORCA.


Answered 06/22/2006 by: Thegunner
Second Degree Green Belt

Please log in to comment
0

I'm using version 3.x

Answered 06/22/2006 by: AngelD
Red Belt

Please log in to comment
0

I'm also looking to do the same thing. Where inside of the .msi would the .msp be keyed?

Answered 08/05/2010 by: dduronc264
Yellow Belt

Please log in to comment
0

Hi Derek,
resurrecting a more than 4 year old thread is a bad idea...
Please create a new thread and describe your problem well enough to give other people a chance to understand it...
Regards, Nick

Answered 08/05/2010 by: nheim
Tenth Degree Black Belt

Please log in to comment
Answer this question or Comment on this question for clarity