代码之家  ›  专栏  ›  技术社区  ›  BrettRobi

.Net Windows服务和InstallState文件-是否确实需要?

  •  15
  • BrettRobi  · 技术社区  · 15 年前

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

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

    编辑5/3/10:真的吗?没有人知道这个文件的值是多少?

    3 回复  |  直到 15 年前
        1
  •  7
  •   Stefan P.    14 年前

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

        2
  •  2
  •   Jeff LaFay    14 年前

    InstallState文件由InstallUtil.exe用于卸载服务/程序集。其中包含的数据只是卸载数据。如果你没有读过MSDN上的简短的模糊参考,你可以读它 here .

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

    这是.InstallState文件的假定值。

        3
  •  1
  •   Larry Hipp    15 年前

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

    http://adamhouldsworth.blogspot.com/2009/11/c-setup-installstate.html

    http://support.microsoft.com/kb/934388