c#Visual Studio项目安装程序从文本框中检索数据

c#Visual Studio项目安装程序从文本框中检索数据

问题描述:

我试图从Visual Studio项目安装程序中的文本框检索数据,但我只是保持失败。我不知道如何检索数据,比如说EDITA2字段,似乎互联网目前还没有答案。c#Visual Studio项目安装程序从文本框中检索数据

我正在谈论的这个项目是一个windows服务,你用上面提到的安装程序安装。在安装程序中,您可以配置服务。我想获取服务器IP和计算机名称等数据,并且希望稍后在运行的服务中使用此数据。谈到服务,安装后是否有可能自动启动服务?

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

在此先感谢您的答案。

+0

看看这个答案在这里支持卢卡斯的答案和我下面的评论。 https://开头计算器。com/questions/24484478/run-execommand-in-customaction-as-administrator-mode-in-wix-installer –

+0

你正处于正确的道路上,OP将需要创建一个自定义操作。在几个月前,我已经使用Wix Installers http://wixtoolset.org/完成了这项工作,并且它相对简单易行。 –

这是文件N代表的文本框的用户界面对话框:

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

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

要在Visual Studio设置中启动安装服务并使用安装程序类的服务,您需要覆盖Install方法,调用base.Install(),然后添加代码以启动服务。同样,在卸载或升级时,您可以在调用base.Uninstall()之前覆盖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将更加可靠和易于使用。

+0

嗨,感谢您的回复,并为我的迟到感到遗憾! 我想将用户放入编辑框的数据写入配置文件(.txt)。我怎样才能做到这一点? – Speedbird

+0

你可以请给一个litte代码示例为了向我展示如何在我的C#代码中管理这个?除此之外,我找不到任何关于它的事情,但这对我没有任何帮助:它们没有放在任何地方。如果你想保存它们,你需要自己做。只需在安装项目的IDE中创建注册表项即可,其中值属于方括号中的属性名称,例如[EDITA1] – Speedbird