c#Visual Studio Project Installer从Textbox

时间:2017-09-21 05:55:23

标签: c# visual-studio-2013 installer visual-studio-setup-proje

我试图从Visual Studio Project Installer中的文本框中检索数据,但我只是一直在失败。我不知道如何从中检索数据,让我们说EDITA2字段,到目前为止互联网似乎没有答案。

我正在谈论的项目是您使用上述安装程序安装的Windows服务。在安装程序中,您可以配置该服务。我想获取服务器IP和计算机名称等数据,我想在以后的运行服务中使用这些数据。谈到服务,安装后是否有可能自动启动服务?

总结一下,我想将安装程序中的数据写入文本文件,并在安装过程完成后启动批处理文件。你能帮帮我吗?

提前感谢您的回答。

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

这是Textboxes用户界面对话框的文档:

https://msdn.microsoft.com/en-us/library/e04k6f53(v=vs.100).aspx

标识符EDITA1(和其他)是一个属性名称,稍后您可以在(例如)自定义操作中使用。如果不知道你可能会想到什么样的自定义动作,很难说你如何使用它。通常,将其指定为自定义操作的参数[EDITA1]将使其被解析为其实际值。但是,如果您只想将值存储在注册表中,则需要使用值[EDITA1]创建一个注册表项。

要在使用安装程序类安装服务的Visual Studio安装程序中启动服务,您需要覆盖Install方法,调用base.Install(),然后添加代码以启动服务。同样,在卸载或升级时,您可以覆盖Uninstall方法并在调用base.Uninstall()之前停止服务。

这些帖子有一些文本框示例:

Overriding "Textboxes" dialog fields from the command line in MSI installer (Visual Studio 2010 Web Setup)

Setup Project: user enters a value then store it in a text file or database

Visual Studio设置对服务和UI不是很有用。无法验证用户在输入时输入的内容 - 如果使用自定义操作对其进行验证,则将在安装结束时进行验证,整个安装将失败并回滚。 Windows Installer内置支持启动/停止/删除/安装服务,但VS安装程序不使用它。如果这是您经常做的事情,考虑另一个工具可能会有用,这可能有一个学习曲线,但最终的MSI将更可靠,更容易使用。