.net NET的常见应用程序部署和配置最佳实践是什么?

.net NET的常见应用程序部署和配置最佳实践是什么?,.net,deployment,configuration,.net,Deployment,Configuration,下面是我当前的场景,这正是我想作为一个案例研究来讨论的,但是我希望它足够开放,以解决.NET项目的其他部署实践 我编写了一个.NET WPF应用程序来执行制造功能测试。目前,该软件是通过将可执行文件及其依赖项复制到目标系统来部署的。从属通信系统的安装方式与此类似,但需要使用installutil注册WCF windows服务。这一切都是手动完成的。此外,正在从应用程序文件夹本地的自定义xml数据源读取配置文件。没有使用app.config 我想我们都可以同意,这种情况是低于标准的,而且肯定无法接

下面是我当前的场景,这正是我想作为一个案例研究来讨论的,但是我希望它足够开放,以解决.NET项目的其他部署实践

我编写了一个.NET WPF应用程序来执行制造功能测试。目前,该软件是通过将可执行文件及其依赖项复制到目标系统来部署的。从属通信系统的安装方式与此类似,但需要使用installutil注册WCF windows服务。这一切都是手动完成的。此外,正在从应用程序文件夹本地的自定义xml数据源读取配置文件。没有使用app.config

我想我们都可以同意,这种情况是低于标准的,而且肯定无法接近理想的发射条件

我的问题如下:

设置和部署应该使用什么?安装和部署向导?单击一次部署? 我应该如何开始自动安装windows服务?为上述服务指定自定义用户名/密码的最佳方法? 如果可变应用程序文件夹存储被认为是有害的,我应该如何进行配置?独立应用程序存储?
以上任何一个的文章链接都是理想的。

是的,1,一个安装和部署项目,easy peasy。本演练详细介绍了如何配置安装项目以使用自定义操作安装服务。

是的,1,安装和部署项目,easy peasy。如何配置安装项目以使用自定义操作安装服务在演练中有详细描述。

我不能真正解决您的所有问题,但至少可以帮助解决我遇到的部分问题

我在一篇论坛帖子中发现,如何将InstallUtil基本上集成到您的程序中,基本上是按照它为您安装服务所做的,因为它都内置在.net中。因此,最初的论坛海报所做的,我将自己复制到我的一个基本库中,基本上是如果我想创建一个服务,我只需创建一个控制台应用程序,它扩展ServiceBase,覆盖OnStart/OnStop,并拥有我所有的服务代码。这很好,因为它允许我直接从Visual Studio进行调试,然后作为服务安装意味着运行consoleapp.exe-install,它将运行安装服务所需的所有操作

然而,对于配置和部署本身,我仍然局限于进行构建,只需根据需要将所有更新的文件复制到服务器,并保留特定服务器配置文件的完整性。我是每台服务器配置文件使用版本控制的大力支持者,如果需要在许多服务器上执行此操作,我只想编写一个脚本在系统之间复制所需的文件,但如上所述,我对此没有太多经验。不过,我希望集成服务安装程序会有所帮助


我不能真正解决你们所有人的问题,但至少可以帮助解决我遇到的部分问题

我在一篇论坛帖子中发现,如何将InstallUtil基本上集成到您的程序中,基本上是按照它为您安装服务所做的,因为它都内置在.net中。因此,最初的论坛海报所做的,我将自己复制到我的一个基本库中,基本上是如果我想创建一个服务,我只需创建一个控制台应用程序,它扩展ServiceBase,覆盖OnStart/OnStop,并拥有我所有的服务代码。这很好,因为它允许我直接从Visual Studio进行调试,然后作为服务安装意味着运行consoleapp.exe-install,它将运行安装服务所需的所有操作

然而,对于配置和部署本身,我仍然局限于进行构建,只需根据需要将所有更新的文件复制到服务器,并保留特定服务器配置文件的完整性。我是每台服务器配置文件使用版本控制的大力支持者,如果需要在许多服务器上执行此操作,我只想编写一个脚本在系统之间复制所需的文件,但如上所述,我对此没有太多经验。不过,我希望集成服务安装程序会有所帮助

