2014-03-31 118 views
0

我對安裝程序進行了一些研究,現在在我的公司,我們正在使用點擊一次從jenkins部署一些問題。我們有一個測試證書(這些程序都是內部的),出於某種原因,證書與某些msbuild/.net框架不兼容會導致一些問題。所以我正在尋找替代品。使用NSIS安裝並運行每次

但在這我想保持相同的架構。現在它的工作原理是,有人點擊我們任務欄上的按鈕,點擊他們想要的應用程序,然後單擊一次即可安裝更新(或安裝),無需用戶進一步輸入並啓動應用程序。我聽到很多關於NSIS的好消息。

到目前爲止,我只看到通用的應用程序安裝程序,就像您從互聯網上下載任何東西時期望的那樣。我可以使用NSIS來完成上述操作嗎?

回答

1

一個非常基本沒有交互安裝程序可能是這樣的:

Name foo 
OutFile foo_setup.exe 
AutoCloseWindow true 
RequestExecutionLevel user 
InstallDir "$LocalAppData\Programs\MyApp" 

Page InstFiles 

Section 
SetOutPath "$InstDir" 
WriteUninstaller "$InstDir\uninst.exe" 
; TODO: Add registry entry for Add/Remove Programs 
File "MyApp.exe" 
File "Data.xml" ; Support files etc 
Exec '"$InstDir\MyApp.exe" -firstrun "c:\some path\file.ext"' 
SectionEnd 

Section Uninstall 
Delete "$InstDir\MyApp.exe" 
Delete "$InstDir\Data.xml" 
Delete "$InstDir\uninst.exe" 
RMDir "$InstDir" 
SectionEnd 

如果你想安裝到%ProgramFiles%可以運行與Exec的問題的所有用戶,因爲應用程序可以最終運行的如果非管理員在UAC對話框中使用了其他帳戶,則會出現錯誤的用戶。