2012-02-28 72 views
1

我有一个Windows服务和应该安装它的自定义控制台安装(其中包括 - 所以我不能使用安装项目中的.msi安装)。在.NET 3.5中创建用于Windows服务的自定义安装

该代码使用installutil.exe来安装,但3.5框架没有这个exe。如何安装此类服务? 它需要两个32位和64位,并在没有VS机器,只是框架3.5

(我看了看在工地附近,发现一些答案,但没有人在这里是适用)

运行更新: 如果我使用的版本从2.xx的我得到一个异常:

System.BadImageFormatException:无法加载文件或程序XXX或其依赖 之一。此程序集由比当前加载的运行时更新的运行时更新 构建,无法加载。

回答

1

该代码使用installutil.exe来执行安装,但3.5框架没有这个exe。

我有一个开箱安装.NET3.5的,它附带installutil.exe

查找范围

C:\ WINDOWS \ Microsoft.NET \框架\ V2 .0.50727

记住.NET3.5仍然运行在.NET2 运行

2

3.5框架确实有那个应用程序。

查看目录

C:\ WINDOWS \ Microsoft.NET \框架\ V2.0.50727 \

或类似的东西。这就是为什么installutil.exe适用于.NET 3.5(它在.NET 2中使用相同的平台,这就是为什么该文件夹被调用的原因)。

因此,您应该可以使用该完整路径调用installutil.exe

+0

我同意,但如果我这样做,我会得到异常System.BadImageFormatException:无法加载文件或程序集xxx或其依赖项之一。此程序集由比当前加载的运行时更新的运行时构建,无法加载。将使用此信息更新我最初的问题。 – 2012-02-28 14:13:49

+0

@FedorHajdu您是否尝试过使用** Framework64 **文件夹中的'InstallUtil.exe'?如果你使用你的程序集真正在.NET 3.5上,那么这个installutil应该会成功。 – 2012-02-28 14:16:53

+0

我之前并没有提出这个建议,但现在我做了,它仍然抛出同样的异常。 – 2012-02-28 14:22:36

相关问题