ArsenalRecon / Arsenal-Image-Mounter

Arsenal Image Mounter mounts the contents of disk images as complete disks in Microsoft Windows.
https://ArsenalRecon.com/weapons/image-mounter
Other
530 stars 89 forks source link

Some dependencies seem to be missing for the driver installers. #40

Closed jrmoore closed 1 year ago

jrmoore commented 1 year ago

Running the driver installer, for example using DriverSetup\ArsenalImageMounterCLISetup.exe /install or the GUI variant at the same location, leads to exceptions due to missing libraries on a Windows 10 22H2 machine without any .NET Framework development workload installed.

The runtime is present, but it seems some libraries are not part of it:

System.IO.FileNotFoundException: Could not load file or assembly 'System.Memory, Version=4.0.1.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. The system cannot find the file specified.
File name: 'System.Memory, Version=4.0.1.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'
   at Arsenal.ImageMounter.MainModule.SetupOperation(OpMode opMode)
   at Arsenal.ImageMounter.MainModule.Main(String[] args)

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

After downloading the nuget package and extracting the .NET 4.6.1 targeted binary, a similar exception occurs for System.Runtime.CompilerServices.Unsafe:

Kernel type: Win10
Kernel supports StorPort: True
Using temp path: C:\Users\Alex\AppData\Local\Temp\ArsenalImageMounter-DriverSetup
Error removing existing device nodes. This will be ignored and driver update operation will continue anyway. Exception: Could not load file or assembly 'System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
CreateOrUpdateRootPnPDevice: InfPath="C:\Users\Alex\AppData\Local\Temp\ArsenalImageMounter-DriverSetup\Win10\phdskmnt.inf", hwid="root\phdskmnt"
System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
File name: 'System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
   at System.MemoryExtensions.AsSpan(String text)
   at Arsenal.ImageMounter.IO.Native.NativeFileIO.CreateRootPnPDevice(IntPtr OwnerWindow, String infPath, ReadOnlyMemory`1 hwid, Boolean ForceReplaceExistingDrivers, Boolean& RebootRequired)
   at Arsenal.ImageMounter.DriverSetup.InstallStorPortDriver(IWin32Window ownerWindow, String setupsource)
   at Arsenal.ImageMounter.DriverSetup.Install(IWin32Window ownerWindow, String setupsource)
   at Arsenal.ImageMounter.DriverSetup.InstallFromZipArchive(IWin32Window ownerWindow, ZipArchive zipFile)
   at Arsenal.ImageMounter.MainModule.SetupOperation(OpMode opMode)
   at Arsenal.ImageMounter.MainModule.Main(String[] args)

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

The package version that provides that assembly is 4.5.3, perhaps a newer one still kept that version, but 4.6.0 already bumped it to 4.0.5.0.

A previous version of the installer, at least the one dating Mar. 21st 2022, used to work as expected.

LTRData commented 1 year ago

Thanks for the report. Yes this seems to be broken. I would recommend using aim_ll.exe and --install switch whenever possible. Both aim_ll.exe and driver files it installs are in DriverSetup.7z package.

LTRData commented 1 year ago

Just removed these old setup applications because they were left overs from rather old versions of the repository and have not been maintained for a long time.