EndInstall() Call Returns Zero But SAP Still Times Out?
I have an add on installer where the setup.exe file was created and compiled using InnoSetup. Since switching from 32 bit to 64 bit it has been a struggle since there is so little documented by SAP on this. I finally found out that we cannot call the EndInstall and EndUninstall functions directly in AddOnInstallAPI_x64.dll like we could in AddOnInstallAPI.dll for 32 bit add ons. I created a Visual Studio wrapper project that contains the calls to EndInstall and EndUninstall and I launch that compiled executable at the end of my setup.exe installation procedure. I have logging inside the wrapper which gives me the result of the EndInstall call and it is returning a 0 which means it was successful. Even still, SAP still sits until it times out and tells me the add on registration failed and it needs to be corrected. Oddly enough, if I run my wrapper executable manually right at the end of my installer, SAP does get the signal and says the add on was installed successfully.
I need to get this resolved so I can do a required add on upgrade. Has anyone else experienced this? Is there any way yet that we can call the 64-bit functions directly from the DLL file yet? Why has SAP not addressed this yet?
Thanks for you responses. I cannot call any functions in the 64 bit DLL from InnoSetup. I changed my wrapper project back to calling EndInstallEx and it worked once and then started actually crashing SAP B1 altogether. The only difference I could see was that the time it worked it ran very slow. I put a sleep in my script to timeout for 10 seconds and now it works perfectly fine. If I call EndInstallEx and sooner than 10 seconds, either the installer times out or it crashes SAP B1. I'm not sure why but I guess I'll leave it wait so it succeeds.