5 Replies Latest reply on Feb 11, 2014 6:13 PM by rbungubung

    PI-SDKDlg.dll 64-bit issue

    rbungubung

      Hi,

       

      We have an Excel add in (PI-SDK developed) that's been working nicely on a 32 bit Win7.  Some machines have PI-SDK 1.3.6 and a couple machines with SDK 1.4. 

       

      When one of the machines with SDK 1.3.6 was upgraded to 64 bit, we've noticed some parts doesn't work - specifically anything to do with the PISDKDlg.dll.  I saw this thread (http://vcampus.osisoft.com/discussion_hall/development_with_osisoft_sdks/f/8/p/1918/9997.aspx) that seems like what I'm experiencing.  I've compiled the app to specifically target x86 platform to no avail. 

       

      Is there anything else that I could try?

       

      PS. We are currently running Excel 2007.

       

      Thanks.

        • Re: PI-SDKDlg.dll 64-bit issue
          mhamel

          @Renato: Could you validate that the generated *.dll for your add-in is using the platform x86? A tool such as .NET reflector or Dependency Walker would tell you that. Are you using the optimized interop library OSIsoft.PISDKDlg.dll provided during the installation or you have referenced the PISDKDlg.dll COM library in your project and let the tlbimport command creating the mappings?

            • Re: PI-SDKDlg.dll 64-bit issue
              rbungubung

              Hi Mathieu,

               

              Using Dependency Walker, I validated that the dll is compiled on x86 platform.  The PISDKDlg.dll COM library is added as a reference when the project was created.

               

              Thanks,

               

              -Renato

                • Re: PI-SDKDlg.dll 64-bit issue
                  mhamel

                  @Renato: Why aren't you not using the OSIsoft.PISDKlg.dll (interop) library provided with the PI SDK? Could you tell what controls aren't working?

                    • Re: PI-SDKDlg.dll 64-bit issue
                      rbungubung

                      Hi Mathieu,

                       

                      This app was written a few years back and it hasn't really been an issue until now (might be with the 64 bit and/or a newer version of PISDK(?)).

                       

                      I'd be willing to try using the interop library, but I thought that's what I am using behind the scene?  What is the difference between me adding a refernce to the COM dll as suppose to 'using' the optimatized interop dll?  And how do I go about using the optimated interop dll?  Is there another way of 'adding a reference' to these dlls or including these dlls on project?

                       

                      Thanks for your help.

                       

                      -Renato

                        • Re: PI-SDKDlg.dll 64-bit issue
                          rbungubung

                          Hi Mathieu,

                           

                          Thanks for steering me to this direction.  I got it to work by deleting the references to the old the dlls (that's been in the project's bin folder) and adding a new reference to the newer dlls under the .NET tab in the Add Reference screen.  So far, so good.

                           

                          Thanks,

                           

                          -Renato