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

Unable to "Copy" non-embedded CAB file in same folder as MSI, if Source Path = Destination Path #169

Closed
hairycactus opened this issue Oct 22, 2021 · 2 comments
Assignees

Comments

@hairycactus
Copy link

Observed Behaviour:

LessMSI is unable to detect non-embedded/ external CAB file located in the same folder as the MSI file -- if the output folder path is the same as the source folder containing both the MSI & CAB files.

Eg.
Source Folder: X:\Temp\SourceMSI\ (containing MSI & CAB files)
Destination Folder: X:\Temp\SourceMSI\

Depending on the specific MSI & accompanying CAB files, LessMSI either fails to extract anything at all, or only creates several MSM files (ie. X:\Temp\SourceMSI\*.MSM) without creating a \SourceDir\ subfolder at the destination path.

Tested: LessMSI v1.8.1 (14 Jan 2021) & v1.8.2 (19 Sep 2021)
OS: Win 10 x64

Expected Behaviour:

LessMSI should extract the MSI file contents to the X:\Temp\SourceMSI\SourceDir\ subfolder -- like how it typically does for other types of MSI files.

Sample Files:

MS Visual C++ 2005 SP1 MFC Security Update (14 May 2011)
MS Visual C++ 2008 SP1 MFC Security Update (19 Apr 2011)

Steps to Reproduce:

  1. Use 7-zip to extract the the respective EXE file's MSI & CAB files to a folder.
  2. Drag-drop the MSI file to LessMSI's File field.
  3. Click Extract.

Screenshot:

LessMSI CAB Error

Error Message:

  Error copying file 'D:\zTempDownloads\MSVisualC++Redistb2005SP1x32-MFCSecurityUpdate\vcredis1.cab' to 'D:\zTempDownloads\MSVisualC++Redistb2005SP1x32-MFCSecurityUpdate\vcredis1.cab'.  
System error information:'The operation completed successfully.'
  Technical Detail:
     at LessIO.Strategies.Win32.Win32FileSystemStrategy.Copy(Path source, Path dest)  
     at LessIO.FileSystem.Copy(Path source, Path dest)  
     at LessMsi.Msi.Wixtracts.CabsFromMsiToDisk(Path msi, Database msidb, String outputDir)  
     at LessMsi.Msi.Wixtracts.ExtractFiles(Path msi, String outputDir, MsiFile[] filesToExtract, AsyncCallback progressCallback)  
     at LessMsi.Gui.MainForm.btnExtract_Click(Object sender, EventArgs e)

Ref: #129, #164

activescott added a commit that referenced this issue Oct 25, 2021
…anually placed into the source directory and the source directory was the same directory as the output directory

fixes #169
@activescott activescott self-assigned this Oct 25, 2021
activescott added a commit that referenced this issue Oct 25, 2021
@activescott
Copy link
Owner

🎉 This issue has been resolved in version 1.8.3 🎉

The release is available on:

Your semantic-release bot 📦🚀

@activescott
Copy link
Owner

@hairycactus Thanks for reporting. This should be fixed in the newest release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants