0

数時間前、私の展開プロジェクトは正しく実行されていました。しかし、突然、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が表示されます。手掛かり ?

どんなアドバイスでも大歓迎です。ありがとう。

4

1 に答える 1