cancel
Showing results for 
Search instead for 
Did you mean: 

Create client install package with 32-bit iAnywhere

former_member329524
Active Participant
0 Kudos

Hello, all

I wonder of someone can offer me a walkthrough for creating a client install package, which would contain 32-bit entity framework support.

I am having serious problem with it, becasue my app is 32-bit and it uses entity framework. So far, the only way I managed to get it to work is to install the full SQL Anywhere from the instal disk. I keep failing to create a small client deployment package.

I need this for versions 12 and 16.

Can anyone give me a hint on how to do it?

Thank you

Arcady

Accepted Solutions (0)

Answers (1)

Answers (1)

JasonHinsperger
Advisor
Advisor
0 Kudos

Hi Arcady,

   have you reviewed the deployment documentation?

DocCommentXchange--ADO.NetDeployment

DocCommentXchange--.NetProviderDeployment

There is also a deployment wizard that ships with SQL Anywhere that walks you through creating a deployment install. It is located in the depoyment directory of your SQL Anywhere install:

%SQLANYWHERE%\deployment\DeploymentWizard.exe

If you have done the above and are still having problems, can you provide some more specific details on what messages/errors you are seeing when you deploy?

--Jason

jeff_albion
Employee
Employee
0 Kudos

Hi Arcady,

In addition to Jason's notes, it should be noted that we are aware of an issue with the SQL Anywhere Deployment Wizard not properly registering the ADO.NET provider with the system once it's installed (it fails to set the system PATH environment variable and associated SQL Anywhere registry keys).

See this question on the sqlanywhere-forum and my recommended work-around for this problem:

---

Until we can fix this issue in an EBF, there is a temporary workaround. In the folder \Deployment in your original SQL Anywhere 16 installation, there is a file 'master.xml'. You will need to edit this file in a text editor:


Find the lines:


<feature id="CMN32" hidden="true">
   <include id="common_registry_entries_32" />


Add the following text:

<feature id="CMN32" hidden="true">

   <include id="common_registry_entries_32" />

   <registry root="HKEY_LOCAL_MACHINE" path="SOFTWARE\Sybase\SQL Anywhere\16.0">

   <key name="Location" value="[SQLANYDIR]" />

   <key name="Language" value="[LANGUAGE]" />

   </registry>

   <environment name="*=-PATH" value="[~];[SQLANYDIR]\BIN32" />

   <environment name="*=-SQLANY16" value="[SQLANYDIR]" />

Below that, there are the lines:

<feature id="CMN64" deploy64="true" hidden="true">
   <include id="common_registry_entries_64" />


Add the following text:

<feature id="CMN64" deploy64="true" hidden="true">

   <include id="common_registry_entries_64" />

   <registry root="HKEY_LOCAL_MACHINE" path="SOFTWARE\Sybase\SQL Anywhere\16.0" deploy64="TRUE">

   <key name="Location" value="[SQLANYDIR]" />

   <key name="Language" value="[LANGUAGE]" />

   </registry>

   <environment name="*=-PATH" value="[~];[SQLANYDIR]\BIN64" />

   <environment name="*=-SQLANY16" value="[SQLANYDIR]" />


---

This issue is now resolved as CR #755094, in builds 16.0 build 1794 and above. (Found here: Download directly the Windows x86/x64 16.0 SP9 from sybase.com or using SAP Download Manager from the SQL Anywhere 16.0 Support Packages area in SAP Service Marketplace)

Regards,

Jeff Albion

SAP Active Global Support

Former Member
0 Kudos

Hi Jason,

followed your suggestion:

http://dcx.sybase.com/index.html#sa160/en/dbprogramming/installing-adodotnet-development.html

according to this link we only need 4 files for deployment:

iAnywhere.Data.SQLAnywhere.v4.0

policy.16.0.iAnywhere.Data.SQLAnywhere.v4.0.dll

dbcon16.dll

dblgen16.dll

The first 2 files (managed code) placed on app folder.

The last 2 files (unman-aged code) placed almost anywhere(app folder,windows , system32, inetsrv(for iis)

The result: every attempt to use var saCon = new Anywhere.Data.SQLAnywhere.SAConnection();

end with can't find dblgen16.dll message.

The only thing that solved this issue was build a package with the wizard (.Net only).

And add path to environment variables.

JasonHinsperger
Advisor
Advisor
0 Kudos

The unmanaged dlls (dbcon/dblg) must be findable by the .Net provider when it is loaded.  If they are not in the path (as you found out), you will get the error you mentioned.

Also, if you haven't, you need to register the .Net provider when it is installed on the system (mentioned on the next page of the docs in the link)

DocCommentXchange

jeff_albion
Employee
Employee
0 Kudos

Hello Shlomo,

As I previously mentioned, this is an expected error based on the original problem with the Deployment Wizard (CR #755094), now resolved in 16.0 builds 1794 and above (i.e. 16.0 SP9 or higher). I have updated my original answer with the fix details and workaround details for existing SQL Anywhere 16.0 installations.

The error "iAnywhere.Data.SQLAnywhere.SAException: Cannot find the language

resource file dblgen16.dll" is documented in KBA #1984310.

Regards,

Jeff Albion

SAP Activel Global Support