I am attempting to deploy a powerbuilder/sybase anywhere application.
When I run the utility apparently works displaying a progress bar until I get the error message below:
Error writing to file iAnywhere.Data.SQL Anywhere.dll Verify that you have access to that directory
Thanks, Melvyn Polatchek
asked 03 Sep '11, 08:14
The SQL Anywhere Deployment Wizard MSI will automatically call "MSIPublishAssemblies" ( http://msdn.microsoft.com/en-us/library/aa370359%28v=vs.85%29.aspx ) as part of its install sequence. If you have selected the SQL Anywhere .NET Deployment components for inclusion in your MSI, it checks for the presence of the version of the .NET Framework deployed on the computer, and if found, registers the SQL Anywhere assemblies in the Global Assembly Cache (GAC). It appears that you currently do not have sufficient privileges to register assemblies into the GAC.
From the Microsoft MSDN link:
Administrators often protect the systemroot directory using an access control list (ACL) to control write and execute access. Because the global assembly cache is installed in a subdirectory of the systemroot directory, it inherits that directory's ACL. It is recommended that only users with Administrator privileges be allowed to delete files from the global assembly cache.
You will need to either re-run the install as an Administrator (alternatively, as a user with privileges to install assemblies into the GAC), or de-select the SQL Anywhere .NET Components when building your MSI install.
As this error seems to rely to the SQL Anywhere .NET provider - Do you need to install that component for your PB application?
If you do not, omitting the provider from the deployment may be the easy way out.
If you do, what .NET runtime version are you targetting?
As a starting point, the following doc (for v12.0.1) may help: Deploying the SQL Anywhere .NET Data Provider
answered 03 Sep '11, 13:25
Not sure why this is happening, but to work around the issue try deselecting the .NET provider from the list of client interfaces when you generate the MSI. The only client interface you need for PowerBuilder is ODBC.
answered 03 Sep '11, 19:26