Advantage .NET Data Provider fails in an SSIS package? - advantage-database-server

I have installed the Advantage .NET Data Provider Release 9.0 for Windows
64-bit on a Windows 2008 R2 64-bit server. I am using SQL Server 2008 R2. I am using the Advantage Data Provider within a Microsoft SSIS package. When I try to transfer data I get
the error "System.DllNotFoundException: Unable to load DLL 'ace32.dll':
The specified module could not be found."

I am purely guessing at this point, but I think this should help.
Unfortunately with the 9.x version of the .Net provider only the 32-bit version of ACE was deployed. In addition, no clients included the 64-bit version of ACE.
(side note, in 9.x the 64-bit version of ACE was still named ace32.dll, but in 10.x it was changed to ace64.dll and is deployed with all clients that support 64-bit)
Try downloading the 64-bit version of the Advantage Server (see link below to 9.0). The install is just a self extracting zip, extract the contents (don't install) and grab the ACE32.dll and AXCWS32.dll (both are 64-bit dlls). Replace the 32-bit versions of ACE32.dll on the system (most likely placing them in the System folder).
http://devzone.advantagedatabase.com/dz/content.aspx?key=20&Release=12&Product=25&Platform=9

Edgar is correct, I had to copy the two files from the install and put them into C:\Windows\System32.

Related

Delphi 10.4: Connection to a MS Access 2019 Database

After repairing a crashed MS Office 2019 I did not manage to reinstall the correct MS-Access database driver for my ADO Connnections on a X64 Win11 system.
I tried to install alternatively the database engines 2010 and 2016, but neither of them was shown.
Does anyone have a hint?
Oswald
Solution:
Download 32-bit Driver
From command-line: Driver.exe /passive
Oswald
Here a longer description of the way to a solution:
My skills are just scratching the surface, I'm afraid. What I know: The IDE of Delphi 10.4 is 32-bit und doesn't work with the 64-bit database engine of Microsoft.
The complete process for getting a working system has been:
Download both (32-bit and 64-bit) drivers
First install the 64-bit driver (not shown in IDE)
Then install from command-line 32-bit driver: accessdatabaseengine.exe /passive
Trying to install a 32-bit driver on a 64-bit Win11-system will raise an error, while not having installed the 64-bit driver first.
Maybe somebody is able to explain this in more depth. I am not…
Oswald

What DLLs do I need for Delphi to run WebView2

I'm running WebView2 in my Delphi 11.1 application.
On my dev machine (Win 11), it works normally. It works on test PC1(Win 10), but when I try running it on the other PC (also Win 10) it doesn't load the page.
All PCs have Microsoft Edge WebView2 Runtime (ver. 99.0.1150.39)
Is there any list of DLLs needed, or can someone provide one.
Not every Windows installation comes pre-loaded with the WebView2Loader.dll required for WebView2 Runtime. You will need to distribute the file with your application. The WebView2 Runtime must be included in the main project directory distributed with the source code.
There are two different ways to distribute WebView2 Runtime with your application.
Fixed Version - Package a fixed version of WebView2Loader.dll to be distributed with your application. Download here.
Evergreen - Package the Evergreen Bootstraper to automatically update the required binaries, or package the Evergreen Standalone Installer to be invoked with the installer/updater for offline use-cases. Download here.
The quickest solution would be to add a fixed version of WebView2Loader.dll to the Delphi project directory.
A more detailed description by Microsoft is available for reference to better understand distributing applications with WebView2 Runtime.

Installing Windows Service via ManagedInstaller - how to install 64-bit service?

I was going to post this, but managed to dig up the answer, so here it is in case anyone else is looking...
My app installs a windows service via:
string[] installargs = new string[] { binaryname };
ManagedInstallerClass.InstallHelper(installargs);
However on a 64-bit platform I want to force the installation to use the 64-bit installer (the equivalent of the Framework64/InstallUtil)
How do I get ManagedInstallerClass.InstallHelper to run the 64-bit version?
Answer: The framework uses the specific installer for the build you are targetting. ie. if you have built an x64 framework and run on a 64-bit OS, it will use the Framework64/InstallUtil. If you have targetted a 32-bit or Any CPU build and run on a either 32-bit or 64-bit OS it will use the Framework/InstallUtil.
Note: a 32-bit build installed on a 64-bit OS will still use the Framework/InstallUtil. there is no workaround - you cant have a 32-bit installer install a 64-bit service. You have to build a separate x64 installer if you need to install a 64-bit service.
Source - Microsoft Forums.

RailsInstaller on Windows 7 64bit?

I tried to use the Rails Installer to get a ruby on rails environment on my Windows 7 64bit today and the .exe won't run because it's made for 32bit instead of 64bit.
Update When I try to start the installer, this message pops up:
Here is the translation:
This version of the file is not compatible with the running version of Windows.
Open the system information of the computer to check if a x86 (32bit) or x64
(64bit) version of this application is neccessary and contact the software vendor.
Is there a 64bit alternative for the installer?
64bits Windows can run 32bits applications, that is what WOW64 layer provides (Windows on Windows)
However, there are specific things you can't perform, like accessing OLE or using 64bits DLLs from 32bits applications or viceversa.
If the issue you're having is connect to a MySQL installation (something you're not mentioning) you should take a look to this blog article:
http://blog.mmediasys.com/2011/07/07/installing-mysql-on-windows-7-x64-and-using-ruby-with-it/
Hope that helps.

Oracle Visual Studio dev on x64 box, targeting x86, getting incorrect format error

I am writing a Windows Service that needs to make a call to an Oracle Database. I have the target environment set for .Net 2.0 and x86 for the compiler. I referenced the Oracle.DataAccess.dll file on my 11.2.0 client for oracle. If i copy it into the GAC, it shows as x86 architecture.
Now, whenever i try to compile the service, I get an "Attempt to load a program with an incorrect format" error. It shows as being in the service's resx file as well as the ServiceInstaller resx file.
This happens regardless of if i target the x86 or x64 platform. Also regardless of setting the DLL to copy local or not. Any idea what is wrong?
ODP.NET is not fully managed, so it calls out to 32 bit unmanaged supporting DLLs (if you installed 32-bit ODAC) or to 64-bit unmanaged supporting DLLs (if you installed 64-bit ODAC).
So first, you need to get the target set correctly, then you need to make sure the right flavor of Oracle DLLs are being picked up.
In this case you chose x86 (32 bit) which means you also need to install 32-bit ODAC AND make sure that you aren't referencing the 64-bit Oracle dlls by mistake.
Christian Shay
Oracle

Resources