activescott/lessmsi

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

hairycactus opened this issue ยท 2 comments

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

๐ŸŽ‰ This issue has been resolved in version 1.8.3 ๐ŸŽ‰

The release is available on:

Your semantic-release bot ๐Ÿ“ฆ๐Ÿš€

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