試圖優化我的MUI 2 NSIS安裝程序中,我做的.onInstSuccess
callback function一些ExecWait
電話,我正在尋找通過the documentation找到一個被稱爲回調:複製完所有文件後可能具有NSIS回調函數嗎?
- 後的文件都複製- 和 -
- 將嚮導頁面從文件複製頁面切換到完成頁面之前。
不幸的是,我沒有發現這種回調。
所以我的問題是:
是否有可能做一些加工定製的文件複製完成後,嚮導頁面之前被從文件中複製頁面切換了嗎?
試圖優化我的MUI 2 NSIS安裝程序中,我做的.onInstSuccess
callback function一些ExecWait
電話,我正在尋找通過the documentation找到一個被稱爲回調:複製完所有文件後可能具有NSIS回調函數嗎?
不幸的是,我沒有發現這種回調。
所以我的問題是:
是否有可能做一些加工定製的文件複製完成後,嚮導頁面之前被從文件中複製頁面切換了嗎?
使用MUI_PAGE_CUSTOMFUNCTION_LEAVE
是好的。這取決於您是否希望在日誌中打印「已完成」之前或之後執行操作。對於前者,你可以只是堅持的代碼在最後一節:
Section
SetOutPath $Instdir
File "Foo"
File "Bar"
ExecWait '"$Instdir\dofinalthing.exe" /blah'
SectionEnd
或
Section
SetOutPath $Instdir
File "Foo"
File "Bar"
SectionEnd
Section -post
ExecWait '"$Instdir\dofinalthing.exe" /blah'
SectionEnd
當然,這將是進度的一部分,除非你用setdetailsprint
將打印到日誌..
剛剛發現我自己的解決方案(也許Anders將有一個更好的,雖然):
MUI 2允許定義定製的回調函數,所以我的定義之前正確使用MUI_PAGE_CUSTOMFUNCTION_LEAVE
macro
!insertmacro MUI_PAGE_INSTFILES
註冊一個自定義功能。所以,我的NSI文件的樣子:
...
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE inst_leave
!insertmacro MUI_PAGE_INSTFILES
...
隨着inst_leave
是像
Function inst_leave
...
FunctionEnd
這並獲得成功。
偉大的答案(一如既往;-)。非常感謝,安德斯! –