Не найдены установщики при запуске утилиты установки в пользовательском pssnapin - PullRequest
1 голос
/ 04 октября 2011

Я создал очень простой PSSnapin, но когда я запускаю IntallUtil для сборки, я получаю следующее:

В C: \ Tools \ PowerShellCommands не найдено общедоступных установщиков с атрибутом RunInstallerAttribute.Yes.Сборка \ SetServerDataSource \ bin \ Debug \ SetServerDataSource.dll.Удалите файл InstallState, потому что нет установщиков.

Однако у меня определенно есть установщик (унаследованный от CustomPSSnapIn) с [RunInstaller (true)]:


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

Есть идеи?

Ответы [ 2 ]

3 голосов
/ 04 октября 2011

Будьте осторожны, чтобы установить его с хорошим 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 голос
/ 04 октября 2011

Когда я это сделал, я просто применил [RunInstaller(true)] к производному классу PSSnapIn, который определяет оснастку.

Однако, если вы действительно не должны поддерживать PowerShell V1, было бы лучшесоздать (двоичный) модуль и не нуждаться в установщике.

...