【问题标题】:VS 2013 InstallShield LE setup WIndows 10 Run As AdministratorVS 2013 InstallShield LE安装Windows 10以管理员身份运行
【发布时间】:2018-06-25 11:13:21
【问题描述】:

我(仍在)使用 Visual Studio Professional 2013。我一直在使用 InstallShield LE 为 Windows 7 桌面应用程序创建 Setup.exe,没有任何问题。但是,在 Windows 10 机器上安装应用程序时,应用程序无法正常运行(无法读取我的 ini 文件以获取示例)。将 exe 更改为“以管理员身份运行”可以解决此问题。

但是,我必须进入每个 Windows 10 安装并手动更改它。不实用。

InstallShield LE on 2013 是否与 Win-10 不兼容(例如,需要升级到 VS 2016??)还是 LE 中的设置可以更改以与 Windows 10 兼容?

【问题讨论】:

    标签: visual-studio windows-installer installation elevated-privileges installshield-le


    【解决方案1】:

    可以修改设置文件上的 ACL(在安装期间),以使它们对标准用户可写。这是常用的,但非常不受欢迎。在 MSI 文件中的常见设计问题列表中查看问题 14:How do I avoid common design flaws in my WiX / MSI deployment solution?

    我怀疑 Installshield LE 是否具有此 ACL 修改的任何功能。 WiX 和 Installshield 和 Advanced Installer 的商业版一样。 There are other tools 也可能支持它。

    我不推荐的另一个“解决方案”,但仍然被许多人使用:How do I force my .NET application to run as administrator? 我想这实际上是你在做什么? See this answer as well 重要说明(它与同一个“线程”的答案不同)。

    真正的解决方案重新设计您的应用程序,不要将设置文件存储在应用程序安装目录中,而是将您的设置存储在 HKCU 的注册表中,或者在存储在用户配置文件中的设置文件中。普通用户显然可以写入这些位置。


    不是 100% 相同,但非常相关。包含允许应用程序在注册表中写入 HKLM 的选项列表的答案:Per Machine App Registration推荐阅读/略读

    【讨论】:

    • 如果您无法重新设计应用程序以将文件写入正确的位置,您还可以在安装开始时添加自定义操作以确保它以管理员身份运行.如果没有,则不允许安装继续进行。这是我过去做过的事情。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-14
    • 2021-04-06
    • 1970-01-01
    • 2021-01-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多