带有文件参数的Windows静默安装

问题描述 投票:0回答:1

我正在尝试通过带有文件参数的Windows批处理脚本进行静默安装,但我无法做到这一点。我有一个文件(params.txt),其中包含在安装过程中应输入的参数(例如路径,选项等)。

Obs。:也可能是PowerShell。

我在Linux中有类似的东西,这非常简单:

.../installer.sh < .../params.txt

但我正在尝试NSIS,MSI等多种方式。但他们都没有用这些参数来解决我的问题。我得到的最接近的是

C:\installer.exe /S

实际上它使用默认参数进行安装,但我想通过我的文件指定它们。

我做了很多研究,甚至在stackoverflow中,但没有解决我的问题。

我的params.txt文件的内容:

yes
no
C:\Software\MySoftware
yes
no
no
no

安装会提示几个问题,该文件包含我在安装过程中需要提供的答案。

此外,使用NSIS(Nullsoft Scriptable Install System)生成安装程序。

先感谢您。

powershell batch-file parameter-passing nsis silent-installer
1个回答
0
投票

NSIS支持/S/D=c:\installpath参数by default,支持安装作者必须提供的任何其他内容。

安装作者可以检查特定参数和/或答案文件:

!include FileFunc.nsh
!include LogicLib.nsh

Section

; Command-line parameter:
${GetParameters} $0
ClearErrors
${GetOptions} $0 "/Something" $1
${IfNot} ${Errors}
    ; Do Something
${Else}
    ; Do something else?
${EndIf}

; Answer .INI file:
Var /Global AnswerFile
StrCpy $AnswerFile $ExePath -4
StrCpy $AnswerFile "$AnswerFile.ini"
ReadIniStr $0 $AnswerFile "Options" "OtherPath"
${If} $0 != ""
  File "/oname=$0\file.ext" "c:\mysource\fileForOtherPath.ext"
${EndIf}

SectionEnd
© www.soinside.com 2019 - 2024. All rights reserved.