Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.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
Service 通过Wix/MSI卸载时停止/删除本地系统服务_Service_Wix_Windows Installer - Fatal编程技术网

Service 通过Wix/MSI卸载时停止/删除本地系统服务

Service 通过Wix/MSI卸载时停止/删除本地系统服务,service,wix,windows-installer,Service,Wix,Windows Installer,据我所知,我的答案是 如果服务是以LocalSystem启动的,则在卸载包时停止并卸载服务是非常重要的 有没有可能做到这一点?我无法想象,如果不强制使用文件使用对话框或RestartManager弹出窗口,这是不可能的。您提到的两个主题都不相关。停止服务通常不是问题,不管是本地系统还是非本地系统。服务在被要求停止时不停止的原因只有一个:它们写得很糟糕。它们只是代码,如果它们没有及时响应停止请求,那么就有问题了。如果他们决定花20分钟关闭,举个不寻常的例子,你不能责怪卸载程序。如果某个服务

据我所知,我的答案是

如果服务是以LocalSystem启动的,则在卸载包时停止并卸载服务是非常重要的


有没有可能做到这一点?我无法想象,如果不强制使用文件使用对话框或RestartManager弹出窗口,这是不可能的。

您提到的两个主题都不相关。停止服务通常不是问题,不管是本地系统还是非本地系统。服务在被要求停止时不停止的原因只有一个:它们写得很糟糕。它们只是代码,如果它们没有及时响应停止请求,那么就有问题了。如果他们决定花20分钟关闭,举个不寻常的例子,你不能责怪卸载程序。如果某个服务位于某个托管进程中,因此某个普通可执行文件可以作为服务运行,那么该服务也可能无法正常停止,我认为java类型问题就是这样

当服务在使用中出现文件问题时,如果它们不关闭,也可能会发生,如果它们不再是服务,但进程不会消失(托管类型的服务通常就是这种情况)。服务可以响应停止请求,Windows将不再将其视为服务,但不要求进程停止—它可以继续运行、执行清理或其他操作,因此仍将导致文件使用检查。这也是VisualStudio安装项目(不使用标准MSI操作)中安装程序类的常见问题,因为在使用安装程序类的安装程序中,没有任何东西可以关闭正在运行的服务


如果您有一个特定的问题,那么您应该发布它,但是在卸载过程中停止服务一直都是没有问题的

你提到的两个主题都不相关。停止服务通常不是问题,不管是本地系统还是非本地系统。服务在被要求停止时不停止的原因只有一个:它们写得很糟糕。它们只是代码,如果它们没有及时响应停止请求,那么就有问题了。如果他们决定花20分钟关闭,举个不寻常的例子,你不能责怪卸载程序。如果某个服务位于某个托管进程中,因此某个普通可执行文件可以作为服务运行,那么该服务也可能无法正常停止,我认为java类型问题就是这样

当服务在使用中出现文件问题时,如果它们不关闭,也可能会发生,如果它们不再是服务,但进程不会消失(托管类型的服务通常就是这种情况)。服务可以响应停止请求,Windows将不再将其视为服务,但不要求进程停止—它可以继续运行、执行清理或其他操作,因此仍将导致文件使用检查。这也是VisualStudio安装项目(不使用标准MSI操作)中安装程序类的常见问题,因为在使用安装程序类的安装程序中,没有任何东西可以关闭正在运行的服务


如果您有一个特定的问题,那么您应该发布它,但是在卸载过程中停止服务一直都是没有问题的

通常情况下,这不应该是一个问题,帐户(本地系统或其他什么)实际上并不重要(如果服务在被告知停止时实际停止)。安装程序(MSI)在系统帐户下执行,因此它有足够的权限停止和卸载任何服务。您是否面临一些问题?通常情况下,这不应该是一个问题,帐户(本地系统或其他什么)实际上并不重要(如果服务在被告知时实际停止)。安装程序(MSI)在系统帐户下执行,因此它有足够的权限停止和卸载任何服务。您是否面临一些问题?我在这里提出了一个更具体的问题:我的问题是针对权限问题,如果服务是以LocalSystem启动的。但是你能更准确地解释一下“写得很差”的服务是什么意思吗?我的服务是用C++编写的,它有一个注册的Service CealStand。它可以通过“sc”命令行工具或“服务”对话框正常启动和停止。服务在几秒钟内退出,服务的所有子进程也被终止。我在这里提出了一个更具体的问题:我的问题是针对权限问题,如果服务是以LocalSystem启动的。但是你能更准确地解释一下“写得很差”的服务是什么意思吗?我的服务是用C++编写的,它有一个注册的Service CealStand。它可以通过“sc”命令行工具或“服务”对话框正常启动和停止。服务在几秒钟内退出,服务的所有子进程也将终止。