构建包含服务凭据的安装包

时间:2014-05-20 09:29:38

标签: wix credentials azure-devops dotnetinstaller

我正在使用wix / dotnetinstaller来安装Windows服务。该服务需要在用户设置的非系统帐户下运行。是否可以构建包含凭证的安装包?整个想法是在用户(登录到他的网络面板后)点击下载按钮时准备包。生成的包应该包含凭证,安装后没有必要再次使用它。

2 个答案:

答案 0 :(得分:0)

毫无疑问,出于安全原因和可维护性,不建议使用用户凭据运行服务。但是,如果您使用 Windows Installer ,则可以在安装期间输入服务凭据,或者在命令行上设置它们,如下所示:

msiexec.exe /I "C:\Test.msi" /QN /L* "C:\Tmp\msilog.log" USERNAME="Test" PASSWORD="Test"

然后,您在MSI文件中创建 ServiceInstall ServiceControl 表,以使用 USERNAME 属性安装和配置服务分别为StartName和Password列的PASSWORD

我建议使用WIX - 这是一个能够从XML源文件编译MSI二进制文件的免费工具。对于WIX的速成班,我推荐这两个来源:

  1. Simple "get going" sample from Code Project
  2. Full blown WIX tutorial
  3. 如果你是“修补匠”,这两个来源 - 特别是第一个 - 将帮助你使用WIX快速前进。

    您还可以使用更高级别的工具和更好的GUI以及一些“自动化”工具,例如InstallshieldAdvanced Installer

答案 1 :(得分:0)

我非常确定您无法做到这一点,因为要使用用户的凭据启动服务,您需要用户的密码,而且您可以&#39抓住它。为什么您正在运行的这个过程需要成为一项服务?您可以将其创建为普通进程并将其放在用户的“启动”菜单中,然后在用户登录时启动。