upgrade to MH 11.1

Hello,

i upgraded my MH QUANT 10.1 to 11.1 and since then the batch.script doesn't work for me, we are using a modified component.config, do you know where the error could be? This component.config worked with all 10 versions of masshunter (10,10.1 and 10.2)

Thank you.

Parents
  • First of all, thank you for posting publicly, I had not noticed this interface feature of MassHunter Quant, it looks very useful.

    Were you able to get it working in 11.1?

    If you're allowed to share your "IScriptable" folder, I would be very interested in seeing an use example. I am University/Government employed in Denmark, if that helps regarding permissions. Slight smile

    I am aware it will not function fully on my machine, but csc.exe indicates some compiling failing at the initialization, and you don't seem to be referencing any internal dll, so I should get far enough that I might be able to reproduce or not, and if it doesn't fail on my machine, you can get a hint at what is wrong.

  • Hi, sorry i can't share our script, but i can share testing script for compilation purposes. It still doesn't work on MH 11.1, compilation of methods from IScriptableInterface does not work when uploading a batch. You must create IScriptable folder like this C:\MassHunter\Scripts\Quant\IScriptable\Batch_Script.txt"> and copy that batch_script.txt into , and copy component.config.xml here C:\Program Files\Agilent\MassHunter\Workstation\Quant\bin, make backup of that component.config.

    <?xml version="1.0" encoding="utf-8"?>
    <components>
      <defaultnamespace>Agilent.MassSpectrometry.DataAnalysis.Quantitative</defaultnamespace>
      <references>
        <reference framework="true" assembly="System.Data.dll"/>
        <reference framework="true" assembly="System.Data.DataSetExtensions.dll"/>
        <reference framework="true" assembly="System.Xml.dll"/>
        <reference framework="true" assembly="System.Web.Services.dll"/>
        <reference framework="false" assembly="Quantitation.dll"/>
        <reference framework="false" assembly="QuantUtils.dll"/>
        <reference framework="false" assembly="ScriptableInterfaces.dll"/>
        <reference framework="true" assembly="System.Linq.dll"/>
        <reference framework="true" assembly="System.Core.dll"/>
        <reference framework="true" assembly="System.Xml.Linq.dll"/>
        <reference framework="true" assembly="System.Windows.Forms.dll"/>
        <reference framework="true" assembly="System.Threading.Tasks.dll"/>
        <reference framework="true" assembly="System.Drawing.dll"/>
        <reference framework="true" assembly="System.Net.dll"/>
        <reference framework="true" assembly="System.IO.dll"/>
      </references>
      <interface name="IScriptableSample">
        <implementation assembly="CompoundMath_Script.dll">
          <script name="CompoundMath_Script.txt">
            <references>
              <reference framework="false" assembly="BatchAnalysis.dll"/>
            </references>
          </script>
        </implementation>
      </interface>
      <interface name="ICustomExpressions">
        <implementation assembly="C:\MassHunter\Scripts\Quant\IScriptable\CustomExpressions_Script.dll">
          <script name="C:\MassHunter\Scripts\Quant\IScriptable\CustomExpressions_Script.cs">
            <references>
            </references>
          </script>
        </implementation>
      </interface>
      <!--<interface name="IScriptableBatch">
        <implementation assembly="C:\MassHunter\Scripts\Quant\IScriptable\Batch_Script.dll">
          <script name="C:\MassHunter\Scripts\Quant\IScriptable\Batch_Script.txt">
            <references>
              <reference framework="false" assembly="BatchAnalysis.dll"/>
            </references>
          </script>
        </implementation>
      </interface>-->
      <interface name="IScriptableBatch">
        <implementation assembly="C:\MassHunter\Scripts\Quant\IScriptable\Batch_Script.dll">
          <script name="C:\MassHunter\Scripts\Quant\IScriptable\Batch_Script.txt">
            <references>
              <reference framework="false" assembly="BatchAnalysis.dll"/>
              <reference framework="true" assembly="System.Data.dll"/>
              <reference framework="true" assembly="System.Linq.dll"/>
              <!--<reference framework="true" assembly="System.Linq.Enumerable.dll"/>-->
              <reference framework="true" assembly="System.Data.DataSetExtensions.dll"/>
              <reference framework="true" assembly="System.Collections.dll"/>
              <reference framework="true" assembly="System.Xml.Linq.dll"/>
              <reference framework="true" assembly="System.IO.dll"/>
              <reference framework="true" assembly="System.Xml.dll"/>
              <reference framework="true" assembly="System.Core.dll"/>
              <reference framework="true" assembly="System.Threading.Tasks.dll"/>
              <reference framework="true" assembly="System.Net.dll"/>
            </references>
          </script>
        </implementation>
      </interface>
      <interface name="IScriptableOutlier" instanceName="Accuracy">
        <implementation assembly="OutlierAccuracy_Script.dll">
          <script name="OutlierAccuracy_Script.txt">
            <references>
            </references>
          </script>
        </implementation>
      </interface>
      <interface name="IScriptableSample">
        <implementation assembly="Sample_Script.dll">
          <script name="Sample_Script.txt">
            <references>
            </references>
          </script>
        </implementation>
      </interface>
      <interface name="IScriptableCompound">
        <implementation assembly="Compound_Script.dll">
          <script name="Compound_Script.txt">
            <references>
            </references>
          </script>
        </implementation>
      </interface>
      <interface name="IScriptableQuantifierIon">
        <implementation assembly="QuantifierIon_Script.dll">
          <script name="QuantifierIon_Script.txt">
            <references>
            </references>
          </script>
        </implementation>
      </interface>
      <interface name="IScriptableQualifierIon">
        <implementation assembly="QualifierIon_Script.dll">
          <script name="QualifierIon_Script.txt">
            <references>
            </references>
          </script>
        </implementation>
      </interface>
    </components>
    using System;
    using Agilent.MassSpectrometry.DataAnalysis.Quantitative;
    
    namespace ScriptTest
    {
        internal class Batch_Script
        {
        }
    
        public class ScriptableBatch : IScriptableBatch
        {
            public void _OnBatchAnalysisStarting(QuantitationDataSet dataSet, short batchId)
            {
                // ALS Implementation
            }
    
            public void _OnBatchAnalyzed(QuantitationDataSet dataSet, short batchId)
            {
                // ALS Implementation
            }
    
            public void _OnBatchLoaded(QuantitationDataSet dataSet, short batchId)
            {
                // ALS Implementation
            }
        }
    }

  • Thank you for trying it, yes we think something is wrong with mh 11.1, i hope it will be fixed. If you find something how to fix it pls let me know, i will do same :-)

  • Unfortunately, this remains broken in MassHunter Quant v12.0.

       , do I need to reach out to my local support team, or can you log the error? This is not a .NET Framework issue, this is MH Quant using an invalid "CompilerVersion" when "System.CodeCom.Compiler.GetCompilerPath" is being called. I believe the correct "CompilerVersion" would be "v4.0" for ALL "v4.X"

  •  and  ,

    The issue has been duplicated by product support. Once there is an update or resolution I will post more information.

  • hello Howard,
    can i ask you, if u have any news about this topic? Is it working on latest version of MH?

  • Hello  ,

    As far as we know this should be resolved in Quant 12.1 which is the next release of quant. We currently have no information on when this version will be available. You can check your email and product preferences in SubscribeNet to be notified when this version is released. 

Reply Children
Was this helpful?