5 Replies Latest reply on Mar 5, 2015 9:45 AM by pthivierge

    Deploying ACE Class Libraries

    formerpigeek

      Hi,

       

       

       

      I have developed PI ACE Calculations using VB.NET, these calculations make use of PI Module Database. The Class libraries now needs to be deployed on to the server along with the ACE contexts and PI Module DB.

       

      What are the deployment steps that I need to follow to successfully deploy the ACE Class Library, ACE Context and PI Module DB with minimal changes on the server after installation? All of these should be a part of the msi installer.

       

       

       

      Thanks & Regards

       

      Kavita

        • Re: Deploying ACE Class Libraries
          Bannikov

          Hello!

           

          As far as I know, there's no simple way to do this. When I've faced with similar problem, I've developed a small utility -- SetupMDB --  that make necessary changes in MDB (I can upload it on your request). Then I've used Inno Setup (www.innosetup.org) to make fully-featured SETUP. This SETUP let used to select PI Server and location for ACE DLL. Then (with help of SetupMDB) MDB was filled with ACE data, and new module appear in ACE Manager. Then I add context manually, but this also can be automated in some way.

           

          I think that this also can be done using regular MS Installer, but I prefer use InnoSetup - it's simple and very powerful tool.

           

          Sergey

            • Re: Deploying ACE Class Libraries
              limesh

              I am Also facing problem to deploy Class Library on PI server.
              I tried it in different way. I did the calculation in Visual Studio And It will create Class Library inside C:\Program Files (x86)\PIPC\ACE\ClassLibraries
              I copy the same class library from C:\Program Files (x86)\PIPC\ACE\ClassLibraries  And past it in Class library folder of PI server. ie C:\Program Files (x86)\PIPC\ACE\ClassLibraries  And Add the necessary context inside ACE Manager. 
              But I am not getting proper result of Calc. Daily I need to recalculate it from ACE manager. to get proper result.

                • Re: Deploying ACE Class Libraries
                  Sam Pride

                  Limesh,

                   

                  Just a couple of questions:

                   

                  • Are you seeing any errors in your logs or ACE Manager?
                  • Do you have any other calculations? If so, are they experiencing the same issues?
                  • If the recalculation is successful, I would consider re-registering the calculation with ACE. Have you tried this? If so, were there any errors?
                  • How is your calculation triggered, is it clock-based or is it based on a tag? If it's naturally triggered, does changing it to clock-based help?

                  This seems like an issue that might be best handled by techsupport.

                • Re: Deploying ACE Class Libraries
                  pthivierge

                  Hello Sergey,

                   

                  This is a clever approach I like that!

                  This is however not for everyone since it requires to master the tool, and you also need to know exactly what needs to be done on the node where you install and how to update the MDB correctly, so there is a small risk of breaking things.

                   

                  Having this said, this is a good automation strategy for someone who publishes ACE Class Libraries regularly.

                • Re: Deploying ACE Class Libraries
                  pthivierge

                  Hi,

                   

                  We have a an existing KB article that explains how to proceed to manually do that, you will have to adapt it to create the MSI you want:

                   

                  KB00307 - How to move PI ACE calculations from a development computer to a production computer

                  https://techsupport.osisoft.com/Troubleshooting/KB/KB00307

                   

                  Make sure to set to AssemblyPath property to the right value on the target production server in case you put the dll in another directory:

                  2015-03-05_10-35-48_Module Database - PI System Management Tools (Administrator).png

                   

                  Then before you start the PI Ace scheduler service, make sure you start a command prompt to see logs continuously:

                  :: THIS IS THE MOST HELFUL COMMAND YOU CAN USE WHEN TROUBLESHOOTING PI ACE SCHEDULER

                  :: THESE COMMAND MUST BE EXECUTED ON THE SAME BOX AS THE PI ACE SCHEDULER

                  :: 1) get into the proper directory

                  :: for an application server

                  cd /d "%pihome%\adm"

                  :: if this is a PI Server

                  ::  cd /d "%piserver%\adm"

                   


                  ::2) then start the continuous logs

                  pigetmsg -f

                  Hope this helps!