Я создал файл UPSTest.NSI.В этот файл я включил требуемые библиотеки dll и exe, как показано ниже, а также добавил необходимые комнады.
File E:\Code\PCPE\Install\pcpe301\Common\ValidateUPS.exe
File E:\Code\PCPE\Install\pcpe301\Common\drvutil.dll
File E:\Code\PCPE\Install\pcpe301\Common\ntutil.dll
File E:\Code\PCPE\Install\pcpe301\Common\pdcdll.dll
Наконец, я загрузил этот файл сценария NSI, он сгенерировал UPSTest.exe
Я запускаю этот UPSTest.exe, и он сгенерировал ниже dll и exes вместе с exe-файлом удаления в пути (\ Program Files \ UPSTest)
drvutil.dll
ntutil.dll
pdcdll.dll
ValidateUPS.exe
uninstall.exe
Но когда я запускаю ValidateUPS.exe, этоне открывается приложение (оно не отвечает)
Ниже приведен полный код: (UPSTest.nsi)
; UPSTest.nsi
;
;
; It will install UPSTest.nsi into a directory that the user selects.
;--------------------------------
; The name of the installer in the path C:\Program Files\UPSTest
Name "UPSTest"
; The file to write in the path E:\Code\PCPE\NULLSOFT\src
OutFile "UPSTest.exe"
; The default installation directory in the path C:\Program Files\UPSTest
InstallDir $PROGRAMFILES\UPSTest
; Registry key to check for directory (so if you install again, it will
; overwrite the old one automatically) It shows the path the path C:\Program Files\UPSTest
InstallDirRegKey HKLM "Software\NSIS_UPSTest" "Install_Dir"
; Request application privileges for Windows Vista
RequestExecutionLevel admin
;--------------------------------
; Pages
Page components
Page directory
Page instfiles
UninstPage uninstConfirm
UninstPage instfiles
;--------------------------------
; The stuff to install
Section "UPSTest (required)"
SectionIn RO
DetailPrint "Testing UPS"
; Set output path to the installation directory. Here is the path C:\Program Files\UPSTest
SetOutPath $INSTDIR
; Give the dll and exe path
File E:\Code\PCPE\Install\pcpe301\Common\ValidateUPS.exe
File E:\Code\PCPE\Install\pcpe301\Common\drvutil.dll
File E:\Code\PCPE\Install\pcpe301\Common\ntutil.dll
File E:\Code\PCPE\Install\pcpe301\Common\pdcdll.dll
; Write the installation path into the registry
WriteRegStr HKLM SOFTWARE\NSIS_UPSTest "Install_Dir" "$INSTDIR"
; Write the uninstall keys for Windows
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\UPSTest" "DisplayName" "NSIS UPSTest"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\UPSTest" "UninstallString" '"$INSTDIR\uninstall.exe"'
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\UPSTest" "NoModify" 1
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\UPSTest" "NoRepair" 1
WriteUninstaller "uninstall.exe"
SectionEnd
; Optional section (can be disabled by the user)
Section "Start Menu Shortcuts"
CreateDirectory "$SMPROGRAMS\UPSTest"
CreateShortcut "$SMPROGRAMS\UPSTest\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
CreateShortcut "$SMPROGRAMS\UPSTest\UPSTest (MakeNSISW).lnk" "$INSTDIR\UPSTest.nsi" "" "$INSTDIR\UPSTest.nsi" 0
SectionEnd
;--------------------------------
; Uninstaller
Section "Uninstall"
; Remove registry keys
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\UPSTest"
DeleteRegKey HKLM SOFTWARE\NSIS_UPSTest
; Remove files and uninstaller
Delete $INSTDIR\UPSTest.nsi
Delete $INSTDIR\uninstall.exe
; Remove shortcuts, if any
Delete "$SMPROGRAMS\UPSTest\*.*"
; Remove directories used
RMDir "$SMPROGRAMS\UPSTest"
RMDir "$INSTDIR"
SectionEnd
Пожалуйста, дайте мне знать, что я пропустил.А также нужно ли что-нибудь добавить для запуска приложения?Пожалуйста, предложите, если есть какие-либо изменения из предоставленного мною текстового скрипта .nsi.