Extracting MSI files revisited: the Office 2003 PIA (which lived up its acronym)
Posted by jpluimers on 2013/02/07
The methods I described in via: Extracting MSI files didn’t work for the MSI installer for the Office 2003 Primary Interop Assemblies (which you get through here, or directly download the O2003PIA.exe installer).
I needed to extract the files, because of this problem described in by Office 2003 PIA Redistributable is available – Patrick Smith: Microsoft InfoPath – Site Home – MSDN Blogs:
Important Issues to keep in mind:
- This MSI is designed to contain all of the PIA’s which shipped with Microsoft Office System 2003. The product PIA’s will only install if the parent product is installed on the machine.
- Leave the PIA redistributable on the machine once it’s installed. Because this product is redistributable, many add-ins could ship it. The MSI will only install once and then subsequent installs would just see that it’s already on the machine. Removing it via Setup logic will remove it for everyone. The current recommendation is to leave uninstallation of the PIA Redistributable to the end user through Add/Remove Programs.
Currently I’m involved in a suite of .NET 4 applications that interface with Office. Office 2003 is the minimum required version, but:
- most users and developers have Office 2007 or better installed,
- not all people have all parts of Office installed,
- the build server does not have Office installed at all.
In none of those scenarios, the PIAs are installed.
So I needed a way to extract all the PIA binaries with the official long filenames from the O2003PIA.MSI that is inside the O2003PIA.EXE installer.
Extracting the installer was simple: just install it, and it decompresses to a directory of choice. Or use your decompression tool of choice.
Extracting the O2003PIA.MSI was a lot harder:
- The methods I described in via: Extracting MSI files didn’t work:
– Administrative install is disabled
– LessMSI didn’t extract the original filenames - Microsoft Orca (thanks StackOverflow for pointing me at it) didn’t work either.
- SuperOrca MSI Editor by Pantaray Research didn’t work either (but thanks Radmund Beer, as otherwise it is way better than Orca)
Finally, msgoodies: Extracting files from MSI pointed me to WiX Toolset that used to be at Windows Installer XML (WiX) toolset | Free Development software downloads at SourceForge.net, but now is at the WiX Toolset CodePlex repository, and is available as WiX Toolset – Download: WiX v3.6 RC.
The msgoodies article uses this commandline:
Dark.exe file.MSI file.XML /x .
Based on that (note the dot – . – means current directory), this is what I did:
- I copied the O2003PIA.msi to C:\temp\,
- then created C:\temp\O2003PIA-Files,
- fired up a console,
- changed the directory to C:\temp\O2003PIA-Files,
- then ran this command on that console:
"C:\Program Files\Windows Installer XML v3.5\bin\dark.exe" C:\temp\O2003PIA.msi O2003PIA-Files.XML /x .
- Now the directory
C:\temp\O2003PIA-Files\File
contains all the files, but not with their full filenames - However, the file
C:\temp\O2003PIA-Files\O2003PIA-File.XML
contains both the short names and the full filenames. - So based on the O2003PIA-Files.XML, I generated this batch file:
From the , I distilled this small batch file that copies all the short filenames to their full file names:
copy C:\temp\O2003PIA-Files\File\ACCESS.DLL C:\temp\O2003PIA-Files\FullName\Microsoft.Office.Interop.Access.dll copy C:\temp\O2003PIA-Files\File\EXCELPIA.DLL C:\temp\O2003PIA-Files\FullName\Microsoft.Office.Interop.Excel.dll copy C:\temp\O2003PIA-Files\File\FORMSPIA.DLL C:\temp\O2003PIA-Files\FullName\Microsoft.Vbe.Interop.Forms.dll copy C:\temp\O2003PIA-Files\File\FPPIA.DLL C:\temp\O2003PIA-Files\FullName\Microsoft.Office.Interop.FrontPage.dll copy C:\temp\O2003PIA-Files\File\FPEPIA.DLL C:\temp\O2003PIA-Files\FullName\Microsoft.Office.Interop.FrontPageEditor.dll copy C:\temp\O2003PIA-Files\File\GRAPHPIA.DLL C:\temp\O2003PIA-Files\FullName\Microsoft.Office.Interop.Graph.dll copy C:\temp\O2003PIA-Files\File\MSTAGPIA.DLL C:\temp\O2003PIA-Files\FullName\Microsoft.Office.Interop.SmartTag.dll copy C:\temp\O2003PIA-Files\File\OWC11PIA.DLL C:\temp\O2003PIA-Files\FullName\Microsoft.Office.Interop.Owc11.dll copy C:\temp\O2003PIA-Files\File\OUTLPIA.DLL C:\temp\O2003PIA-Files\FullName\Microsoft.Office.Interop.Outlook.dll copy C:\temp\O2003PIA-Files\File\OLCTLPIA.DLL C:\temp\O2003PIA-Files\FullName\Microsoft.Office.Interop.OutlookViewCtl.dll copy C:\temp\O2003PIA-Files\File\PPTPIA.DLL C:\temp\O2003PIA-Files\FullName\Microsoft.Office.Interop.PowerPoint.dll copy C:\temp\O2003PIA-Files\File\PUBPIA.DLL C:\temp\O2003PIA-Files\FullName\Microsoft.Office.Interop.Publisher.dll copy C:\temp\O2003PIA-Files\File\VBIDEPIA.DLL C:\temp\O2003PIA-Files\FullName\Microsoft.Vbe.Interop.dll copy C:\temp\O2003PIA-Files\File\WORDPIA.DLL C:\temp\O2003PIA-Files\FullName\Microsoft.Office.Interop.Word.dll copy C:\temp\O2003PIA-Files\File\IPATHPIA.DLL C:\temp\O2003PIA-Files\FullName\Microsoft.Office.Interop.InfoPath.dll copy C:\temp\O2003PIA-Files\File\IPCLRWRP.DLL C:\temp\O2003PIA-Files\FullName\Microsoft.Office.Interop.InfoPath.SemiTrust.dll copy C:\temp\O2003PIA-Files\File\PROJPIA.DLL C:\temp\O2003PIA-Files\FullName\Microsoft.Office.Interop.MSProject.dll copy C:\temp\O2003PIA-Files\File\IPXMLPIA.DLL C:\temp\O2003PIA-Files\FullName\Microsoft.Office.Interop.InfoPath.Xml.dll copy C:\temp\O2003PIA-Files\File\VISIOPIA.DLL C:\temp\O2003PIA-Files\FullName\Microsoft.Office.Interop.Visio.dll copy C:\temp\O2003PIA-Files\File\SAWPIA.DLL C:\temp\O2003PIA-Files\FullName\Microsoft.Office.Interop.Visio.SaveAsWeb.dll copy C:\temp\O2003PIA-Files\File\VOCXPIA.DLL C:\temp\O2003PIA-Files\FullName\Microsoft.Office.Interop.VisOcx.dll copy C:\temp\O2003PIA-Files\File\FL_adodb_dll_____X86.3643236F_FC70_11D3_A536_0090278A1BB8 C:\temp\O2003PIA-Files\FullName\adodb.dll copy C:\temp\O2003PIA-Files\File\FL_msdatasrc_dll_____X86.3643236F_FC70_11D3_A536_0090278A1BB8 C:\temp\O2003PIA-Files\FullName\msdatasrc.dll copy C:\temp\O2003PIA-Files\File\FL_Microsoft_mshtml_dll_____X86.3643236F_FC70_11D3_A536_0090278A1BB8 C:\temp\O2003PIA-Files\FullName\Microsoft.mshtml.dll copy C:\temp\O2003PIA-Files\File\stdole_dll_4_____X86.3643236F_FC70_11D3_A536_0090278A1BB8 C:\temp\O2003PIA-Files\FullName\stdole.dll
And now all the Office 2003 PIA are in our source repository.
–jeroen
via:
- Extracting MSI files « The Wiert Corner – irregular stream of Wiert stuff.
- Office 2003 PIA Redistributable is available – Patrick Smith: Microsoft InfoPath – Site Home – MSDN Blogs.
- Office 2003 Primary Interop Assemblies.
- Office 2003 Update: Redistributable Primary Interop Assemblies.
- http://download.microsoft.com/download/8/3/a/83a40b5a-5050-4940-bcc4-7943e1e59590/O2003PIA.EXE
- Office 2003 Update: Redistributable Primary Interop Assemblies is available for download.
- msgoodies: Extracting files from MSI.
- WiX Toolset.
- WiX Toolset – Download: WiX v3.6 RC.
Leave a comment