2014-03-31 81 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对话框中使用了其他帐户,则会出现错误的用户。