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

ThermoMSFileReader Installer Issues with MSFileReader_3.1SP4_x64 #5

Open
elanger4 opened this issue Jun 10, 2019 · 5 comments
Open
Labels
bug from Thermo This bug is from the underlying Thermo closesource C++ library, not the pymsfilereader bindings.

Comments

@elanger4
Copy link

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?

@frallain
Copy link
Owner

@elanger4 It seems the COM class name has changed, see ExplodingCabbage@e5568e0 . In the process to update this package to work with MSFileReader/MSFileReader_3.1SP4_x64.exe and publish it to pypi.

@frallain frallain changed the title ThermoMSFileReader Installer Issues ThermoMSFileReader Installer Issues with MSFileReader_3.1SP4_x64 Jul 19, 2019
@frallain
Copy link
Owner

frallain commented Jul 19, 2019

@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.

@frallain frallain added bug bug from Thermo This bug is from the underlying Thermo closesource C++ library, not the pymsfilereader bindings. and removed bug labels Jul 19, 2019
@frallain
Copy link
Owner

frallain commented Jul 21, 2019

@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 SP4 XRawfile2_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.

@FloBay
Copy link

FloBay commented Apr 10, 2020

@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.

  1. Install the software that you want. e.g. MSFileReader_3.1SP4_x64
  2. Run the shell as administrator (right click on cmd)
  3. Go to the thermo .dll file (cd C:\Program Files\Thermo\MSFileReader)
  4. Add to the registry (regsvr32 XRawfile2_x64.dll)

BTW: This was on a Windows 10 (x64).

@frallain
Copy link
Owner

frallain commented Apr 11, 2020 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug from Thermo This bug is from the underlying Thermo closesource C++ library, not the pymsfilereader bindings.
Projects
None yet
Development

No branches or pull requests

3 participants