【问题标题】:Set NSIS installation directory from command line when MUI is used?使用 MUI 时从命令行设置 NSIS 安装目录?
【发布时间】:2021-03-10 14:28:43
【问题描述】:

我正在尝试使用 NSIS 安装程序为程序 (JAGS) 编写 Scoop app manifest。我想从 PowerShell 运行安装程序。

NSIS 文档说使用/D 开关来设置安装目录。但是,安装程序使用 NSIS 的 MUI 宏来允许在图形安装程序中设置目录。出于某种原因,这不尊重/D 开关。还有其他方法可以强制 NSIS MUI 安装到特定目录吗?

【问题讨论】:

    标签: nsis modern-ui


    【解决方案1】:

    这与MUI无关,因为他们使用的是MultiUser头文件。

    /D 只是在安装程序中的任何代码运行之前设置$InstDir,MultiUser 更改.onInit 中的$InstDir,覆盖使用/D 设置的任何内容。

    你可以欺骗它相信它已经安装了:

    !define JAGS_VERSION ??? ; I don't know which version but you probably do, or check your registry
    WriteRegStr HKCU "SOFTWARE\JAGS\JAGS-${JAGS_VERSION}" "InstallDir" "c:\new dir for single user"
    WriteRegStr HKLM "SOFTWARE\JAGS\JAGS-${JAGS_VERSION}" "InstallDir" "c:\new dir for all users"
    

    【讨论】:

      猜你喜欢
      • 2013-12-27
      • 2011-07-04
      • 2012-07-15
      • 2018-08-22
      • 1970-01-01
      • 1970-01-01
      • 2011-03-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多