在Inno设置中,我将SHAREDMEMLOCATION和SHAREDMEMSIZE设置为BDE的注册表项
; BDE Memory Hacks
Root:HKLM; Subkey: "SOFTWARE\Wow6432Node\Borland\Database Engine\Settings\SYSTEM\INIT"; ValueType: string; ValueName: "SHAREDMEMLOCATION"; ValueData: "0x5000";
Root:HKLM; Subkey: "SOFTWARE\Wow6432Node\Borland\Database Engine\Settings\SYSTEM\INIT"; ValueType: string; ValueName: "SHAREDMEMSIZE"; ValueData: "4096";
我假设有一些我不知道BDE如何工作或Windows注册表如何工作的东西。我已经找到了一些我应该通过BDE api做BDE的信息,但我似乎找不到很多信息/库来做这件事。
答案 0 :(得分:0)
非虚拟化注册表中SHAREDMEMLOCATION和SHAREDMEMSIZE注册表值的位置应为 HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database Engine\Settings\SYSTEM\INIT
。
如果您删除" Wow6432Node"您的InnoSetup脚本是否有效?一部分?
请参阅 Inno-Setup doesn't allow access to all registry keys, why?
和#34;注册表虚拟化"在MSDN上https://msdn.microsoft.com/en-us/library/windows/desktop/aa965884(v=vs.85).aspx
您应该可以从BDE应用程序设置注册表值,如果启用了UAC,设置只会转到Wow6432Node。