有沒有人有一個基本的NSIS腳本示例是「基於zip的安裝程序」?或者可以告訴我命令?我知道NSIS內置了該工具,但我想根據它編輯腳本。 NSIS僅輸出基於zip的安裝程序的.exe。我想從腳本代碼開始。基於zip的NSIS安裝程序?
謝謝。
有沒有人有一個基本的NSIS腳本示例是「基於zip的安裝程序」?或者可以告訴我命令?我知道NSIS內置了該工具,但我想根據它編輯腳本。 NSIS僅輸出基於zip的安裝程序的.exe。我想從腳本代碼開始。基於zip的NSIS安裝程序?
謝謝。
的zip2exe工具生成,它傳遞給makensis一個簡單的腳本,大部分代碼是在文件中,它包括:
!define ZIP2EXE_COMPRESSOR_ZLIB
!define ZIP2EXE_INSTALLDIR "c:\foo"
!include "${NSISDIR}\Contrib\zip2exe\Base.nsh" ; You could edit this if you wanted to keep using zip2exe
!include "${NSISDIR}\Contrib\zip2exe\Classic.nsh"
!insertmacro SECTION_BEGIN
File "file1fromzip.txt"
File "file2fromzip.exe"
!insertmacro SECTION_END
要建立在安德斯答案,一些額外的事情應該在最新完成版。特別ZIP2EXE_NAME和ZIP2EXE_OUTFILE應設置:
!define ZIP2EXE_COMPRESSOR_ZLIB
!define ZIP2EXE_INSTALLDIR "c:\foo"
!define ZIP2EXE_NAME "My Application"
!define ZIP2EXE_OUTFILE "MyInstaller.exe"
!include "${NSISDIR}\Contrib\zip2exe\Base.nsh"
!include "${NSISDIR}\Contrib\zip2exe\Classic.nsh"
!insertmacro SECTION_BEGIN
File "file1fromzip.txt"
File "file2fromzip.exe"
!insertmacro SECTION_END
Classic.nsh可以Modern.nsh被替換爲 「現代」 UI。
另外請注意,這兩個文件所需要的「文件」一節中所列舉的,或者如果你有一個文件夾中的文件,您可以包括的全部內容:
File /r MyFolder\*.*
這將不會創建「 MyFolder「在安裝目標目錄中。
您可以使用以下腳本來提取目標位置中的zip文件,並且在編譯此腳本之前,您需要下載ZipDLL.dll請在您的NSIS安裝文件夾中。
OutFile "Zip.exe"
section
ZipDLL::extractall "C:\Users\raj\Desktop\envConfig.zip" "C:\Program Files (x86)\Zip"
sectionend
已經有一個很好的解決方案。 –