VS 2013 InstallShield LE设置WIndows 10以管理员身份运行

时间:2018-01-16 17:08:13

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

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

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

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

1 个答案:

答案 0 :(得分:0)

可以修改设置文件上的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 推荐阅读/浏览