【发布时间】:2018-09-26 15:28:24
【问题描述】:
我正在创建一个安装程序,其中包含多个可以选择安装的应用程序。我想编写我的安装程序脚本,这样每次我将新应用程序添加到我的应用程序目录时都不需要更新它。 NSIS可以做到这一点吗?我有代码可以在文件夹中搜索子文件夹并提取它们的名称,但是在使用它来制作安装程序中的组件时遇到了麻烦。
文件夹结构
-Install_Directory
-Main_Application
-Applications
-App_A
-App_B
-App_C
-...
当前代码
!macro insert_application_section name
Section "${name}"
SetOutPath "{PRJ_BASE}\releases"
File /nonfatal /r "..\releases\${name}"
SectionEnd
!macroend
SectionGroup "Applications"
!insertmacro insert_release_section "App_A"
SectionGroupEnd
安装程序编译但在尝试从宏创建的应用程序的子文件夹安装文件时抛出“错误打开文件以进行写入”错误。有没有办法实现我想用 NSIS 做的事情?
我当前的工作计划是创建一个 python 文件,该文件为 Applications 的每个子文件夹生成一个部分,并将其放入实际安装程序在文件末尾包含的“autogen_sections.nsh”文件中。这似乎有效,但似乎有点笨拙。任何有关如何仅使用 NSIS 执行此操作的提示将不胜感激!
【问题讨论】:
标签: dynamic components nsis sections