Windows静默安装,带文件参数

时间:2019-03-04 17:42:45

标签: powershell batch-file parameter-passing nsis silent-installer

我正在尝试通过带有文件参数的Windows Batch脚本进行无提示安装,但无法执行。 我有一个文件(params.txt),其中包含在安装过程中应输入的参数(例如路径,选择等)。

不好。也可能是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可编写脚本的安装系统)生成的。

谢谢。

1 个答案:

答案 0 :(得分: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