在自定义pssnapin上运行install util时找不到安装程序

时间:2011-10-04 06:59:39

标签: powershell installutil pssnapin

我创建了一个非常简单的PSSnapin但是当我针对程序集运行IntallUtil时,我得到以下内容:

在C:\ Tools \ PowerShellCommands \ SetServerDataSource \ bin \ Debug \ SetServerDataSource.dll程序集中找不到具有RunInstallerAttribute.Yes属性的公共安装程序。 删除InstallState文件,因为没有安装程序。

但是,我确实有[RunInstaller(true)]的安装程序(继承自CustomPSSnapIn):


[RunInstaller(true)]
public class SetServerDataSourcePSSnapIn : CustomPSSnapIn
{
   ///
}

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

小心安装好的InstallUtil.exe。它存在64位和32位。

C:\Windows\Microsoft.NET\Framework64\v2.0.50727\InstallUtil.exe

对战

C:\Windows\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe

您可以根据公司的使用情况调整此框架。这取决于您引用System.Management.Automation的位置。在64位计算机上,如果你这样做:

C:\Program Files\Reference Assemblies\Microsoft\WindowsPowerShell\v1.0

它是64Bis汇编。

答案 1 :(得分:1)

当我完成此操作后,我刚刚将[RunInstaller(true)]应用于定义管理单元的PSSnapIn派生类。

但是,除非您真的必须支持PowerShell V1,否则最好创建一个(二进制)模块,而不需要安装程序。