我有一个WiX安装程序,它安装(作为Domainadmin)我写的服务,并在完成后启动它。它必须在Windows XP和Windows 7上运行。它在两个操作系统上运行良好。
然后我不得不对服务本身进行一些更改。所以我做了更改,增加了安装程序的版本号,以便更新服务,并重新编译服务及其安装程序。我没有对安装程序进行任何其他更改。
安装程序仍可在Windows 7上完美运行,但在Windows XP上却没有。 在Windows XP上,它会以某种方式卡住。安装的进度条未填充。您无法单击取消按钮(您可以单击它,但然后它表示在窗口中取消并且没有任何事情发生)。根据任务管理员的说法,该程序没有反应迟钝,您仍然可以毫无问题地移动窗口。
我试图查看该服务的安装文件夹,看看是否有某些操作正在进行,但是如果您打开它,资源管理器会冻结。我还试图查看该服务是否已在服务中注册,但如果您打开服务,计算机管理也会冻结。 错误日志中没有生成错误。 CPU和RAM的使用情况绝对正常。
有谁知道发生了什么或我如何更改服务本身在XP上破坏了我的安装程序? 非常感谢您的帮助。
EDIT 1/7/2013:
我只在服务的main方法和此服务启动的所有线程中添加了Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("de-DE");
。这就是我改变的一切。
如果您进行全新安装或upgrede,则没有任何区别。
我发现在您终止服务之后(强制因为按下关闭导致整个操作系统冻结)重启计算机,安装程序退出并显示错误,告诉我我没有足够的权限来安装系统服务。我是管理员组。并且安装程序不应该使用我的帐户进行安装。 在此之后,安装程序通过删除已添加的文件来取消其操作。如果再次重新启动计算机并尝试安装服务,它会被卡住(在第一次尝试时产生错误的完全相同的步骤[我注意到运行安装程序并启用了Daniel的建议启用了日志])< / p>
我进一步发现安装程序不会从服务中删除服务,因为它在错误后取消了它的操作,但删除了服务的注册表项。 好的,服务不见了。刷新的努力没有像我预期的那样发挥作用。
显然问题不在于我的更改,因为以前工作的安装程序和服务的版本现在产生完全相同的行为!