cancel
Showing results for 
Search instead for 
Did you mean: 

SP01: DIAPI does not get registered?

Former Member
0 Kudos

I have performed a client installation of B1 2005A SP01 on a machine that did not have the server installed, and it appears that the DIAPI files were copied but not registered. Is this an error in the client installer?

Accepted Solutions (0)

Answers (1)

Answers (1)

Eneveux
Product and Topic Expert
Product and Topic Expert
0 Kudos

Ben,

I don't think so as I have not heard of this issue from others that have tested SP01.

In any event, try installing the DI API for the client from the ..\Program Files\SAP\SAP Business One\B1_SHR\B1DIAPI. If you still run into issues where it does not register, in my experience that has been an issue with the machines registry. You would then want to un-install Business One on the workstation using the Windows Add/Remove Programs and after completed use a registry cleaner to remove all SAP Business One entries.

HTH,

Eddy

Former Member
0 Kudos

The problem is not that I can't get the DI registered here. That's easy; just run regsvr32. The problem is that our install program will need to manually register the DI if the SAP client install will not be doing it. It will have to register the DI "manually" in order to prevent customers from hitting fatal errors when trying to use our AddOn. Our current plan is to have our install program perform this registration during the installation of our add-on, but that doesn't seem right to me. I think the SAP client installer should have registered the DI for us so we wouldn't have to add such code to our installation. If we can't rely on the DI being registered 100% of the time, we need to have this safety measure, so I think this needs some investigation... is it possible that nobody else has reported the problem because most other people run the client on the same machine as the server? Is it possible that nobody else has reported the problem because people wanting to use the DI would install the SDK, and maybe the SDK install would register it?

We cannot ask of all our users that they jump through all the hoops described above just to get the install to work properly. Should I try this on some more environments to see if the problem is repeated, or is there someone who can verify that this is a problem on machines where a B1 client (and nothing else) has just been installed on a new machine?

Is it possible that the DI is registered only when the UI runs? I did not run the application before checking to see if the DI was registered.

former_member185703
Active Contributor
0 Kudos

DI API should always get registered.

I would expect though that a lot (most?) of the partners who tested SP01 have it all on one machine, but I expect that others run test on a complete system landscape.

Maybe someone can share results?

I recall issues with registering COM-libraries through installers (InstallShield) in previous projects as well.

As far as I remember it was problematic to tell from within the installation program whether or not the registration really was successful...

I remember that colleagues in R&D had mentioned more than one year ago that that happens to them sometimes as well.

The open question is: under what circumstances exactly?

I think we need to collect information about the systems on which the issue occurrs.

Can you share this information?

Former Member
0 Kudos

I was running on a virtual machine (Virtual PC) with Windows XP, and the machine had B1 2004 client <b>and</b> server installed, and when I installed the 2005 client (<b>only</b> client) from the host machine's 2005 server (B1_SHR), it "upgraded" the client software to 2005, removing the 2004 client, I think. Those are the unique circumstances of my test. Everything (as far as I know) operated as expected, except for the registration of the DI.

Former Member
0 Kudos

I've figured out the problem. Apparently the DI does not get registered until you first run the B1 client. If you try to do anything with the DI after the client is installed, but before you run it, it would fail because it's not registered by the installation.