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?
How can I convert a .msp to a .msi?
It is posible to do it?
0 Comments
[ + ] Show comments
Answers (26)
Please log in to answer
Posted by:
Thegunner
18 years ago
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
18 years ago
.MSP can be applied to .msi to generate updated .msi
msiexec.exe /a "[path to .msi file]" /p "[path to .msp file]"
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 11 years ago
Posted by:
sikkert
18 years ago
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.
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
18 years ago
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.
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
18 years ago
Posted by:
AngelD
18 years ago
Posted by:
ronpr
18 years ago
Posted by:
ronpr
18 years ago
Posted by:
AngelD
18 years ago
Posted by:
ronpr
18 years ago
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.
(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
18 years ago
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
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
18 years ago
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.
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
18 years ago
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^^
**************************************************************************************************
=== 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
18 years ago
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..
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
18 years ago
Posted by:
sikkert
18 years ago
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.
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
18 years ago
Posted by:
AngelD
18 years ago
Posted by:
wiseapp
18 years ago
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,
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
18 years ago
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
18 years ago
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
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
18 years ago
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.
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
18 years ago
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.
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:
dduronc264
14 years ago
Posted by:
nheim
14 years ago
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.