カスタムページがあり、プログレスバーを追加しました。これで、プログレスバーを制御する2つの機能があります。1つの機能はいくつかのサービスを停止することであり、もう1つはインストール場所からいくつかのファイルをバックアップすることです。
Function myCustomPage
Var /GLOBAL progressBar
Var /GLOBAL label
!insertmacro MUI_HEADER_TEXT "Setup is preaparing to install updates" "Please wait"
nsDialogs::Create 1018
${NSD_CreateLabel} 10 15 80% 10% ""
Pop $label
${NSD_CreateProgressBar} 10 30 80% 8% ""
Pop $progressBar
${NSD_CreateTimer} BackUp_Files.Callback 10
${NSD_CreateTimer} Stop_Services.Callback 10
nsDialogs::Show
FunctionEnd
Stop_Servicesコールバック関数
Function Stop_Services.Callback
${NSD_SetText} $label "Stopping services"
${NSD_KillTimer} Stop_Services.Callback
SendMessage $progressBar ${PBM_SETRANGE32} 0 100
SendMessage $progressBar ${PBM_SETPOS} 25 0
Sleep 100
SendMessage $progressBar ${PBM_SETPOS} 25 0
Sleep 100
SendMessage $progressBar ${PBM_SETPOS} 50 0
Sleep 100
SendMessage $progressBar ${PBM_SETPOS} 75 0
Sleep 100
SendMessage $progressBar ${PBM_SETPOS} 100 0
FuncionEnd
Backup_files.callbackの同じ種類の構造があります。結果:ラベルを見ると、「サービスの停止」と「ファイルのバックアップ」の切り替えの種類がわかります。誰かがこれを処理する方法を教えてもらえますか?最初にサービスを停止してから、バックアップファイルをコピーしたいと思います。サービスを停止した後、プログレスバーを0に設定し、ファイルのバックアップを再開する必要があります。単一のカスタムページでそれを行う必要があります。