gpt4 book ai didi

delphi - 如何让我的安装程序应用程序在 Windows 上正常运行?

转载 作者:行者123 更新时间:2023-12-03 15:19:41 25 4
gpt4 key购买 nike

我在 Delphi 中制作了一个简单的安装程序应用程序,没什么花哨的。基本上我将文件包含到 Exe 中,然后将它们解压到用户指定的路径。

然而,我偶然发现了一个问题,并且我注意到这适用于任何 Windows 可执行文件,无论它是否是安装程序。

如果一个 Exe 被命名,或者在文件名中包含以下单词,“Setup”、“Build”、“Install”,也许还有其他单词,那么......每当应用程序运行和关闭时,Windows 都会弹出产品兼容性助手对话框,显示应用程序可能未正确安装。

这是一个问题,因为即使我的安装程序中的文件实际上已提取,并且在我看来安装程序已完成其工作,Windows 仍在提示它。

我对此的唯一想法是,Windows 在执行时必须检查应用程序的文件名,在本例中已将其识别为安装程序。然后 Windows 必须在系统上设置一个标志或其他内容,然后我的安装程序必须更新此标志以表示安装成功?

从 IDE 调试时,Windows 不会提示这一点,因此它不能与代码相关,它必须是操作系统 - 这仅在从 Windows 启动应用程序时发生,而不是 Delphi。

您可以轻松尝试此操作,创建一个应用程序或将其重命名为Setup.exe,运行它然后关闭它 - 等待几秒钟,将显示产品兼容性助手对话框。

我不知道从哪里开始调查如何停止此对话框,也不知道在哪里可以设置告诉 Windows 安装程序已正确完成。

感谢您的想法和解决方案。

最佳答案

如果我没记错的话,当您安装的应用程序不包含应用程序 list 时,就会发生这种情况。引入 UAC 后,MS 为安装人员引入了启发式检测并显示 UAC 提升对话框。启发式检查诸如 setup.exe、install.exe 之类的名称。简单的解决方案是包含应用程序 list 。如果它是一个安装程序,您可能需要使用 requireAdministrator 设置。

该功能称为安装程序检测,并在 here 中进行了讨论。 .

无论如何,我总是会使用专用安装工具(例如 InnoSetup)构建安装程序。

关于delphi - 如何让我的安装程序应用程序在 Windows 上正常运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8287249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com