Развертывание SDK платформы в C # - PullRequest
1 голос
/ 07 января 2009

Я читал образцы Platform SDK, и примеры находятся в VB.NET. Я использую C #, поэтому мне было интересно, как я могу повторить эту строку в C #?

Set   Installer   =   CreateObject("WindowsInstaller.Installer")   

Спасибо.

Ответы [ 4 ]

2 голосов
/ 07 января 2009
using System.Runtime.InteropServices;

Type InstallerType;
object Installer;

InstallerType= Type.GetTypeFromProgID("WindowsInstaller.Installer");
Installer= Activator.CreateInstance(InstallerType);
1 голос
/ 27 мая 2011

Зайдите, чтобы добавить ссылку, выберите вкладку COM и выберите «WindowsInstaller». ( 'Interop.WindowsInstaller')

Add : using WindowsInstaller;

Type type = Type.GetTypeFromProgID("WindowsInstaller.Installer");
Installer msi = (Installer)Activator.CreateInstance(type);

//ur code: -
foreach (string productcode in msi.Products)
{
//ur code
}
1 голос
/ 07 января 2009

Это похоже на VB6 / VBScript, а не на VB.NET :) Но я могу ошибаться.

Варианты:

  1. Найдите .NET Framework эквивалентный объекта WindowsInstaller.Installer и используйте его.
  2. Использовать Activator.CreateInstance () . Но не ожидайте строго типизированного ответа.
  3. Добавьте ссылку на COM-объект WindowsInstaller.Installer, и VS сгенерирует строго типизированное взаимодействие, которое позволит вам создать экземпляр в C #.
0 голосов
/ 07 января 2009

Я думаю, это VBScript.

Было бы лучше искать то, что вы пытаетесь делать в .NET Framework. У этого есть богатая библиотека установщика, которая должна облегчить это. Не пытайтесь использовать какой-либо COM-объект, потому что это то, что вы нашли. Работайте в рамках, в которых вы находитесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...