0

我有一个 WiX 安装程序,它安装(作为域管理员)我编写的服务并在完成后启动它。它必须在 Windows XP 和 Windows 7 上运行。它在两种操作系统上都运行良好。

然后我不得不对服务本身进行一些更改。所以我进行了更改,增加了我的安装程序的版本号,以便它更新服务,并重新编译了服务及其安装程序。我没有对安装程序进行任何其他更改。

安装程序在 Windows 7 上仍然可以完美运行,但在 Windows XP 上却不能。在 Windows XP 上,它会以某种方式卡住。安装进度条没有填满。您不能单击取消按钮(您可以单击它,但它会在窗口中显示取消,但没有任何反应)。根据任务管理器的说法,该程序没有响应,您仍然可以毫无问题地移动窗口。

我试图查看服务的安装文件夹,看看是否有一些操作正在进行,但如果你打开它,资源管理器就会冻结。我还尝试查看该服务是否已经在服务中注册,但是如果您打开服务,计算机管理也会冻结。错误日志中没有产生错误。CPU 和 RAM 的使用是绝对正常的。

有没有人知道发生了什么或者我对服务本身所做的更改如何破坏了我在 XP 上的安装程序?非常感谢您的帮助。

编辑 2013 年 1 月 7 日:

我只添加了一个Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("de-DE");to main 服务的方法和这个服务启动的所有线程。这就是我改变的一切。

如果您进行全新安装或升级,这没有什么区别。

我发现在您终止服务并(因为按下关机会导致整个操作系统冻结)重新启动计算机后,安装程序退出并出现错误,告诉我我没有足够的权限来安装系统服务。我在管理员组。而且安装程序无论如何都不应该使用我的帐户进行安装。在此之后,安装程序通过删除它添加的文件来取消其操作。如果您再次重新启动计算机并尝试安装该服务,它会按所述卡住(与第一次尝试产生错误的步骤完全相同[我注意到通过运行安装程序并按照 Daniel 的建议启用了日志记录])

我还发现安装程序不会从服务中删除服务,因为它会在错误发生后取消它的操作,但会删除服务的注册表项。好的,服务消失了。刷新 yust 没有像我预期的那样工作。

显然,问题根本不是我更改的结果,因为以前工作的安装程序和服务版本现在产生了完全相同的行为!

4

0 回答 0