Windows 10 有没有办法使用NSIS在Win10中安装可以读取C:\Windows的应用程序?

Windows 10 有没有办法使用NSIS在Win10中安装可以读取C:\Windows的应用程序?,windows-10,nsis,elevated-privileges,compatibility-mode,Windows 10,Nsis,Elevated Privileges,Compatibility Mode,我们有一个安装量很大的应用程序。长话短说,在有限的时间内,一些新的Win10系统需要像Win7系统一样存储数据——在C:\windows中(这是不可协商的,是临时的——我知道这是一种糟糕的形式,但这是一种临时的解决方法) 为了做到这一点,我假设我们需要NSIS设置兼容模式,或者设置提升的用户权限。但我对其他选择持开放态度 谢谢 在Windows7和过去25年中发布的所有其他Windows版本中,这也是错误的 虽然可以向所有用户授予对%windir%的写访问权限,但这是一个巨大的安全问题,我不能推

我们有一个安装量很大的应用程序。长话短说,在有限的时间内,一些新的Win10系统需要像Win7系统一样存储数据——在C:\windows中(这是不可协商的,是临时的——我知道这是一种糟糕的形式,但这是一种临时的解决方法)

为了做到这一点,我假设我们需要NSIS设置兼容模式,或者设置提升的用户权限。但我对其他选择持开放态度


谢谢

在Windows7和过去25年中发布的所有其他Windows版本中,这也是错误的

虽然可以向所有用户授予对%windir%的写访问权限,但这是一个巨大的安全问题,我不能推荐

您最好的选择是修改您的应用程序,使其处于最佳状态。如果应用程序还没有嵌入式清单(不请求ComCtl32 v6等),则理论上可以使用

不太理想的解决方案是设置兼容性标志:

!include x64.nsh

${If} ${IsWow64}
SetRegView 64
${EndIf} 
WriteRegStr HKLM "Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" "$InstDir\MyApp.exe" "RUNASADMIN" 
SetRegView Default

但我想我们已经不再试图遵循微软的指导方针了

这是一个真正临时的解决办法;我们正在从将配置文件写入INI文件转变为将其放入加密的XML文件,但编辑XML文件的软件还没有准备好;所以我们只需要一个月左右的时间。这会很好!谢谢