Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot extract cab from InstallShield msi's (Extract failed: Failed to close cab extract object, errror: 2) #6

Open
activescott opened this issue Aug 9, 2013 · 2 comments

Comments

@activescott
Copy link
Owner

from https://code.google.com/p/lessmsi/issues/detail?id=27

Reported by alibhai.ashiq, Sep 11, 2012
I have an MSI-based InstallShield 10 MSI that I want to extract the files from. I can view the files in the LessMSI application, but when I attempt to extract them, I get this error:

Error: System.Runtime.InteropServices.COMException (0x00000002): Failed to close cab extract object, error: 2
at Microsoft.Tools.WindowsInstallerXml.Cab.WixExtractCab.Close()
at LessMsi.Msi.Wixtracts.ExplodeAllMediaCabs(Database msidb, DirectoryInfo baseOutputPath)
at LessMsi.Msi.Wixtracts.ExtractFiles(FileInfo msi, DirectoryInfo outputDir, MsiFile[] filesToExtract, AsyncCallback progressCallback)
at LessMsi.Program.DoExtraction(String msiFileName, String outDirName)
at LessMsi.Program.Main(String[] argStrings)

I cannot provide a file (employer's IP), but I am very keen to resolve this.
Jan 27, 2013 Delete comment Project Member #1 activescott
Installshield uses a proprietary cab format. No easy way to deal with this. There is an open source library (mentioned in the libmspack source code AFAIR) that maybe could help but will require quite a bit of effort.
Labels: -Priority-Medium Priority-Low
Jan 27, 2013 Delete comment Project Member #2 activescott
Could at least improve the error message. I know I can detect these cabs now using libmspack.
Summary: Cannot extract cab from InstallShield msi's (Extract failed: Failed to close cab extract object, errror: 2) (was: Extract failed: Failed to close cab extract object, errror: 2)
Aug 1, 2013 Delete comment Project Member #3 activescott
Can someone attach an installshield msi here and I'll try to at least improve the error message by detecting installshield's cabs and writing out an informative error.
Status: Accepted

@activescott
Copy link
Owner Author

The least it could do is detect installshield MSIs and display an actionable error message to the user. As a follow-up issue we could investigate implementing installshield extraction support.

@activescott activescott added this to the v1.3 milestone Sep 19, 2014
@activescott activescott modified the milestones: v1.3, v1.4 Mar 24, 2015
@activescott activescott modified the milestones: v1.4, vNext Nov 6, 2015
@activescott
Copy link
Owner Author

Maybe this lib can actually allow extracting files from cabs in installshield installers: https://github.com/twogood/unshield

@activescott activescott removed this from the vNext milestone Dec 7, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant