WIX ToolSet Условная логика игнорируетсяC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Гость
 WIX ToolSet Условная логика игнорируется

Сообщение Гость »


У меня возникли проблемы при попытке выполнить автоматическую установку после поиска в реестре установленных версий определенного программного обеспечения. Это настраиваемое действие должно затем установить условную переменную на «1», а затем, используя условие в моем файле .wxs, условно установить правильные файлы. Если я закомментирую условия, он установится без проблем. Проверенные журналы и условия устанавливаются на «1», но, похоже, это игнорируется в логике условий. Вот мой код:

(Не установлен) REVIT2020 УСТАНОВЛЕН ИЛИ REVIT2021 УСТАНОВЛЕН ИЛИ REVIT2022 УСТАНОВЛЕН ИЛИ REVIT2023 УСТАНОВЛЕН ИЛИ REVIT2024 УСТАНОВЛЕН REVIT2020INSTALLED REVIT2020INSTALLED REVIT2020INSTALLED и мой код специального действия:

общедоступный класс VersionCheckActions { [ПользовательскоеДействие] общедоступный статический ActionResult CheckRevitVersion (сеанс сеанса) { session.Log("Начать проверкуRevitVersion"); Список revitPaths = новый список(); пытаться { // Проверяем наличие каждой версии Revit CheckAndSetProperty(session, «2020», «REVIT2020INSTALLED», revitPaths); CheckAndSetProperty(session, «2021», «REVIT2021INSTALLED», revitPaths); CheckAndSetProperty(session, «2022», «REVIT2022INSTALLED», revitPaths); CheckAndSetProperty(session, «2023», «REVIT2023INSTALLED», revitPaths); CheckAndSetProperty(session, «2024», «REVIT2024INSTALLED», revitPaths); // Объединяем пути session["REVIT_PATHS"] = string.Join("; ", revitPaths); session.Log("Проверка RevitVersion завершена"); вернуть ActionResult.Success; } поймать (Исключение ex) { session.Log($"Исключение в CheckRevitVersion: {ex.Message}"); вернуть ActionResult.Failure; } } [ПользовательскоеДействие] Private static void CheckAndSetProperty (сеанс сеанса, строковая версия, строка installFlagProperty, List revitPaths) { var regKeyPath = $@"SOFTWARE\Autodesk\Revit\{version}"; используя (ключ RegistryKey = Registry.LocalMachine.OpenSubKey(regKeyPath)) { session.Log($"Проверка пути реестра: {regKeyPath}"); если (ключ != ноль) { session[installFlagProperty] = "1"; // устанавливаем свойство, если ключ реестра существует session.Log($"Найден ключ реестра. Настройка {installFlagProperty}."); string installPath = $@"C:\ProgramData\Autodesk\Revit\Addins\{версия}"; revitPaths.Add(installPath); session.Log($"Добавлен путь установки: {installPath}"); } еще { session.Log($"Ключ реестра не найден для {версии}."); } } } Пожалуйста, помогите, я застрял в этом вопросе уже два дня! При необходимости мы будем рады добавить больше кода. Надеюсь, это имеет смысл для вас!
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Ошибка при создании файла .wxs для Wix Toolset 4.0.1.
    Гость » » в форуме C#
    0 Ответы
    19 Просмотры
    Последнее сообщение Гость
  • Как сравнить строку версии в сборке установщика Wix ToolSet?
    Anonymous » » в форуме C++
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Каталог WiX Toolset System32 автоматически меняется на каталог SysWOW64.
    Anonymous » » в форуме C#
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Проверка типов данных, условная логика и использование np.where,df.sort_values ​​и cumsum
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Проверка типов данных, условная логика и использование np.where,df.sort_values ​​и cumsum
    Anonymous » » в форуме Python
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»