数時間前、私の展開プロジェクトは正しく実行されていました。しかし、突然、nsDialogPage
プロジェクトに 1 秒追加した後、機能しなくなりました。古い保存コードでも 1 つだけnsDialogPage
です。
これは私のコードの一部です。
!include LogicLib.nsh
!include nsDialogs.nsh
!include StrRep.nsh
!include ReplaceInFile.nsh
!include FileFunc.nsh
!include TextFunc.nsh
!insertmacro GetTime
!include ZipDLL.nsh
; The name of the installer
Name "Packaging setup"
; The file to write
OutFile "Packaging setup v1.2.3.exe"
XPStyle on
Var Dialog
Var Label
Var UserText
; The default installation directory
InstallDir "C:\temp\setup"
; Request application privileges for Windows Vista
RequestExecutionLevel admin
; Pages
Page components
Page directory
;Page custom nsDialogsPage nsDialogsPageLeave
Page instfiles
Page custom nsDialogsPage nsDialogsPageLeave
UninstPage uninstConfirm
UninstPage instfiles
Section "Copy files"
; Set output path to the installation directory.
SetOutPath $INSTDIR
; Copy lot of files
File "D:\Temp\Sources\parametrage.txt"
SectionEnd
Function nsDialogsPage
nsDialogs::Create 1018
Pop $Dialog
${If} $Dialog == error
MessageBox MB_OK "Oops something crashed"
Abort
${EndIf}
;UserName
${NSD_CreateLabel} 0 0 18% 10u "UserName : "
Pop $Label
${ConfigRead} "$INSTDIR\parametrage.txt" "@DERBY_USER@ = " $UserText
${NSD_CreateTExt} 50u 0 50% 12u $UserText
Pop $UserText
nsDialogs::Show
FunctionEnd
Function nsDialogsPageLeave
!macro _ReplaceInFile2 SOURCE_FILE SEARCH_TEXT REPLACEMENT
Push "${SOURCE_FILE}"
Push "${SEARCH_TEXT}"
Push "${REPLACEMENT}"
Call RIF
!macroend
;${ConfigRead} "$INSTDIR\PARAMETRAGE.txt" "@DERBY_USER@ = " $0
${NSD_GetText} $UserText $0
!insertmacro _ReplaceInFile2 "$INSTDIR\$Version\conf\database.properties" "@DERBY_USER@" $0
FunctionEnd
このコードは、しばらくの間完全に機能していました。何が起こるかわかりません。
現在、ファイルのコピー後にセットアップが停止し、nsDialog フォームが表示されません。知らせる :
- ファイルのコピー ページにコメントを付けると、
nsDialog
ページが正常に表示されます - 最初のフォームを作成し
nsDialog
、次にコピー ページを作成し、次にnsDialog
もう一度 (テストのためだけに、私のアプリケーションでは役に立たない)、最初のnsDialog
フォームは表示されますが、2 番目のフォームは表示されません。
から来ていると思った${NSD_CreateTExt}
ので、ラベルのみ(テキストではない)で同じアクションを試しましたが、結果は同じです。
ファイルのコピーが正しく完了しました (ログに記録されます)。
そして、何がわからない前に、それは機能していました。
結果なしでマシンを再起動しました。
別のプロジェクトでも同様に、セットアップフォームに「.tmp file issue」に関連する類の「.tmp file issue」nsDialog
が表示されます。手掛かり ?
どんなアドバイスでも大歓迎です。ありがとう。