0

いくつかの組み込みページといくつかのカスタム ページを含む NSIS を使用してセットアップを作成しています。インストール中にコマンド ラインが渡された場合にのみ、インストールを使用してカスタム ページを表示したいのですが、どのように実行できますか?

!include "MUI.nsh"
!include nsDialogs.nsh

OutFile "myCustomPage.exe"
var installmethod
Page Custom MyCustomPage 
Page Custom MyCustomPage1 
Page Custom MyCustomPage3

Function MyCustomPage
 nsDialogs::Create 1044

     nsDialogs::Show

FunctionEnd
Function MyCustomPage1
 nsDialogs::Create 1044

     nsDialogs::Show

FunctionEnd
Function MyCustomPage3
 nsDialogs::Create 1044

     nsDialogs::Show
FunctionEnd
Section Dummy
SectionEnd

上記の例では、3 つのページがあります。通常のインストールでは、MyCustomPage と MyCustomPage3 の 2 つのページのみを表示したいと考えています。コマンド ライン (特定のコマンド ライン) が渡された場合、インストール中に 3 つのページすべてが表示されるはずです。

4

2 に答える 2

1
!include FileFunc.nsh
!include LogicLib.nsh

Page Custom MyPageCreate

Function MyPageCreate
${GetParameters} $0
ClearErrors
${GetOptions} "$0" "/ShowSpecial"  $1
${If} ${Errors}
    Abort ; Skip page
${EndIf}
nsDialogs::Create 1044
nsDialogs::Show
FunctionEnd
于 2013-10-05T09:20:41.090 に答える
0

以下のコードは、コマンド ライン オプションが "a" の場合、ページ MyCustomPage1 をスキップします。

!include "MUI.nsh"
!include "FileFunc.nsh"
!include nsDialogs.nsh
!insertmacro GetParameters

OutFile "myCustomPage.exe"
var installmethod
Page Custom MyCustomPage 
Page Custom MyCustomPage1 
Page Custom MyCustomPage3

Function MyCustomPage
    nsDialogs::Create 1044
    nsDialogs::Show
FunctionEnd

Function MyCustomPage1
    ${GetParameters} $R0
    ${If} $R0 == 'a'
        abort
    ${EndIf}
    nsDialogs::Create 1044
    nsDialogs::Show
FunctionEnd

Function MyCustomPage3
    nsDialogs::Create 1044
    nsDialogs::Show
FunctionEnd

Section Dummy
SectionEnd
于 2013-10-05T10:55:15.170 に答える