c#Visual Studio项目安装程序从文本框中检索数据
我试图从Visual Studio项目安装程序中的文本框检索数据,但我只是保持失败。我不知道如何检索数据,比如说EDITA2字段,似乎互联网目前还没有答案。c#Visual Studio项目安装程序从文本框中检索数据
我正在谈论的这个项目是一个windows服务,你用上面提到的安装程序安装。在安装程序中,您可以配置服务。我想获取服务器IP和计算机名称等数据,并且希望稍后在运行的服务中使用此数据。谈到服务,安装后是否有可能自动启动服务?
总结一下,我想从安装程序写入数据到一个文本文件并在安装过程完成后启动一个批处理文件。你能帮我吗?
在此先感谢您的答案。
我认为你正在寻找自定义操作
https://msdn.microsoft.com/library/d9k65z2d(v=vs.100).aspx
https://msdn.microsoft.com/en-us/library/9cdb5eda(v=vs.100).aspx
要设置您需要的ServiceInstaller
服务的将StartType也许这有助于 http://www.docstorus.com/viewer.aspx?code=7c7ccc28-6503-4779-877e-f350faab6741
你正处于正确的道路上,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方法并停止服务。
这些职位有一些文本框的例子:
Setup Project: user enters a value then store it in a text file or database
Visual Studio的设置不符合服务和UI非常有用的。无法验证用户在输入时输入的内容 - 如果您使用自定义操作对其进行验证,则会在安装结束时进行验证,整个安装将失败并回滚。 Windows Installer具有内置支持来启动/停止/删除/安装服务,但VS设置不使用它。如果这是你经常做的事情,考虑另一种工具可能是有用的,并且这可能会有一个学习曲线,但最终的MSI将更加可靠和易于使用。
看看这个答案在这里支持卢卡斯的答案和我下面的评论。 https://开头计算器。com/questions/24484478/run-execommand-in-customaction-as-administrator-mode-in-wix-installer –