pymsfilereader
pymsfilereader copied to clipboard
ThermoMSFileReader Installer Issues with MSFileReader_3.1SP4_x64
After following the instructions in the README & running the MSFileReader/MSFileReader_3.1SP4_x64.exe
installer, trying to
rawfile = MSFileReader.ThermoRawfile("myfile.raw")
results in an "Invalid class string" error resulting from CreateObject line in MSFileReader.py.
Looks like the installer doesn't properly install MSFileReader, therefore comtypes can't create the object. Is this something we should take up with Thermo?
@elanger4 It seems the COM class name has changed, see https://github.com/ExplodingCabbage/MSFileReader-Python-bindings/commit/e5568e06539acb4c81f3bc51d0033c67553423db . In the process to update this package to work with MSFileReader/MSFileReader_3.1SP4_x64.exe and publish it to pypi.
@elanger4 I've not been able yet to make 3.1SP4 work. It seems like it is not registered in the COM server, and registering myself with %systemroot%\SysWoW64\regsvr32 "C:\Program Files\Thermo\MSFileReader\XRawfile2_x64.dll"
with admin permissions gives me the following error
The module "C:\Program Files\Thermo\MSFileReader\XRawfile2_x64.dll" failed to load.
Make sure the binary is stored at the specified path or debug it to check for problems with the binary or dependent .DLL files.
The specified module could not be found.
I think we should bring this up to Thermo, do you have a communication channel with them? Because I don't at the moment.
@elanger4 I found out what is the problem with MSFileReader 3.1 SP4 x64 : it does not write anything to the Windows registry to register its XRawfile2_x64.dll
. But I circumvented this and made it work by
- installing MSFileReader 3.1 SP4
- backup the
C:\Program Files\Thermo\MSFileReader\XRawfile2_x64.dll
file somewhere - uninstall MSFileReader 3.1 SP4, then install MSFileReader 3.1 SP2
- override the 3.1 SP2
C:\Program Files\Thermo\MSFileReader\XRawfile2_x64.dll
with the 3.1 SP4XRawfile2_x64.dll
backed up previously.
I can confirm that the 3.1 SP4 dll is taken into account because .Version()
gives 3.1.9.0
and not 3.1.5.0
. These versions are XRawfile2_x64.dll
versions that you can see by right clicking on the dll file and going to the details tab.
@frallain I had installation issues as well, and your suggested approach did not work for me. As you said, the installation does not write anything to the Windows registry. Consequently, what solved it for me, was registering the Thermo .dll to the COM Registry manually.
- Install the software that you want. e.g. MSFileReader_3.1SP4_x64
- Run the shell as administrator (right click on cmd)
- Go to the thermo .dll file (cd C:\Program Files\Thermo\MSFileReader)
- Add to the registry (regsvr32 XRawfile2_x64.dll)
BTW: This was on a Windows 10 (x64).
Very good to know, I'll add it to the Readme as the primary way of doing it because simpler. Thanks for your feedback
On Friday, April 10, 2020, Florian P. Bayer [email protected] wrote:
@frallain I had installations issues as well, and your suggested approach did not work for me. As you said, the installation does not write anything to the Windows registry. Consequently, what solved it for me, was registering the Thermo .dll to the COM Registry manually.
Install the software that you want. e.g. MSFileReader_3.1SP4_x64 Run the shell as administrator (right click on cmd) Go to the thermo .dll file (cd C:\Program Files\Thermo\MSFileReader) Add to the registry (regsvr32 XRawfile2_x64.dll)
BTW: This was on a Windows 10 (x64).
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.< https://ci5.googleusercontent.com/proxy/j4togmk7ytbTOuFfYP1Z7AbMCtjFSo5W0JIQ95oW3p2lk8XsUmb2KZvxugicB3TiF43L1rJfaNwMEmEapsB1X9D_2HaHkeDEa8EKcuu5Hhtt7BGutzq50MLJkBF1WptkBy41rjpQGR_ibkXPulja4OjA-VaverxwtWIFz-5i0HVHvtl1VSep8UX28zAiiu38BA37XzlpQ47anh32JfQ0EhLckp4g4F2G81n4ycJdnQ=s0-d-e1-ft#https://github.com/notifications/beacon/AAOVBWQTPMGSQ3JRLDOXTQ3RL36QDA5CNFSM4HWZNE42YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOER5DT3Y.gif
--
François ALLAIN +33 6 51 39 99 06