【发布时间】:2012-01-07 09:42:58
【问题描述】:
我在 Delphi 中做了一个简单的安装程序,没什么特别的。基本上我将文件包含到 Exe 中,然后将它们提取到用户指定的路径。
然而,我偶然发现了一个问题,我注意到这适用于任何 Windows 可执行文件,它是否是安装程序并不重要。
如果一个 Exe 被命名,或者在文件名中包含以下单词,“Setup”,“Build”,“Install”,也许还有其他,那么.. 每当应用程序运行和关闭时,Windows 都会弹出一个 Product Compatibility助手对话框,提示应用程序可能未正确安装。
这是一个问题,因为即使我的安装程序中的文件已实际提取,并且在我看来安装程序已经完成了它的工作,Windows 仍在抱怨它。
我对此的唯一想法是,Windows 在执行时必须检查应用程序的文件名,并且在这种情况下已将其识别为安装程序。然后 Windows 必须在系统上设置一个标志或其他东西,然后我的安装程序必须更新这个标志以表明安装成功?
Windows 在从 IDE 调试时不会抱怨这一点,因此它与代码无关,它必须是操作系统 - 这仅在从 Windows 启动应用程序时发生,而不是在 Delphi 启动时发生。
您可以轻松尝试,创建一个应用程序或将其重命名为 Setup.exe,运行它然后关闭它 - 等待几秒钟,产品兼容性助手对话框将显示。
我不知道从哪里开始调查如何停止此对话框,或者在哪里设置可以告诉 Windows 安装程序已正确完成。
感谢您的想法和解决方案。
【问题讨论】:
标签: delphi installation