【问题标题】:rename file with the name of installer name in NSIS installer?用 NSIS 安装程序中的安装程序名称重命名文件?
【发布时间】:2012-08-31 05:48:57
【问题描述】:

我正在使用 NSIS 安装程序。我需要将安装路径中定义的文件更改为相同的安装程序名称。

我尝试使用重命名功能,例如:

Rename "$INSTDIR\app.exe" "$INSTDIR\installname.exe"

但我需要自动安装程序名称。

【问题讨论】:

    标签: windows installation nsis


    【解决方案1】:

    看看constants$EXEFILE 是文件名,或者$EXEPATH 是完整路径。如果你想要你在源文件中使用的名称属性,它是$(^Name)...

    【讨论】:

    • 我尝试在文件名中使用 $EXEFILE 重命名 "$INSTDIR\app.exe" "$INSTDIR\$EXEFILE" 但没有任何改变
    • 我需要这个名称,因为安装程序将从 Internet 下载名称,例如 1.exe 我需要使用文件名而不是源名称来跟踪安装
    • 现在可以正常工作了:重命名 "$INSTDIR\app.exe" "$INSTDIR\$EXEFILE"
    【解决方案2】:

    FileFunc header,您可以结合GetExeNameGetFileName macros 来获取安装程序的名称:

    !include "FileFunc.nsh"
    OutFile test.exe
    
    section main
    
        ${GetExeName} $R0
        ${GetFileName} "$R0" $R1
    
        MessageBox MB_OK "My installer's exe is $R1"
    sectionend
    

    现在你可以自己测试了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-30
      • 2011-03-03
      • 2011-10-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多