1. Robert Martyn
  2. PowerBuilder
  3. Tuesday, 21 April 2020 16:06 PM UTC

For our application, we don't use the MSI installer to deploy the runtime DLL's on our client machines, mostly because we want a completely silent install.  I did try using the silent install options, but could never get it to work.  If I could get that to work, then I would consider just using the MSI file to deploy the runtime files.  So if anyone has suggestions for that, please share them.

 

Instead, we take the files and create our own cab file using MakeCab.exe.  Unfortunately, we are now having issues with performing Excel 12 extracts because it relies on a .NET assembly, and for the life of me, I can't figure out how to add the assemblies to the GAC on the client machines from a command prompt.  If anyone has suggestions how to do this, I would be most grateful.

Armeen Mazda @Appeon Accepted Answer Pending Moderation
  1. Tuesday, 21 April 2020 16:22 PM UTC
  2. PowerBuilder
  3. # 1

There is a new feature added to PowerBuilder 2019 R2 that allows you to call .NET DLLs natively from PowerScript.  As Bruce Armstrong mentions in this post (https://community.appeon.com/index.php/qna/q-a/net-importer-tool), one benefit is you don't have to deal with GAC.

Comment
There are no comments made yet.
Robert Martyn Accepted Answer Pending Moderation
  1. Tuesday, 21 April 2020 17:07 PM UTC
  2. PowerBuilder
  3. # 2

I'm referring to this section of the Runtime Packager Help file:

If your application saves DataWindow or graph data in Microsoft Excel 2007 format, select the MS Excel12 Support check box.

The Runtime Packager adds the PBDWExcel12Interop190.dll and Sybase.PowerBuilder.DataWindow.Excel12.dll files to the MSM or MSI package that you generate. It does not add the .NET Framework that is also required for Microsoft Excel 2007 support.

The Sybase.PowerBuilder.DataWindow.Excel12.dll file will be installed to the Windows GAC folder, for example, C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Sybase.PowerBuilder.DataWindow.Excel12, when you run the MSM or MSI.

 

When it says "it does not add the .NET Framework that is also required", which framework would that be?  So, I'm guessing I have to figure out if the user has that on their machine and if not, force that to be installed as well?

How can I add these DLL's to the GAC on a client machine from a command prompt.  Or, how can I get the MSI to install silently on a client machine?

Comment
  1. Armeen Mazda @Appeon
  2. Tuesday, 21 April 2020 18:32 PM UTC
If I'm not mistaken, Windows 10 comes pre-installed with .NET 4.x framework by default, and .NET framework is required to run any modern version of Excel anyway. So I don't think you have to worry about the .NET framework these days.
  1. Helpful
There are no comments made yet.
Robert Martyn Accepted Answer Pending Moderation
  1. Tuesday, 21 April 2020 18:47 PM UTC
  2. PowerBuilder
  3. # 3

OK, but what about getting the dll's into the GAC on the client machine?  The MSI does that as part of the install for a reason.  So, I'm guessing I need to get that in there too somehow.

Comment
  1. Armeen Mazda @Appeon
  2. Tuesday, 21 April 2020 19:12 PM UTC
Sorry, I’m not familiar with that part. Let’s see what others say.
  1. Helpful
  1. Robert Martyn
  2. Tuesday, 21 April 2020 19:28 PM UTC
Can you ask your engineers why it needs those dll's registered in the GAC? That would be a good place to start.



And like I said, I tried doing a silent install using the MSI, but it doesn't seem to do anything:

msiexec /i c:\data\deploy\PBCLTTR190.msi /quiet /qn /norestart /log c:\temp\install.log



  1. Helpful
There are no comments made yet.
Ken Guo @Appeon Accepted Answer Pending Moderation
  1. Wednesday, 22 April 2020 09:00 AM UTC
  2. PowerBuilder
  3. # 4

Hi Robert,

 

PB Runtime Package is an MSI program. Thus its silent install command could be:

PBCLTTR190.msi /qn /l c:\temp\install.log

 

However, before installing the PB Runtime Package, you should copy three DLLs  (msvcr100.dll and msvcp100.dll atl100.dll) from Microsoft to the installation directory first. Otherwise, PBjvm190.dll will fail to be registered, it will also lead to the failure of installing MSI, including Silent install.

 

 

 

Please refer to the link below for more details:

https://docs.appeon.com/appeon_online_help/pb2019r2/application_techniques/ch36s03.html#Microsoft_files

 

If you want to silent install it successfully, you should copy those three Microsoft DLLs to the installation directory first, you can also copy them to Windows\System32 (64-bit) or Windows\SysWOW64 (32-bit).

 

Note: These three DLLs have 32-bit and 64-bit. You can obtain these DLL files from the %Appeon%\Shared\PowerBuilder (for 32-bit) or %Appeon%\Shared\PowerBuilder\x64 (for 64-bit) folder.

 

Furthermore, if you want to register the DLL to GAC by yourself, you can use the following command:

gacutil.exe /i Sybase.PowerBuilder.DataWindow.Excel12.dll

Please refer to the link below for more details:

https://docs.microsoft.com/en-us/dotnet/framework/app-domains/install-assembly-into-gac

 

Besides, in PB 2019 R2, you don’t need to register the excel DLL anymore.

 

Regards,

Ken

 

Comment
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.