![](/img/trans.png)
[英]c# Visual Studio Project Installer save data from Textbox into Textfile
[英]c# Visual Studio Project Installer retrieve data from Textbox
我正在尝试从Visual Studio Project Installer中的文本框检索数据,但我一直失败。 我不知道如何从EDITA2字段中检索数据,到目前为止,互联网似乎没有任何答案。
我正在谈论的项目是您使用上述安装程序安装的Windows服务。 在安装程序中,您可以配置服务。 我想获取诸如服务器IP和计算机名称之类的数据,并希望稍后在运行的服务中使用此数据。 谈到服务,安装后是否有可能自动启动服务?
总结一下,我想将安装程序中的数据写入文本文件,并在安装过程完成后启动批处理文件。 你能帮我吗?
预先感谢您的答复。
我认为您正在搜索自定义操作
https://msdn.microsoft.com/library/d9k65z2d(v=vs.100).aspx
https://msdn.microsoft.com/en-us/library/9cdb5eda(v=vs.100).aspx
要设置服务的StartType,您需要一个ServiceInstaller
也许这可以帮助http://www.docstorus.com/viewer.aspx?code=7c7ccc28-6503-4779-877e-f350faab6741
这是“文本框”用户界面对话框的文档:
https://msdn.microsoft.com/en-us/library/e04k6f53(v=vs.100).aspx
标识符EDITA1(和其他标识符)是一个属性名称,您以后可以在(例如)自定义操作中使用它。 在不知道确切的自定义操作类型的情况下,您可能很难想到如何使用它。 通常,将其指定为自定义操作的参数[EDITA1]将导致其解析为实际值。 但是,如果您只想将值存储在注册表中,则可以使用值[EDITA1]创建一个注册表项。
要在使用安装程序类安装服务的Visual Studio安装程序中启动服务,您需要覆盖Install方法,调用base.Install(),然后添加代码以启动服务。 同样,在卸载或升级时,您可以覆盖Uninstall方法并在调用base.Uninstall()之前停止服务。
这些帖子有一些“文本框”示例:
在MSI安装程序中从命令行覆盖“文本框”对话框字段(Visual Studio 2010 Web安装程序)
Visual Studio设置对于服务和UI并不是很有用。 无法在输入时验证用户输入的内容-如果使用自定义操作验证用户输入的内容,则该操作将在安装结束时进行,并且整个安装将失败并回滚。 Windows Installer内置了对启动/停止/删除/安装服务的支持,但是VS安装程序不使用它。 如果您定期执行此操作,则考虑使用其他工具可能会很有用,并且该工具可能会有所学习,但是生成的MSI将更加可靠且易于使用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.