1设置和部署应使用什么?安装和部署向导?单击一次部署

如果您真的想最大限度地降低由于人为错误导致的任何部署错误的风险,我将使用为客户端WFP应用程序和windows服务创建单独的msi安装程序。WIX有时会非常痛苦,但在部署方面几乎任何事情都可以实现。在您的电脑上安装WIX后,有一个特殊的WIX visual studio项目可用

企业IT g 我过去与之合作过的用户成功地使用或Active Directory安装了我过去使用WIX为他们创建的任何msi,而不是单击一次。但这与WIX无关

2我应该如何自动安装windows服务?为上述服务指定自定义用户名/密码的最佳方法

网上有很多文章解释了如何使用WIX安装windows服务,比如这个-。 使用WIX,您可以设置在安装时提供的自定义用户名/密码参数。可以通过文件或使用命令行设置这些参数

3如果可变应用程序文件夹存储被认为是有害的,我应该如何进行配置?独立应用程序存储

使用WIX,可变配置文件可能会成为过去,因为各种环境(包括生产环境)的xml配置设置文件可以保存在单独的MST文件中,这些文件仅由系统管理员控制。增加了安全密钥安全存储库中的密码等的安全性,可以通过前面的答案中描述的命令行添加这些密码

设置参数在安装时传递给生成的各种配置文件,这些文件可以设置为只读,甚至可以加密-

1设置和部署应使用什么?安装和部署向导?单击一次部署

如果您真的想最大限度地降低由于人为错误导致的任何部署错误的风险,我将使用为客户端WFP应用程序和windows服务创建单独的msi安装程序。WIX有时会非常痛苦,但在部署方面几乎任何事情都可以实现。在您的电脑上安装WIX后,有一个特殊的WIX visual studio项目可用

我过去与之合作的企业IT人员成功地使用或Active Directory安装了我过去使用WIX为他们创建的任何msi,而不是单击一次。但这与WIX无关

2我应该如何自动安装windows服务?为上述服务指定自定义用户名/密码的最佳方法

网上有很多文章解释了如何使用WIX安装windows服务,比如这个-。 使用WIX,您可以设置在安装时提供的自定义用户名/密码参数。可以通过文件或使用命令行设置这些参数

3如果可变应用程序文件夹存储被认为是有害的,我应该如何进行配置?独立应用程序存储

使用WIX,可变配置文件可能会成为过去,因为各种环境(包括生产环境)的xml配置设置文件可以保存在单独的MST文件中,这些文件仅由系统管理员控制。增加了安全密钥安全存储库中的密码等的安全性,可以通过前面的答案中描述的命令行添加这些密码


设置参数在安装时传递给生成的各种配置文件,然后这些文件可以设置为只读,甚至可以设置为加密-。

我的建议是为该服务使用Windows Installer项目,因为配置默认用户名和密码非常容易。还可以轻松设置服务的默认状态autostart、manual start、disabled等等

对于WPF应用程序,我实际上使用的是ClickOnce over Windows共享。它易于设置,并自动处理更新


在windows服务部件中使用ClickOnce会很好,但我没有成功。

我的建议是在该服务中使用windows Installer项目,因为配置默认用户名和密码非常容易。还可以轻松设置服务的默认状态autostart、manual start、disabled等等

对于WPF应用程序,我实际上使用的是ClickOnce over Windows共享。它易于设置,并自动处理更新


在windows服务部件中使用ClickOnce会很好,但我没有成功。

这只是复制文件。按F1。它只是复制文件。按F1。如果使用WiX进行服务安装,但安装失败,请尝试关闭服务的自动启动。我所在的项目迁移到WiX,使用消息队列,但无法作为安装的一部分自动启动-仍然不确定确切原因,权限应该是可以的。不过,在安装后手动启动它效果很好。只是一个“提示”。如果使用WiX进行服务安装,但安装失败,请尝试关闭服务的自动启动。我所在的项目已迁移到WiX,使用消息队列,但无法作为安装的一部分自动启动-仍然不确定确切原因,权限应具有 很好。不过,在安装后手动启动它效果很好。只是一个“小费”。