/build/static/layout/Breadcrumb_cap_w.png

How can I convert a .msp to a .msi?

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

0 Comments   [ + ] Show comments

Answers (26)

Posted by: Thegunner 17 years ago
Second Degree Green Belt
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.


I can not find the Transform > View Pathch option in Orca, is there a new version I need or something ?
Posted by: revizor 17 years ago
Third Degree Blue Belt
0
.MSP can be applied to .msi to generate updated .msi

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

Comments:
  • Use a online converter for it, easy and free.
    http://softwaretopic.informer.com/free-msp-to-msi-converter/ - StevenPRO 10 years ago
Posted by: sikkert 17 years ago
Orange Senior Belt
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.
Posted by: ronpr 17 years ago
Senior Yellow Belt
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.
Posted by: Thegunner 17 years ago
Second Degree Green Belt
0
Can you create a custom action for the MSP to be installed once the Main MSI is installed ?
Posted by: AngelD 17 years ago
Red Belt
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.
Posted by: ronpr 17 years ago
Senior Yellow Belt
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.
Posted by: ronpr 17 years ago
Senior Yellow Belt
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 ^^
Posted by: AngelD 17 years ago
Red Belt
0
What file does it state that it cannot read? and is this a file included in the patch or original msi?
Posted by: ronpr 17 years ago
Senior Yellow Belt
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.
Posted by: RobinV 17 years ago
Senior Yellow Belt
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
Posted by: wiseapp 17 years ago
Second Degree Green Belt
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.
Posted by: ronpr 17 years ago
Senior Yellow Belt
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^^
Posted by: wiseapp 17 years ago
Second Degree Green Belt
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..
Posted by: AngelD 17 years ago
Red Belt
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.
Posted by: sikkert 17 years ago
Orange Senior Belt
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.
Posted by: AngelD 17 years ago
Red Belt
0
sikkert
You can't deploy just an msp through AD ...think thats why Micro$soft invented SMS ;)

ronpr
When you applied the patch to the administrative installation did you do this locally on your client? If not, try that.
Posted by: AngelD 17 years ago
Red Belt
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?
Posted by: wiseapp 17 years ago
Second Degree Green Belt
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,
Posted by: AngelD 17 years ago
Red Belt
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.



It should be through ORCA, missed that one ;)

So just open the MSI and then apply the MSP in ORCA.
Posted by: AngelD 17 years ago
Red Belt
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
Posted by: wiseapp 17 years ago
Second Degree Green Belt
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.
Posted by: AngelD 17 years ago
Red Belt
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.
Posted by: AngelD 17 years ago
Red Belt
0
I'm using version 3.x
Posted by: dduronc264 13 years ago
Yellow Belt
0
I'm also looking to do the same thing. Where inside of the .msi would the .msp be keyed?
Posted by: nheim 13 years ago
10th Degree Black Belt
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
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