1

我正在开发 Windows 服务。所以我去尝试在我的机器上安装它:我打开一个开发人员命令提示符,我忘记以管理员身份运行。我将目录位置更改为服务项目的 bin\debug 文件夹。在命令提示符中输入: D:\code\MyService\bin\Debug>C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe MyService.exe

我收到了一些我不记得确切的错误,但该消息提醒我我需要以管理员身份运行 cmd 窗口。所以我以管理员身份重新启动提示。再次对 InstallUtil.exe 键入相同的命令。这次返回的消息是“访问被拒绝”。

所以我查看了 InstallUtil.exe 文件,结果发现它是 0 kb 的文件,只是几秒钟前修改的!...已删除的可执行文件已被删除,只留下一个空文件??

而且,我不是唯一一个:http: //ilanas.blogspot.se/2007/02/net-wtf-installutilexe-gets-corrupted.html

有人有这方面的信息吗?

4

1 回答 1

5

在命令提示符中输入: D:\code\MyService\bin\Debug>C:\Windows...\InstallUtil.exe

哦,天哪,这不是一个好主意。您重新键入了命令提示符。">" 是输出重定向运算符,它将输出发送到 > 后面的文件。InstallUtil.exe 在您的情况下。您被拒绝访问是因为您尝试执行文件夹,而不是有效的操作。然而,该消息是在 InstallUtil.exe 已被销毁之后生成的。留下一个 0 字节的文件,因为实际上没有字节被重定向。

下次,不要重新键入命令提示符。 只需键入要运行的命令:

 C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe MyService.exe

从另一台机器恢复 InstallUtil.exe。

于 2013-10-02T20:59:04.503 回答