
など。 私たちのタスクは、インストール中にユーザー名とパスワードを使用してインストーラーを作成することです。 NSISDialogDesignerを使用してインターフェイスを形成します。 インストーラーでのページの作成を簡素化するために、このソフトウェアを強くお勧めします。 プログラムは完全に無料で、多くの機能があります。 左側には一連のコントロールがあり、右側には要素のプロパティとウィンドウ自体があります。以下は、NSISに挿入するための既成のコードで、リアルタイムで生成されます。

NSISDialogDesignerで必要な機能の実行を直接指定する方が簡単です。 これは、より複雑なマルチページインターフェイスを作成するのに役立ちます。 なぜなら すでにNSISでこのコードを掘り下げることは十分に退屈です。

作成のすべてのステップをリストするわけではありません。 出力では、このようなインターフェイスを取得する必要があります。 私の入力フィールドは、通常のテストフィールドによって特別に作成されます。 ただし、パスワード入力フィールドを使用して文字を非表示にすることもできます。

次に、生成されたコードをNSISプロジェクトに挿入します。 リストにページを入力します。 この場合のMUI要素の説明は次のようになります。 エントリの最後に完全なnsiファイルがあります。
!MUI_ICONを定義する「D:\ Jabber_2013 \ ico.ico」
!insertmacro MUI_LANGUAGE "ロシア語"
ページカスタムfnc_Jabber_2013_Show
!insertmacro MUI_PAGE_INSTFILES
次に、インターフェイス変数を使用して作業を整理する必要があります。
hCtl_Jabber_2013_TextBox1
せいで、テキストを内部に入力することはできないことをすぐに
hCtl_Jabber_2013_TextBox1
ます。 これを行うには、
${NSD_GetText} $hCtl_Jabber_2013_TextBox1 $0
コマンドを使用する必要があります。 NSDでは、可視性やスタイル/色など、他の要素パラメーターを使用できます。
次に、TextBox内に変更処理関数を記述します。 私にはこのように見えます。
関数PatchCh1
$ {NSD_GetText} $ hCtl_Jabber_2013_TextBox1 $ 4
$ {NSD_SetText} $ hCtl_Jabber_2013_TextBox3 C:\ Jabber_ $ 4
$ {NSD_GetText} $ hCtl_Jabber_2013_TextBox2 $ 5
$ {NSD_GetText} $ hCtl_Jabber_2013_TextBox3 $ 3
Functionend
関数PatchCh2
$ {NSD_GetText} $ hCtl_Jabber_2013_TextBox2 $ 5
Functionend
関数PatchCh3
$ {NSD_GetText} $ hCtl_Jabber_2013_TextBox3 $ 3
Functionend
ご覧のとおり、ログインに基づいて、インストールパスも自動的に変更されます。 パスワード変数とインストールパス自体を取得するには、PatchCh2とPatchCh3が必要です。
次に、インストールセクションがあります。
セクション「ジャバー」
SetOutPath "$ 3"
ファイル/ r "D:\ Jabber_2013 \ Jabber \ *"
CreateShortCut "$ DESKTOP \ $ 4.lnk" "$ 3 \ miranda32.exe"
$ {WriteToFile} `$ 3 \ pass.x`` $ 5`
$ {WriteToFile} `$ 3 \ logg.x`` $ 4`
nsExec :: Exec "$ 3 \ start.bat"
セクションエンド
autoexec.iniを生成し、パスワードを書き込んでログインするために、sedの下でスクリプトを使用します。 ソースに同封します。 誰かがもっとエレガントな方法を提案できるなら、私はとても感謝します。 なぜなら これは次のようになります。
start.batに含まれるもの
Set / p logg = <logg.x
sed -rf too.sed pass.x> pass_clear.x
echo [JABBER]> autoexec.ini
echo LoginName = s%logg%>> autoexec.ini
echo jid = s%logg%server.com >> autoexec.ini
sed -f dop.sed pass_clear.x >> autoexec.ini
too.sedには
y / `0123456789-= \\ qwertyuiop [] asdfghjkl; 'zxcvbnm ,. \ /〜!@#$%^&*()_ + | QWERTYUIOP {} ASDFGHJKL:“ ZXCVBNM <>?/ e56789 :; <=> 2Bav | jwy〜zntu`bfxiklmopq @、} h {gsr134%ѓ&E()* c + \ /-。D0ЃV\\ JWY ^ ZNTU‚FXIKLMOPQ? '_] H [GSRACD /
説明します、autoexec.iniはMiranda自動構成ファイルです。 ここでは、ログイン(オープンフォーム)、パスワード(暗号化フォーム)、接続用のjid、およびその他の設定を指定できます。
その結果、次のような結果が得られます。

プロジェクトファイル
この記録が誰かに役立つことを願っています。 よろしくお願いします!