WixSharp: Можно ли установить динамику Product (Msi) -Name? - PullRequest
2 голосов
/ 27 октября 2019

для моего WPF-проекта. Я хочу создать установщик с WixSharp. Но я также хочу установить один и тот же проект с разными именами и файлами конфигурации (DEV, TEST, LIVE).

Возможно ли это и как? Нужны ли разные Project-Guid для каждой установки? Если это невозможно: есть ли обходной путь?

Thx

1 Ответ

1 голос
/ 10 ноября 2019

Да, это возможно для Wix & Wixsharp . Что вам нужно:

  1. Добавить CustomAction до ValidateProductID
  2. Изменить ProductName свойствов сеансе

CustomAction пример управляемого кода:

new ManagedAction(
    RenameProductName,
    Return.ignore,
    When.Before,
    Step.ValidateProductID,
    Condition.Always)
    {
        Impersonate = false,
        ActionAssembly = System.Reflection.Assembly.GetExecutingAssembly().Location
    };

CustomAction источник кода:

[CustomAction]
public static ActionResult RenameProductName(Session session)
{
    session["ProductName"] = "My new product name";
    return ActionResult.Success;
}
...