The short version: Phidget22.Net.dll needs to have unique (incremental) product version numbers for automated installers to work properly. Currently I believe the product version is always set to 1.0 which causes installers to break when trying to upgrade Phidget22.Net.dll library.
tl;dr
I had a long-standing issue when upgrading Phidgets libraries in my own set-up package. I use Visual Studio Installer Projects to bundle everything 'automatically' and include dll/x86|x64 folders and DLLs.
The issue happens when I upgrade Phidgets drivers, then bundle everything into MSI. The MSI has all the correct version of Phidget22*.dll but when the intaller tries to upgrade previous version of my software it fails to replace Phidgets22.Net.dll as this dll does not seem to have product versioning. This was going on for a while and I had some time today to look into it and found this in the installation logs:
Code: Select all
MSI (s) (50:04) [12:37:25:410]: Executing op: FileCopy(SourceName=PHIDGE~1.DLL|Phidget22.NET.dll,SourceCabKey=_1585AF4CB3CF78F8AB886CB93D6C7798,DestName=Phidget22.NET.dll,Attributes=512,FileSize=305152,PerTick=65536,,VerifyMedia=1,,,,,CheckCRC=0,Version=1.0.0.0,Language=0,InstallMode=58982400,,,,,,,)
MSI (s) (50:04) [12:37:25:410]: File: C:\Program Files (x86)\MyCompany\MyApp\Phidget22.NET.dll; Won't Overwrite; Won't patch; Existing file is of an equal version
Would it be possible to issue new drivers with incremental versioning so the installers can update files automatically?