on 09-23-2014 8:10 AM
Dear All,
Please help me to solve my problem. I am not able to create the ARD for both type systems (32 Bit and 64 Bit Bit). My system is OS Windows 7, 32 bit operating system. Sometimes my add-ons run successfully for 32 bit , sometimes for 64 bit. I am creating 2 ARD's for each add-on but I have failed.
I have read many threads but I got no success.
Please help me.
Regards
hi,
maybe this document can hel you.
https://websmp210.sap-ag.de/~sapidb/011000358700000247582013E/SDK_CompGuide_90.pdf
regards, alessandro
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks for your reply. I follow below mentioned steps to create the ARD File. I build my add-on code as mentioned below:
Solution Configuration | Solution Platform | Project Properties/Compile/ Advanced Compile Option/ Target CPU | Add-on Registration Data Generator x64 Option |
Debug | x86 | x86 | FALSE (Unchecked) |
Debug | x86 | x86 | True (Checked) |
I was able to create and use ARD by doing in above mentioned way. But sometimes these ARD doesn't work or doesn't get installled.
Regards
Hi Kuldeep,
When you compile you're addon as a 32bit addon (x86) you must ensure that the machine where it will run has the 32bit DI-API installed and the 32bit client running.
The installer must also have the x64 unchecked.
To run your addon in a 64bit machine there are several option, I'll post one of the options:
Compile the addon with x64 flags.
Set the x64 flag in the installer.
Ensure that in the machine where the addon is going to run has only the 64bit DI-API and 64bit client installed.
Please note that there are other ways to make your addon work in these environments but this is a simple way you can try and check if everything works well.
Best regards,
Pedro Magueija
Hi Kuldeep,
If you want a full-proof solution :
-. For SBO 32 bit
- Keep everything as you have done with all the previous versions
-. For SBO 64 bit
Point 1,2,3 is straight forward, you can set it up directly in your project.
Point 4, If you are using B1Wizardbase or any other custom DLL, you will need to get a 64 bit version of them.
B1Wizardbase, you need to get the source code, retarget and recompiled it for x64 and Net Framework 3.5
Point 5, if you open up your B1DE generated installer, you can find an external function declaration under the AddOnInstallManager.vb
'SetAddOnFolder - Use it if you want to change the installation folder.
Declare Function SetAddOnFolder Lib "AddOnInstallAPI.dll" (ByVal strPath As String) As Int32
'RestartNeeded - Use it if your installation requires a restart, it will cause
'the SBO application to close itself after the installation is complete.
Declare Function RestartNeeded Lib "AddOnInstallAPI.dll" () As Int32
You need to modify it to read :
'SetAddOnFolder - Use it if you want to change the installation folder.
Declare Function SetAddOnFolder Lib "AddOnInstallAPI_x64.dll" (ByVal strPath As String) As Int32
'RestartNeeded - Use it if your installation requires a restart, it will cause
'the SBO application to close itself after the installation is complete.
Declare Function RestartNeeded Lib "AddOnInstallAPI_x64.dll" () As Int32
Under the same AddonInstallManager.VB, modify the InitRegistryKeyValues() to
Protected Sub InitRegistryKeyValues()
keyValue = "SOFTWARE\\SAP\\SAP Manage\\SAP Business One\\AddOnInstaller\\x64" _
+ "\\" + installInfo.PartnerName + "\\" + installInfo.AddOnName
subKeyAddOnInstallDirValue = "AddOnInstallDir"
subKeyDllPathValue = "DllPath"
End Sub
Also, modify the UnregisterAddOnInfo() to
Private Sub UnregisterAddOnInfo()
Dim regParam As RegistryKey
regParam = _
Registry.CurrentUser.OpenSubKey( _
"SOFTWARE\\SAP\\SAP Manage\\SAP Business One\\AddOnInstaller\\x64" _
+ "\\" + installInfo.PartnerName, True)
If (Not regParam Is Nothing) Then
regParam.DeleteSubKey(installInfo.AddOnName, True)
regParam.Close()
End If
End Sub
Finally, retarget the installer to x64 recompiled, and then regenerate the ARD file.
Do not forget to modify the ARD file to PLATFORM="X"
Regards
Edy
Hi Kuldeep,
SAPbouiCOM is inside the SBO 64 bit client installation folder.
B1Wizardbase, you will need to build your own from the B1DE Source Code.
Or you can download here.
After you can compile your addon successfully in 64 bit, I can try to assist you on the rest of the step here, or by teamviewer.
Regards
Edy
Hi Kuldeep,
For the 32 bit, you dont need to do anything.
You have been doing it all the time don't you ?
But if you are thinking of having 1 source for x86 and x64, then the answer is no you cannot have only 1 source for x86 and x64.
x86 needs to be compiled in x86
x64 needs to be compiled in x64.
only under certain circumstances, you can have x86 running in x64.
As I mentioned in my original reply, if you want a full-proof, you need to follow mine.
Regards
Edy
User | Count |
---|---|
108 | |
12 | |
11 | |
6 | |
5 | |
4 | |
3 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.