Как получить путь MSI в классе установки в C # - PullRequest
3 голосов
/ 25 августа 2011

Я хотел бы знать путь, где расположен msi, в котором InstallerClass используется в качестве настраиваемого действия в настройке.

Я пытался использовать свойства, такие как path, SrcDir и т. д. в Context.Parameters, но эти значения не существуют (Throws NullReferenceException).Есть ли какой-либо другой способ получить этот путь или какая-либо причина, почему эти значения равны нулю ???

Спасибо

Ответы [ 2 ]

6 голосов
/ 25 августа 2011

Вам нужно будет передать соответствующее свойство в данных действия через окно свойств в VS:

/sourceDir="[SourceDir]\"

Затем используйте контекст, чтобы получить его:

string path = Context.Parameters["SourceDir"];
0 голосов
/ 27 августа 2011

Класс установщика имеет много ограничений и ведет себя очень плохо, когда выходит из строя (хрупкий).Я предлагаю вам взглянуть на управляемые C # настраиваемые действия с использованием Deployment Tools Foundation (DTF) в установщике Windows XML (WiX).Выходные данные этого типа проекта эквивалентны C ++ и могут использоваться проектом установки и развертывания Visual Studio (который я также не рекомендовал бы использовать.)

...