SureQuant Method export

support
SureQuant Method export klemens froehlich  2022-05-19
 
Dear Skyline Developer Team,
I am currently trying to export a SureQuant method from Skyline for an Exploris system.

I get the following error message:

System.IO.IOException: Thermo instrument software may not be installed correctly. The library System\Programs\dependencies\tng\Thermo.TNG.MethodXMLFactory.dll could not be found. ---> System.IO.IOException: Thermo instrument software may not be installed correctly. The library System\Programs\dependencies\tng\Thermo.TNG.MethodXMLFactory.dll could not be found.
   at pwiz.Skyline.Model.ThermoMassListExporter.EnsureLibraries() in C:\proj\skyline_21_2_x64\pwiz_tools\Skyline\Model\Export.cs:line 1065
   at pwiz.Skyline.Model.ThermoSureQuantMethodExporter.ExportMethod(String fileName, String templateName, IProgressMonitor progressMonitor) in C:\proj\skyline_21_2_x64\pwiz_tools\Skyline\Model\Export.cs:line 1992
   at pwiz.Skyline.Controls.LongWaitDlg.RunWork(Action`1 performWork) in C:\proj\skyline_21_2_x64\pwiz_tools\Skyline\Controls\LongWaitDlg.cs:line 254
   --- End of inner exception stack trace ---
   at pwiz.Skyline.Util.Helpers.WrapAndThrowException(Exception x) in C:\proj\skyline_21_2_x64\pwiz_tools\Skyline\Util\Util.cs:line 1939
   at pwiz.Skyline.Controls.LongWaitDlg.PerformWork(Control parent, Int32 delayMillis, Action`1 performWork) in C:\proj\skyline_21_2_x64\pwiz_tools\Skyline\Controls\LongWaitDlg.cs:line 202
   at pwiz.Skyline.Controls.LongWaitDlg.PerformWork(Control parent, Int32 delayMillis, Action`1 performWork) in C:\proj\skyline_21_2_x64\pwiz_tools\Skyline\Controls\LongWaitDlg.cs:line 140
   at pwiz.Skyline.FileUI.ExportDlgProperties.PerformLongExport(Action`1 performExport) in C:\proj\skyline_21_2_x64\pwiz_tools\Skyline\FileUI\ExportMethodDlg.cs:line 2232

I checked the Thermo.TNG.MethodXMLFactory.dll and found it here:
C:\Thermo\Instruments\Exploris\3.1\System\Programs\dependencies\tng\Thermo.TNG.MethodXMLFactory.dll

Is Skyline looking for this dll somewhere else (where I could copy it to)? I have tried to copy the dll into older Exploris software version eg:
C:\Thermo\Instruments\Exploris\3.0\System\Programs\dependencies\tng\Thermo.TNG.MethodXMLFactory.dll
but it still gives me the same error.

Any help would be much appreciated, as the method export for sureQuant would be extremely convenient!!!

Best, Klemens
 
 
Nick Shulman responded:  2022-05-19
Klemens,

It is weird that the error message does not have the full path to the file that it's looking for. A path like that should start with a drive letter like "C:", but, instead, it starts right in with "System\". That might be the reason that Skyline is not able to find the dll's that it's looking for.

Skyline looks in the Windows registry in order to find where your Thermo software is installed. Skyline starts looking at the key "HKEY_Local_Machine\SOFTWARE\Wow6432Node\Thermo Instruments\TNG". The first level below that key are machines, and below that are versions. Skyline looks at the "ProgramPath" value under the first version under the first machine.

Skyline seems to be getting confused about the ProgramPath that Skyline found there.

It might be helpful if you could export the relevant part of the Windows Registry to a text file so that we can take a look at it and figure out why Skyline is getting confused.
To do that, do the following:
1. On the Windows Start Menu, run the program called "Registry Editor"
2. If the address bar is not already showing, then show it using the menu item "VIew > Address Bar"
3. Paste the following into the address bar:
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Thermo Instruments
and press enter
4. Use the menu item "File > Export" to export the selected branch to a file.
5. Send us the file that you exported.

I believe that if your computer had no Thermo software on it at all, then Skyline would be able to successfully export a method. The problem is that because Skyline thinks that it knows which folder has the Thermo software in it, Skyline refuses to export the method because that folder does not contain the files that Skyline expects.
-- Nick
 
klemens froehlich responded:  2022-05-20
hi Nick,
Thanks for looking into this.

I have attached the requested file.

Best, Klemens
 
Nick Shulman responded:  2022-05-20
Thanks for sending that file.
If you want to fix this problem on your own computer, you can change the path value in the registry so that Skyline will not be confused about it.
That is, you would paste the following into the address bar in Registry Editor:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Thermo Instruments\TNG\OrbitrapExploris120\3.1
and then you would right-click on the Program Path value that is displayed. Currently that value is set to "System\Programs\dependencies\tng".
You should change the value to:
C:\Thermo\Instruments\Exploris\3.1\System\Programs\dependencies\tng\

If you do this, then Skyline will no longer be confused by what it is finding in the registry, and I would expect that method export would succeed.

I am not sure how we should actually fix Skyline so that this sort of registry hacking would not be necessary. I will ask around and figure out some way to fix this in an upcoming release of Skyline-Daily.
Skyline always ships with the dll files that it needs to export a method. The reason that we also make Skyline look to see if you have the Thermo software installed is that the software that users have on their computers is often more up to date than what Skyline shipped with.
-- Nick