We're using winusb driver for our device, but it doesn't work on Windows 7 x64 - device-driver

What do we do wrong?
Inf file:
; Adapted from the example INF in the Microsoft document "How to Use WinUSB to Communicate with a USB Device"
[Version]
Signature = "$Windows NT$"
Class = NTMR
ClassGUID={6E76E110-A9AC-46fb-AD33-1F0444672821}
Provider = %ProviderName%
DriverVer=05/20/2009,1.0.0
CatalogFile=ti_0451_9001_ia64.cat
; ================== Class section ==================
[ClassInstall32]
Addreg=UsbReg
[UsbReg]
HKR,,,0,%ClassName%
HKR,,Icon,,-1
; ========== Manufacturer/Models sections ===========
[Manufacturer]
%ProviderName% = MyDevice_WinUSB,NTx86,NTamd64,NTia64
[MyDevice_WinUSB.NTx86]
%USB\MyDevice.DeviceDesc% =USB_Install, USB\VID_0451&PID_9001
[MyDevice_WinUSB.NTamd64]
%USB\MyDevice.DeviceDesc% =USB_Install, USB\VID_0451&PID_9001
[MyDevice_WinUSB.NTia64]
%USB\MyDevice.DeviceDesc% =USB_Install, USB\VID_0451&PID_9001
; =================== Installation ===================
[USB_Install]
;Include=winusb.inf
Needs=WINUSB.NT
[USB_Install.Services]
;Include=winusb.inf
AddService=WinUSB,0x00000002,WinUSB_ServiceInstall
[WinUSB_ServiceInstall]
DisplayName = %WinUSB_SvcDesc%
ServiceType = 1
StartType = 3
ErrorControl = 1
ServiceBinary = %12%\WinUSB.sys
[USB_Install.Wdf]
KmdfService=WINUSB, WinUsb_Install
UmdfServiceOrder=WINUSB
[WinUSB_Install]
KmdfLibraryVersion=1.7
[USB_Install.HW]
AddReg=Dev_AddReg
[Dev_AddReg]
HKR,,DeviceInterfaceGUIDs,0x10000,"{ca4f3183-4521-4a24-81aa-46dfcb2cb017}"
[USB_Install.CoInstallers]
AddReg=CoInstallers_AddReg
CopyFiles=CoInstallers_CopyFiles
[CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"WinUSBCoInstaller.dll","WUDFUpdate_01007.dll","WdfCoInstaller01007.dll,WdfCoInstaller"
[CoInstallers_CopyFiles]
WinUSBCoInstaller.dll
WdfCoInstaller01007.dll
WUDFUpdate_01007.dll
[DestinationDirs]
CoInstallers_CopyFiles=11
; ================= Source Media Section =====================
[SourceDisksNames]
1 = %DISK_NAME%,,,\i386
2 = %DISK_NAME%,,,\amd64
3 = %DISK_NAME%,,,\ia64
[SourceDisksFiles.x86]
WinUSBCoInstaller.dll=1
WdfCoInstaller01007.dll=1
WUDFUpdate_01007.dll=1
[SourceDisksFiles.amd64]
WinUSBCoInstaller.dll=2
WdfCoInstaller01007.dll=2
WUDFUpdate_01007.dll=2
[SourceDisksFiles.ia64]
WinUSBCoInstaller.dll=3
WdfCoInstaller01007.dll=3
WUDFUpdate_01007.dll=3
; =================== Strings ===================
[Strings]
ProviderName="NTMR"
USB\MyDevice.DeviceDesc="TMS320VC5509A WinUSB driver"
WinUSB_SvcDesc="TMS320VC5509A board"
DISK_NAME="TI_WINUSB Install Disk"
ClassName="NTMR"

The only differences I can see between my version and yours is the following:
Newer version of WinUSB - (WdfCoInstaller01009.dll, WinUSBCoInstaller2.dll)
I have not commented out "Include=winusb.inf" under both USB_Install and USB_Install.Services.
My KmdfLibraryVersion is 1.5 (not 1.7). Which seems strange to me, since it would appear that I have a newer version of the WinUSB driver. Also, my DriverVer is set to 2010, but I'm not sure if that would cause a problem.
I do not have "UmdfServiceOrder" under my USB_Install.Wdf.
Unfortunately I cannot see anything blatantly wrong with your inf file. Give these a try? My inf file works fine for Win7 x64. You could also try removing the .cat file for testing purposes, since it isn't needed for installation under Win7.

Well, you are aware of the distinction between ia64 and x64, right? The .cat file, by name, suggests that the driver is for Itanium. Personally I'm not even aware of an Itanium build for Windows 7, but I could be wrong.
Either way, x64 and ia64 are not the same and a driver compiled for one would not work on the other.

Related

Plotly.NET configuration issue

Problem running Plotly.NET on F# Interactive. (VS2019, FSharp Core 7.0.0, Plotly.NET 3.0.1, TargetFramework: net472)
#r C:\....\.nuget\packages\plotly.net\3.0.1\lib\netstandard2.0\Plotly.NET.dll"
open Plotly.NET
let xData = [0. .. 10.]
let yData = [0. .. 10.]
let myFirstChart = Chart.Point(xData,yData)
Gives an error: " C:\...\AppData\Local\Temp\1\unknown(1,1): error FS3216: type 'Plotly.NET.GenericChart+GenericChart' not found in assembly 'Plotly.NET, Version=3.0.0.0, Culture=neutral, PublicKeyToken=.......'. A possible cause may be a version incompatibility. You may need to explicitly reference the correct version of this assembly to allow all referenced components to use the correct version."
What should be correct configuration for environment to get that running?
I'm not sure why you mention "TargetFramework: net472". Also I'm puzzled by your mention of "FSharp Core 7.0.0", since F# interactive is going to be tied to some specific version of F#, for VS 2019 that won't be 7.0.
It's better to use the new syntax for referencing a nuget package from a script:
#r "nuget: Plotly.NET"
I tried your code in VS 2019 (referencing the nuget package as above) and still got a weird error. I then went to Tools | Options | F# Tools | F# interactive and changed the option "Use .NET Core Scripting" from false to true. I then reset the F# interactive session to make the change take effect, and tried your code again, and it worked.
> let myFirstChart = Chart.Point(xData,yData);;
Binding session to 'C:/Users/jimfo/.nuget/packages/plotly.net/3.0.1/lib/netstandard2.0/Plotly.NET.dll'...
Binding session to 'C:/Users/jimfo/.nuget/packages/dynamicobj/2.0.0/lib/netstandard2.0/DynamicObj.dll'...
val myFirstChart: GenericChart.GenericChart =
Chart
(Plotly.NET.Trace2D, Plotly.NET.Layout, Plotly.NET.Config,
Plotly.NET.DisplayOptions)
I didn't bother testing 32 bit vs 64 bit or seeing what happens in VS 2022.
I don't know what the errors are about, I have seen some strange errors lately given the mix of F# compiler versions, FSharp.Core versions, VS versions (think of all the patched versions), and sometimes you have to just fool around a bit until you get the right combination that works.

Microsoft Script Control 64 bit?

Is there any msscript control in 64 bit?
I google a bit and all say no 64-bit yet
The reason that I need 64bit msscript.ocx is that I want to compile delphi projects in 64-bit using XE3.
It compiles OK in XE3 and I have obtained a 64-bit exe but when it executes to the following line,
script := TScriptControl.Create(nil);
It gives me a 'Class Not Registered' error. I only found msscript.ocx under C:\windows\SysWOW64 but there is no such file under System32 folder.
I really want this to work so any quick replacement for this?
This is an old post. but I just found a very good alternative to 64-bit MSScript Control (Microsoft does not have 64-bit msscript.ocx)
http://www.eonet.ne.jp/~gakana/tablacus/scriptcontrol_en.html
and I have changed only a few lines of code in my application and it works in 64-bit based on this ScriptControl64.
The msscript component was not ported to 64 bit. It's a legacy component and MS chose not to put the effort into migrating it to 64 bit. You'll simply need to find another way to do whatever it is you do with that component.
I faced the same issue porting an c++ application from 32 to 64 Bit.
I know that this question was raised on Delphi but I hope someone can make use of this information or transfer it to other languages.
We where initiating the "ScriptControl" (MSScriptControl.ScriptControl.1) via CreateDispatch.
The control info is located in Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ScriptControl
and we executed VBS or JScript with this MS control in 32 Bit:
COleDispatchDriver* m_dispScriptControl = new COleDispatchDriver();
if (m_dispScriptControl)
{
if (m_dispScriptControl->CreateDispatch(_T("ScriptControl")))
{
...
.... setting language to be used and other proteries .. then execute script code:
_variant_t varResult;
VariantClear(&varResult);
EXCEPINFO excepinfo;
VARIANT parameters;
parameters.vt = VT_BSTR;
parameters.bstrVal = strScriptCodeWCHAR;
DISPPARAMS dispparams;
dispparams.rgdispidNamedArgs = NULL;
dispparams.cNamedArgs = 0;
dispparams.cArgs = 1;
dispparams.rgvarg = &parameters;
unsigned int uArgErr = 0;
if (S_OK != m_dispScriptControl->m_lpDispatch->Invoke(0x7d2, IID_NULL, LOCALE_SYSTEM_DEFAULT, DISPATCH_METHOD, &dispparams, &varResult, &excepinfo, &uArgErr))
...
}
After some research it seems not to be possible to create the
ScriptControl in 64 bit application as of a MSDN query:
Question was: I have window forms application currently working fine
on 32 Bit Application and i am investigation so we can install it on a
64 bit computer but getting on lauching the application as below.
Class not registered (Exception from HRESULT: 0x80040154
(REGDB_E_CLASSNOTREG))
The error is located on AxInterop.MSScriptControl.dll
Awnser is: If it ONLY lives in C:\Windows\SysWOW64, then your .Net
application cannot run in 64-bit mode. Make sure you compile it for
x86 instead of Any CPU. Then you'll be able to use it in 64-bit
Windows, but it will be a 32-bit process.
https://social.msdn.microsoft.com/Forums/windows/en-US/1e9ddfe4-3408-4a34-ba43-a1a0931daebd/64-bit-windows-7?forum=clr
With which we where not happy as we want to run as 64-bit process
Our solution was to use the Microsoft IActiveScript Interface. And implemented the same on our main window:
BEGIN_INTERFACE_PART(ActiveScriptSite, IActiveScriptSite)
STDMETHOD(GetLCID)(LCID*);
STDMETHOD(GetItemInfo)(LPCOLESTR, DWORD, LPUNKNOWN*, LPTYPEINFO*);
STDMETHOD(GetDocVersionString)(BSTR*);
STDMETHOD(OnScriptTerminate)(const VARIANT*, const EXCEPINFO*);
STDMETHOD(OnStateChange)(SCRIPTSTATE);
STDMETHOD(OnScriptError)(IActiveScriptError*);
STDMETHOD(OnEnterScript)();
STDMETHOD(OnLeaveScript)();
END_INTERFACE_PART(ActiveScriptSite)
Now when we have to execute script code we do the following, which works fine in 64 and 32 BIT versions of our built:
CString strLanguage;
if (nLanguage == 1)
{
strLanguage = _T("VBScript");
}
else
{
strLanguage = _T("JScript");
}
CComPtr<IActiveScript> m_pAxsScript;
HRESULT hr = m_pAxsScript.CoCreateInstance(CT2W(strLanguage), NULL, CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER);
m_pAxsScript->SetScriptSite(&m_xActiveScriptSite); //m_xActiveScriptSite is a member of the interface
CComQIPtr<IActiveScriptParse> m_pAxsScriptParse = m_pAxsScript;
m_pAxsScriptParse->InitNew();
EXCEPINFO pException = { 0 };
hr = m_pAxsScriptParse->ParseScriptText(_bstr_t(strCode), 0, NULL, NULL, dw, 0, 0, NULL, &pException);
//execute script
m_pAxsScript->SetScriptState(SCRIPTSTATE_CONNECTED);
m_pAxsScriptParse.Release();
m_pAxsScriptParse = nullptr;
hr = m_pAxsScript->SetScriptState(SCRIPTSTATE_DISCONNECTED);
ASSERT(hr == S_OK);
m_pAxsScript->Close();
m_pAxsScript.Release();

UMDF filter driver for MTP devices

I am trying to write a filter driver for MTP devices on Windows 7 for the purpose of logging file operations and block certain file operations. I found that the driver that handles MTP in windows is a UMDF driver named WpdMtpDr.dll and I wrote a UMDF filter driver for it according to this example (Sample UMDF Filter Driver above UMDF Function Driver) as I treated WpdMtpDr.dll as the function driver. I also used this as a reference to determine if the driver is installed as an upper or lower filter. I installed the driver using dpinst.exe . Below is my INF file.
The installation had no errors, but when plugging in an MTP device (Samsung Galaxy S3), the filter driver was not in its drivers list (seen through device manager) and its DllMain was never called.
I tried to switch between lower and upper filter and it didn't help either.
What am I doing wrong?
;
; umdffilter.inf
;
[Version]
Signature="$Windows NT$"
Class=WPD
ClassGuid={EEC5AD98-8080-425f-922A-DABF3DE3F69A}
Provider=%ManufacturerName%
CatalogFile=umdffilter.cat
DriverVer=01/02/2013,18.8.52.851`
[Manufacturer]
%ManufacturerName%=Standard,NTamd64
[Standard.NTamd64]
%DeviceName%=MyDevice_Install, usb\vid_04e8&pid_6860
[SourceDisksFiles]
umdffilter.dll=1
WudfUpdate_01011.dll=1
WdfCoInstaller01011.dll=1
WinUsbCoinstaller2.dll=1
[SourceDisksNames]
1 = %DiskName%
; =================== UMDF Filter Driver ==================================
[MyDevice_Install.NT]
CopyFiles=UMDriverCopy
Include=wpdmtp.inf, WINUSB.INF ; Import sections from wpdmtp.inf and WINUSB.INF
Needs=WPD.MTP, WINUSB.NT ; Run the CopyFiles & AddReg directives for wpdmtp.inf and WINUSB.INF
[MyDevice_Install.NT.hw]
Include = wpdmtp.inf
Needs = WPD.MTP.Registration
AddReg = MyDevice_AddReg
[MyDevice_Install.NT.Services]
AddService=WUDFRd,0x000001fa,WUDFRD_ServiceInstall ; flag 0x2 sets this as the service for the device
AddService=WinUsb,0x000001f8,WinUsb_ServiceInstall ; this service is installed because its a filter.
[MyDevice_Install.NT.CoInstallers]
CopyFiles=CoInstallers_CopyFiles
AddReg=CoInstallers_AddReg
[MyDevice_Install.NT.Wdf]
Include = wpdmtp.inf
Needs = WPD.MTP.Wdf
KmdfService=WINUSB, WinUsb_Install
UmdfService=umdffilter,umdffilter_Install
UmdfServiceOrder=umdffilter,WpdMtpDriver ; upper filter
[WinUsb_Install]
KmdfLibraryVersion=1.11
[WpdMtpDriver_Install]
UmdfLibraryVersion=1.11.0
[umdffilter_Install]
UmdfLibraryVersion=1.11.0
ServiceBinary=%12%\UMDF\umdffilter.dll
DriverCLSID={8cec927c-219a-4777-baea-8626d6a0ce50}
[MyDevice_AddReg]
HKR,,"LowerFilters",0x00010008,"WinUsb" ; FLG_ADDREG_TYPE_MULTI_SZ | FLG_ADDREG_APPEND
[WUDFRD_ServiceInstall]
DisplayName = %WudfRdDisplayName%
ServiceType = 1
StartType = 3
ErrorControl = 1
ServiceBinary = %12%\WUDFRd.sys
LoadOrderGroup = Base
[WinUsb_ServiceInstall]
DisplayName = %WinUsb_SvcDesc%
ServiceType = 1
StartType = 3
ErrorControl = 1
ServiceBinary = %12%\WinUSB.sys
[CoInstallers_CopyFiles]
WdfCoInstaller01011.dll
WudfUpdate_01011.dll
WinUsbCoinstaller2.dll
[CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"WudfUpdate_01011.dll", "WinUsbCoinstaller2.dll", "WdfCoInstaller01011.dll,WdfCoInstaller"
[DestinationDirs]
UMDriverCopy=12,UMDF ; copy to drivers\umdf
CoInstallers_CopyFiles=11 ; copy to system32
[UMDriverCopy]
umdffilter.dll
; =================== Generic ==================================
[Strings]
ManufacturerName="Me"
ClassName="Samples" ; TODO: edit ClassName
DiskName = "umdffilter Installation Disk"
WinUsb_SvcDesc="WinUSB Driver"
WudfRdDisplayName="Windows Driver Foundation - User-mode Driver Framework Reflector"
DeviceName="umdffilter Device"`
#oren671: You should be able to install a UMDF filter driver on a MTP stack as an upper filter. I tried using the same inf shared above and found that the WpdMtpDriver_Install section defined in your inf caused an error since it is already included from in wpdmtp.inf 'WPD.MTP.Wdf' section (see Include/Needs under DDInstall.Wdf).
Error found in %SystemDrive%\Windows\setupact.log:
"...Error reading section [WpdMtpDriver_Install] key UmdfLibraryVersion - duplicate key found..."
Please check SystemDrive%\Windows\Inf\setupapi.dev.log & %SystemDrive%\Windows\setupact.log for failures.
Removing the 'WpdMtpDriver_Install' section from the above inf, I was able to install the UMDF filter on the MTP stack.
I’ve modified the sample inf to use the MTP Setup inf directions link. MTP with USB transport uses both WPD (which is UMDF) and WINUSB, so including the relevant sections (DDInstall, DDInstall.hw, DDInstall.Services, DDInstall.CoInstallers, DDInstall.Wdf) from wpdmtp.inf in your filter inf should eliminate the need to duplicate them.
;
; WUDFOsrUsbFilterOnMTPDriver.inf - Install a UM Filter driver on an MTP device'
;
[Version]
Signature="$Windows NT$"
Class=WPD
ClassGuid={EEC5AD98-8080-425f-922A-DABF3DE3F69A}
Provider=%MSFTUMDF%
DriverVer=02/03/2014,18.8.52.851
CatalogFile=wudf.cat
[Manufacturer]
%MSFTUMDF%=Microsoft,NTamd64
[Microsoft.NTamd64]
%OsrUsbDeviceName%=OsrUsb_Install, USB\VID_04E8&PID_6860&MI_00
%OsrUsbDeviceName%=OsrUsb_Install, USB\VID_04E8&PID_6860
[SourceDisksFiles]
WudfOsrUsbFilter.dll=1
[SourceDisksNames]
1 = %MediaDescription%
; =================== UMDF OSR Filter Driver ==================================
[OsrUsb_Install.NT]
CopyFiles=UMDriverCopy
Include = wpdmtp.inf, WINUSB.INF
Needs = WPD.MTP, WINUSB.NT
[OsrUsb_Install.NT.hw]
Include = wpdmtp.inf
Needs = WPD.MTP.Registration
[OsrUsb_Install.NT.Services]
Include = wpdmtp.inf
Needs = WPD.MTP.Services
[OsrUsb_Install.NT.Wdf]
Include = wpdmtp.inf
Needs = WPD.MTP.Wdf
UmdfService=WudfOsrUsbFilter, WudfOsrUsbFilter_Install
UmdfServiceOrder=WpdMtpDriver, WUDFOsrUsbFilter
[OsrUsb_Install.NT.CoInstallers]
Include = wpdmtp.inf
Needs = WPD.MTP.CoInstallers
[WudfOsrUsbFilter_Install]
UmdfLibraryVersion=1.11.0
DriverCLSID = "{422d8dbc-520d-4d7e-8f53-920e5c867e6c}"
ServiceBinary = "%12%\UMDF\WUDFOsrUsbFilter.dll"
[DestinationDirs]
UMDriverCopy=12,UMDF ; copy to drivers\umdf
[UMDriverCopy]
WudfOsrUsbFilter.dll
; =================== Generic ==================================
[Strings]
MSFTUMDF="Microsoft Internal (WDF:UMDF)"
MediaDescription="Microsoft UMDF OSR USB Sample Device Installation Media"
OsrUsbDeviceName="Microsoft UMDF OSR Usb Sample Device With Filter on User-mode Driver"

Issues with SWI-Prolog editor

Some time ago I was fiddling with SWI-Prolog editor, trying to get something to work, and I change some configuration settings. It didn't work so I changed it back. Now SWI-Prolog editor is not working correctly. I will load files but when I click 'consult' it will just throw this error:
consult('C:/Users/Cubearth/Documents/Prolog/'filename.pl').
and I am not able to perform queries, on the knowledge base... it just does nothing. I know that it should return:
% library(win_menu) compiled into win_menu 0.00 sec, 20,952 bytes
% library(swi_hooks) compiled into pce_swi_hooks ......... (etc, etc)
For help, use ?- help(Topic). or ?- apropos(Word).
but I am not even getting that. I tried uninstalling both prolog and the editor, but still no luck.
Any ideas on how to fix this?
In order to help, I have included the configuration dump of prolog:
Installation
C:\Program Files (x86)\SWIPrologEditor\SWIMachine.ini
C:\Users\Cubearth\AppData\Roaming\SWIPrologEditor\SWIUser.ini
C:\Users\Cubearth\AppData\Roaming\SWIPrologEditor\SWIColor.ini
[SWI]
PortableApplication=0
Verzeichnis=C:\Program Files\pl
Manual=C:\Program Files\pl\bin\doc\Manual\Contents.html
XPCE=C:\Program Files\pl\bin\doc\UserGuide\Contents.html
[Program]
InterpreterParameter=-L32M
FileExtension=.pl
[Editor]
TabWidth=2
Indent=2
Indenthelp=1
AutomaticIndent=1
FileTab=1
Linenumbering=1
BracketPair=0
CursorBehindLine=1
Author=
Encoding=0
Structure=0
[Code]
Code-Completion=1
Parameter-Hints=1
Delay=100
[Options]
ColoredConsole=1
IntegratedWindow=1
ReturnToContinue=1
TraceStopsDebugToo=1
BAKFiles=1
RemoveWriteProtection=1
FileTabsMultiline=1
Language=C:\Program Files (x86)\SWIPrologEditor\english.ini
[Browser]
UseIEinternForDocuments=1
OnlyOneBrowserWindow=0
Browser=C:\Users\Cubearth\AppData\Local\Google\Chrome\Application\chrome.exe
Title=unknown
AltKeysBrowser=
ProxyEnabled=0
ProxyIP=
ProxyPort=0
[Printer]
Left=20
Top=20
Right=20
Bottom=20
Header=#%PATH%#
Footer=##- %PAGENUM% -
Linenumbers=0
LinenumbersInMargin=1
Let me enlighten the poor lost soul that is cubearth. You should double check to see which version of swi-prolog you installed (32-bit or 64-bit), because swi-prolog editor only works with the 32-bit version. If you tried using the editor with the 64-bit version, you'll get the error described above. ^^ .
p.s. You are welcome.
Enable trace, run cmd --
?- trace. consult('C:/Users/Cubearth/Documents/Prolog/'filename.pl').

dbExpress error in Delphi 2007

I have had Delphi 2007 for a while. I tried the Delphi 2009 trial. Then I un-installed the trial. Now I get this in a dbExpress Delphi 2007 application:
---------------------------
Debugger Exception Notification
---------------------------
Project ABC.exe raised exception class TDBXError with message
'Unable to load dbxora.dll (ErrorCode 126). It may be missing
from the system path.'.
---------------------------
Break Continue Help
---------------------------
I do not have dbxora.dll anywhere on my pc; I have dbxora30.dll, instead. Looking at another development machine (which has never had Delphi 2009 on it), I see dbxora30.dll too. FWIW, that file is here:
C:\Program Files\CodeGear\RAD Studio\5.0\bin\dbxora30.dll
And my path does include this location.
So it looks like Delphi 2009 introduced a new "dbxora.dll" which replaced "dbxora30.dll"... and when I un-installed Delphi 2009, it failed to point my system back to the original "dbxora30.dll". But now how do I use dbxora30 again?
Any suggestions?
I fixed the problem on my machine by editing this file:
C:\Users\Public\Documents\RAD Studio\dbExpress\dbxdrivers.ini
Under the section labeled [Oracle], I changed the "LibraryName" parameter from "dbxora.dll" to "dbxora30.dll".
I hope this helps someone else.
I had pretty much the same problem, though I installed the full Delphi 2009 along with the existing Delphi 2007 and found that it broke my previous exe files. I uninstalled Delpi 2009 but had to fix it by editing the same file (though it was in a different directory on my machine: C:\Documents and Settings\All Users\Documents\RAD Studio\dbExpress\dbxdrivers.ini). However, there were more lines than just the one that is mentioned above. Luckily, I had a backup of the ini file from before the Delphi 2009 installation. Here are the two sections in case anybody needs help with this:
[Oracle] - FROM DELPHI 2007
DriverUnit=DBXDynalink
DriverPackageLoader=TDBXDynalinkDriverLoader,DBXDynalinkDriver100.bpl
DriverPackage=DBXCommonDriver110.bpl
DriverAssemblyLoader=Borland.Data.TDBXDynalinkDriverLoader,Borland.Data.DbxDynalinkDriver,Version=11.0.5000.0,Culture=neutral,PublicKeyToken=91d62ebb5b0d1b1b
DriverAssembly=Borland.Data.DbxCommonDriver,Version=11.0.5000.0,Culture=neutral,PublicKeyToken=a91a7c5705831a4f
GetDriverFunc=getSQLDriverORACLE
LibraryName=dbxora30.dll
VendorLib=oci.dll
DataBase=Database Name
User_Name=user
Password=password
BlobSize=-1
ErrorResourceFile=
LocaleCode=0000
Oracle TransIsolation=ReadCommited
RowsetSize=20
OS Authentication=False
Multiple Transaction=False
Trim Char=False
Decimal Separator=.
MetaDataPackageLoader=TDBXOracleMetaDataCommandFactory,DbxReadOnlyMetaData100.bpl
MetaDataAssemblyLoader=Borland.Data.TDBXOracleMetaDataCommandFactory,Borland.Data.DbxReadOnlyMetaData,Version=11.0.5000.0,Culture=neutral,PublicKeyToken=91d62ebb5b0d1b1b
.
[Oracle] - FROM DELPHI 2009
DriverUnit=DBXOracle
DriverPackageLoader=TDBXDynalinkDriverLoader,DBXCommonDriver120.bpl
DriverPackage=DBXCommonDriver110.bpl
DriverAssemblyLoader=Borland.Data.TDBXDynalinkDriverLoader,Borland.Data.DbxCommonDriver,Version=12.0.0.0,Culture=neutral,PublicKeyToken=91d62ebb5b0d1b1b
DriverAssembly=Borland.Data.DbxCommonDriver,Version=11.0.5000.0,Culture=neutral,PublicKeyToken=a91a7c5705831a4f
GetDriverFunc=getSQLDriverORACLE
LibraryName=dbxora.dll
VendorLib=oci.dll
DataBase=Database Name
User_Name=user
Password=password
BlobSize=-1
ErrorResourceFile=
LocaleCode=0000
Oracle TransIsolation=ReadCommited
RowsetSize=20
OS Authentication=False
Multiple Transaction=False
Trim Char=False
Decimal Separator=.
MetaDataPackageLoader=TDBXOracleMetaDataCommandFactory,DbxOracleDriver120.bpl
MetaDataAssemblyLoader=Borland.Data.TDBXOracleMetaDataCommandFactory,Borland.Data.DbxOracleDriver,Version=12.0.0.0,Culture=neutral,PublicKeyToken=91d62ebb5b0d1b1b

Resources