我有获胜服务,我想在我的所有产品中介绍。 那么如何将设置服务添加到我的所有项目设置中。 我尝试添加服务文件来设置(exe,config ref dll),但它不会自动设置,我应该使用installutil.exe。 如何在不使用installutil.exe的情况下将其与我的产品一起安装。 我可以在安装项目中使用ServiceProcessInstaller和ServiceInstaller吗?
非常感谢
答案 0 :(得分:3)
从post here的第6步开始。进入第9步后,您将能够使用InstallUtil.exe
来安装和卸载您的服务。
现在,如果您想避免使用InstallUtil.exe
,可以修改服务以从命令行安装/卸载自身。为此,请按照this post中讨论的步骤进行操作。
希望这有帮助。
答案 1 :(得分:3)
首先阅读有关创建设置的信息(是的,您可以在设置中使用ServiceProcessInstaller和ServiceInstaller)
接下来,看一下创建合并模块。合并模块就像一个库,您可以将其包含在您的设置中。因此,您将为您的服务创建合并模块,并在每个产品设置中包含该合并模块。
编辑(添加了配置合并模块的说明)
首先,如果您使用InstallUtil,请确保您的服务正确安装(该步骤将验证您的服务安装程序和服务进程安装程序代码是否已正确编写和归因)。
接下来,一旦它工作,我认为你需要做的就是配置你的合并模块来安装服务。方法如下:
打开解决方案并右键单击合并模块项目。
选择查看|自定义操作(将在文本编辑器窗口中打开一个新选项卡)
在“自定义操作”编辑器选项卡中,右键单击“安装”文件夹,然后选择“添加自定义操作”(打开一个对话框)
在项目对话框的选择项目中,下拉“查找”组合框并选择“模块可重定目标文件夹”
单击“添加输出”按钮(另一个对话框)
在“添加项目输出”对话框中,在“项目”下拉列表中选择您的服务项目。
在列表框中,选择“主要输出”(您告诉合并模块查找安装程序代码。您说要在我的服务项目的编译输出中查找它,并在安装程序运行时输出将在服务的安装目录中)
确定所有对话框。
按照Uninstall文件夹中的相同步骤操作,以便您的服务也可以正确卸载。
现在,一个小小的免责声明:我知道这适用于普通(msi)安装项目。我还没有使用合并模块,但我很确定它会起作用。
祝你好运!