Missing configuration file after install
Brought to you by:
strik
Install-CMD:
instcbm.exe xa1541
On a Windows XP SP3 System with a fresh install of openCBM i got "plugin not found" errors. The reason for this was a missing C:\windows\system32\opencbm.conf configuration file.
Creating a zero byte opencbm.conf and repeating the install-cmd above fixes the problem and creates a working configuration file.
Anonymous
Thanks for your report, I can completely confirm it.
The problem was introduced in a patch from October 2012 (commit 8e58fe34849d9)! I will work on a solution and fix it.
For the time being, generating an empty opencbm.conf at the location you give is the correct work-around.
I am sorry for the inconvenience.
Regards
Spiro
No Problem, in the meantime i've done some debugging:
=== 1.) virgin installment ===
C:\Projects\C64\opencbm-code\opencbm\bin\i386>instcbm.exe xa1541
Working directory = 'C:\Projects\C64\opencbm-code\opencbm\bin\i386\',
system directory = 'C:\WINDOWS\system32\',
driver directory = 'C:\WINDOWS\system32\DRIVERS\'.
Copying '.\opencbm.dll' to 'C:\WINDOWS\system32\opencbm.dll'
Copying '.\opencbmvdd.dll' to 'C:\WINDOWS\system32\opencbmvdd.dll'
=== 2.) second run ===
C:\Projects\C64\opencbm-code\opencbm\bin\i386>instcbm.exe xa1541
Working directory = 'C:\Projects\C64\opencbm-code\opencbm\bin\i386\',
system directory = 'C:\WINDOWS\system32\',
driver directory = 'C:\WINDOWS\system32\DRIVERS\'.
Using plugin: 'xa1541' with filename 'opencbm-xa1541.dll'.
++++ Install: 'xa1541' with filename 'opencbm-xa1541.dll'.
Copying '.\opencbm-xa1541.dll' to 'C:\WINDOWS\system32\opencbm-xa1541.dll'
Copying '.\cbm4wdm.sys' to 'C:\WINDOWS\system32\DRIVERS\cbm4wdm.sys'
Copying '.\cbm4nt.sys' to 'C:\WINDOWS\system32\DRIVERS\cbm4nt.sys'
C:\Projects\C64\opencbm-code\opencbm\bin\i386>
=== 3.) run after providing an empty C:\WINDOWS\system32\opencbm.conf ===
C:\Projects\C64\opencbm-code\opencbm\bin\i386>instcbm.exe xa1541
Working directory = 'C:\Projects\C64\opencbm-code\opencbm\bin\i386\',
system directory = 'C:\WINDOWS\system32\',
driver directory = 'C:\WINDOWS\system32\DRIVERS\'.
Using plugin: 'xa1541' with filename 'opencbm-xa1541.dll'.
++++ Install: 'xa1541' with filename 'opencbm-xa1541.dll'.
Copying '.\opencbm-xa1541.dll' to 'C:\WINDOWS\system32\opencbm-xa1541.dll'
Copying '.\cbm4wdm.sys' to 'C:\WINDOWS\system32\DRIVERS\cbm4wdm.sys'
Copying '.\cbm4nt.sys' to 'C:\WINDOWS\system32\DRIVERS\cbm4nt.sys'
Using driver 'C:\WINDOWS\system32\DRIVERS\cbm4wdm.sys'
Checking configuration for OpenCBM
The following configuration is used:
INSTCBM version: 0.4.99.97 (Development)
Driver version: 0.4.99.97 (Development)
Driver path: C:\WINDOWS\system32\DRIVERS\cbm4wdm.sys
DLL version: 0.4.99.97 (Development)
DLL path: C:\Projects\C64\opencbm-code\opencbm\bin\i386\opencbm.dll
Driver configuration:
Default port: ........ LPT1
Driver start mode: ... auto (2)
LPT port locking: .... yes
Cable type: .......... auto (-1)
No problems found in current configuration
C:\Projects\C64\opencbm-code\opencbm\bin\i386>
opencbm\install\instcbm.c(1474):
in function
static BOOL
SelfInitGenericOpenCBM(HMODULE OpenCbmDllHandle, const char * DefaultPluginname)
1.run)
Parameter DefaultPluginname = NULL
2.)
DefaultPluginname = 0x00272470 "xa1541"
opencbm\lib\WINDOWS\archlib.c(109)
in function
BOOL CBMAPIDECL opencbm_plugin_install_generic(const char * DefaultPluginname)
configurationFilename = configuration_get_default_filename();
Here configuration_get_default_filename() returns NULL, so control flow leaves the function.
3.)
configurationFilename = 0x00272490 "C:\WINDOWS/System32/opencbm.conf"
then configuration_handle is set, no error. works.
But if you say, that was introduced by a patch you already know. Well, then I lean back lazily :)
This problem has already been fixed.