Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.Net Windows服务和InstallState文件-真的需要吗?_.net_Windows Services - Fatal编程技术网

.Net Windows服务和InstallState文件-真的需要吗?

.Net Windows服务和InstallState文件-真的需要吗?,.net,windows-services,.net,Windows Services,我有许多托管代码Windows服务,我们使用框架InstallUtil工具将其安装到服务控制管理器中。此工具在安装时创建扩展名为.InstallState的新文件。我已经尝试过删除这个文件,卸载后仍然可以正常工作 所以我的问题是,这个文件是做什么的,有什么理由我不应该删除它吗 编辑2010年5月3日:真的吗?没有人知道该文件的价值是什么?卸载过程应删除该文件。如果您使用的是自定义安装操作,则还应将其添加到卸载过程中。缺少.installstate文件不会阻止卸载服务 InstallUtil.e

我有许多托管代码Windows服务,我们使用框架InstallUtil工具将其安装到服务控制管理器中。此工具在安装时创建扩展名为.InstallState的新文件。我已经尝试过删除这个文件,卸载后仍然可以正常工作

所以我的问题是,这个文件是做什么的,有什么理由我不应该删除它吗


编辑2010年5月3日:真的吗?没有人知道该文件的价值是什么?

卸载过程应删除该文件。如果您使用的是自定义安装操作,则还应将其添加到卸载过程中。缺少.installstate文件不会阻止卸载服务


InstallUtil.exe使用InstallState文件卸载服务/程序集。其中包含的数据仅为卸载数据。如果您还没有阅读MSDN上的简短晦涩参考,您可以阅读它

也许安装程序包可以为您正确卸载所有内容,但如果您亲自调用InstallUtil/script,我不确定服务是否可以正确卸载


这是.InstallState文件的假定值。

在VS.NET中,您可以为msi项目定义一个自定义对话框,我使用这样的对话框来请求SQL Server地址和凭据,msi将文本框中的所有信息存储到InstallState文件中。卸载服务时,它将从InstallState文件读取值,并删除在安装阶段创建的数据库。在我的情况下,InstallState文件是必须的,因为如果在安装后删除该文件,卸载将失败。

我感谢您提供的参考资料,但我确实在寻找有关该文件的功能以及是否确实需要该文件的信息。互联网上似乎没有什么信息。两个链接都断开了这是我最初的想法,但事实是,即使删除了InstallState文件,我也可以使用InstallUtil卸载服务。这就是为什么需要它的原因。显然不需要:)“卸载服务时,它将从InstallState文件读取值,并将删除在安装阶段创建的数据库”Stefan的回答很好。重点是。。。卸载时,您很可能需要安装时的自定义信息,如服务器名称、数据库名称等。如果删除此文件,您将从何处获取信息?所以最好把文件放在那边。