3

Nullsoft Scriptable Install System (NSIS) インストーラーをサイレントにする方法は?

ウィキペディアから:

「Nullsoft Scriptable Install System (NSIS), est un logiciel libre controlable par script, qui permet la creation d'installateurs pour Windows. Il a été initialement développé par Nullsoft, la société créatrice de Winamp. NSIS est une alternative aux produits commerciaux, commeインストールシールド。

NSIS コンパイラ プログラム makensis は、次の例のようなスクリプトを実行可能なインストール プログラムにコンパイルします。スクリプトの各行には、1 つのコマンドが含まれています。」

# Example script

Name "Example1"
OutFile "example1.exe"
InstallDir "$PROGRAMFILES\Example1"
Page Directory
Page InstFiles
Section
  SetOutPath $INSTDIR
  File ..\makensis.exe
SectionEnd  
4

1 に答える 1

14

コマンドラインの使用法

1. MakeNSIS の使い方

NSIS (.nsi) スクリプトをコンパイルし、インストーラーを生成します

makensis [option | script.nsi | - [...]]

makensis.exe myscript.nsi

2.インストーラーの使い方

いくつかのオプション

  • /S は、インストーラーまたはアンインストーラーをサイレント モードで実行します。
  • /D は、既定のインストール ディレクトリ ($INSTDIR) を設定し、InstallDir と InstallerDirRegKey をオーバーライドします。これは、コマンド ラインで使用される最後のパラメーターである必要があり、パスにスペースが含まれている場合でも、引用符を含めないでください。絶対パスのみがサポートされています。

installer.exe /S

installer.exe /S /D=C:\Program Files\NSIS

サイレントインストーラー/アンインストーラー

  • インストーラーがサイレントかどうかを確認するには、次を使用しますIfSilent

  • サイレント モードで一部の命令 (ユーザー インタラクション、ウィンドウの作成) をスキップするには、ジャンプ命令を使用します。

IfSilent +2 0 
    MessageBox MB_OK|MB_ICONINFORMATION 'This is a "non silent" installer'

この例では、インストーラーがサイレント モードの場合にメッセージ ボックスが表示されます。+2IfSilent が true の場合、次の命令がスキップされることを意味します。0IfSilent が false の場合、hat コンパイラは次の命令に進む必要があることを意味します。

  • インストーラーをサイレント モード (しばらくの間) に設定するには、SetSilentin.onInitメソッドを使用します。オプションにはsilent、サイレント モードnormal用と非サイレント モード用があります。

  • インストーラーを設定するには | アンインストーラサイレント、あなたも使用することができます

    SilentInstall silent

    SilentUnInstall silent

  • サイレント モードでは、インストーラ自体のすべての画面が表示されません。ただし、SF_SELECTED のフラグが付いていないメッセージ ボックスやその他すべての画面は表示される場合があります。インストーラーを完全にサイレントにするには、命令ジャンプ (一般に) またはフラグ /SD IDOK | を使用します。IDCANCEL (OK|CANCEL メッセージ ボックス用)。

    MessageBox MB_OK|MB_ICONINFORMATION "This is not a silent installer" /SD IDOK

ここで、サイレント モードがオンの場合、メッセージ ボックスは表示されず、ユーザー OK と同じように動作します。オプションの順序に注意してください

MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION "Application is running. Please close it first." /SD IDCANCEL  IDOK OK IDCANCEL CANCEL 
  • サイレント モードでユーザーから情報を収集する必要がある場合は、GetOptions を使用してさらにいくつかのオプションを関数 .onInit に渡すことができます。

ここみたいに:

!include FileFunc.nsh
!insertmacro GetParameters
!insertmacro GetOptions

Function .onInit
  ${GetParameters} $R0
  ClearErrors
  ${GetOptions} $R0 /USERNAME= $0
FunctionEnd

参考文献

NSIS サイレント インストール 1

NSIS サイレント インストール 2

NSIS サイレント インストール 3

于 2013-01-21T19:00:21.950 に答える