1

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

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

但是,我肯定有一个带有 [RunInstaller(true)] 的安装程序(继承自 CustomPSSnapIn):


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

有任何想法吗?

4

2 回答 2

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 组件。

于 2011-10-04T07:09:36.460 回答
1

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

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

于 2011-10-04T07:11:31.157 回答