0

問題: フォルダーの作成、IE 設定の変更、ファイアウォールの変更、exe のインストールなど、一連のタスクを実行するために nsi を作成する必要があります。インストールする exe はライセンス コピーであり、私が持っている登録名とキーが必要です。

シナリオ: exe を 50 台以上のコンピューターにインストールした後、同じ手順を実行する必要があり、そのプロセスで手動エラーが発生しないようにしたいと考えています。

すべての手順を正常に作成しましたが、exe のインストール方法をまだ見つけていません。これにより、登録名とキーの入力が求められます。

ありがとうレイジーウィザー

4

1 に答える 1

0

登録名とキーをどのように処理する予定ですか、インストールを検証するためのサーバーが必要ですか?

とにかく、カスタムページを作成し、このページでカスタムフォームを作成する必要があります。何かのようなもの :

Page custom CreatePage QuitPage

ここで、CreatePageは、ページUIを作成する関数です。

例:

;;In the variables section
var regname_hdl
var regkey_hdl
Var regname_inpt_hdl
var regkey_inpt_hdl
var RegName
var RegKey


Function CreatePage

GetDlgItem $0 $hwndParent 3
EnableWindow $0 0

nsDialogs::Create 1018
Pop $Dialog

${If} $Dialog == error
    Abort
${EndIf}

${NSD_CreateLabel} 0 0 100% 10u "Say something to user"
Pop $Label

${NSD_CreateLabel} 20u 20u 20% 20u "Enter Registration Name "
Pop $regname_inpt_hdl

${NSD_CreateLabel} 20u 40u 20% 20u "Enter Registration Key "
    Pop $regkey_inpt_hdl


    ${NSD_CreateText} 30% 20u 30% 10u ""
    Pop $regname_hdl

    ${NSD_CreatePassword} 30% 40u 30% 10u ""
    Pop $regkey_hdl

    nsDialogs::Show

FunctionEnd

Function QuitPage

    ${NSD_GetText} $reg_hdl $2
    ${NSD_GetText} $key_hdl $3
    Push $3
    Push $2
    Pop $RegName
    Pop $RegKey


    ${If} '$2' == ""
          messageBox MB_ICONEXCLAMATION "Reg name is empty !"
          Abort
    ${ElseIf} '$3' == ""
         messageBox MB_ICONEXCLAMATION "Reg key is empty !"
         Abort
    ${Else}
           System::Alloc 9
           Pop $4
           ;; Here you have to call some procedure to check if reg name and key are valid
           ;; let's say the procedure returns 1 for true and 0 for false and it stores the result in $1

         ${If} $1 == 0
               messageBox MB_ICONEXCLAMATION "Installation denied !"
               Abort
         ${EndIf}
    ${EndIf}
    MessageBox MB_OK "Installation allowed !"

    SetPluginUnload manual
    System::Free 0

FunctionEnd
于 2011-06-13T15:44:12.857 に答える