我有一组遗留的 Delphi 6 应用程序,它们是进程外 COM 服务器。在尝试以 Windows 上的普通域用户身份运行这些程序时,我在运行(没有任何命令行参数或开关)尝试更新 HKEY_CURRENT_CLASSES 块时看到它们。由于缺乏对 HKCR 蜂巢的许可,这失败了。似乎运行 Delphi 6 COM 服务器的行为会导致它尝试向系统注册表注册其嵌入式 COM 类型。
我通常不希望这种行为。我们会在安装期间使用管理员帐户执行此操作以初始化 COM 注册表,但不希望在非管理员帐户的正常运行条件下执行此操作。(如果您使用 sys internals process monitor 监视系统,您可以看到失败的注册表项访问尝试)。
是否有一个命令行开关可以传递给 Delphi 6 COM 服务器来防止这种自动 COM 注册逻辑?