Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.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
C# Windows服务安装程序C_C#_Windows_Service - Fatal编程技术网

C# Windows服务安装程序C

C# Windows服务安装程序C,c#,windows,service,C#,Windows,Service,我正在执行一项任务,需要创建一个安装程序.msi/exe,它可以将我的应用程序作为Windows服务安装。另外,我需要从一个不可更改的介质(即CDROM)部署此服务。但是我的配置文件在CDROM中,我想在托管服务之前将它们复制到硬盘上的本地文件夹中。我知道创建安装程序有不同的方法 1在Visual Studio中使用安装屏蔽向导 2名高级安装人员 你认为哪个选项最适合我的问题?此外,我不确定是否可以将配置文件复制到硬盘,并在安装时将dll保留在磁盘上 请指导我正确的方向。我不完全清楚你真正的问题

我正在执行一项任务,需要创建一个安装程序.msi/exe,它可以将我的应用程序作为Windows服务安装。另外,我需要从一个不可更改的介质(即CDROM)部署此服务。但是我的配置文件在CDROM中,我想在托管服务之前将它们复制到硬盘上的本地文件夹中。我知道创建安装程序有不同的方法 1在Visual Studio中使用安装屏蔽向导 2名高级安装人员

你认为哪个选项最适合我的问题?此外,我不确定是否可以将配置文件复制到硬盘,并在安装时将dll保留在磁盘上


请指导我正确的方向。

我不完全清楚你真正的问题是什么,但是,我尝试着回答:

但是我的配置文件在CDROM中,我想在托管服务之前将它们复制到硬盘上的本地文件夹中

如果这些文件可以集成到VS解决方案中,则可以将它们标记为内容生成操作,并在安装期间复制到安装位置。如果需要更灵活,可以编写安装扩展

并在安装时将dll保留在磁盘上

我不明白这一点。哪些DLL

如果您对使用完整设置创建示例服务的一些技巧感兴趣,可以查看我的答案:

或者看看:


您可能会评论您在这方面的经验,并告诉我们您希望将哪些文件复制到哪个位置,以及有关背景的更多信息。然后我将尝试完善我的答案。

关于我的问题的任何想法都将dll保留在磁盘上-为什么这是问题空间的一个重要部分?为什么不像大多数安装人员那样把所有东西都放到硬盘上呢?如果有人需要放入不同的CD,您真的希望服务中断吗?我的服务代码所依赖的dll很少。我不想把那些dll复制到硬盘上,只想把配置文件复制到硬盘上。我只是在想,我是否需要编写我的自定义应用程序来实现这一点,或者是否有任何其他工具可以为我提供此控制。因此,您似乎不需要安装工具,只需要一个程序来复制您的配置文件。我会使用自定义应用程序或一些powershell脚本…是的,显然,我不能使用任何安装向导,因为它们会在硬盘驱动器中复制文件…因此我将使用2个安装工具方法..第一个将作为windows服务托管我的应用程序,第二个将配置保存到系统注册表。之后服务启动,从注册表读取数据并运行其功能..谢谢大家的评论。。。