Состояние операционной системы WIX Всегда верно
У меня есть DLL, которую нужно установить в определенную папку, в зависимости от того, на какую ОС я устанавливаю.
Для XP он установлен в system32, а в Win7 - в SysWow64.
Решение - C#, и я использую проект развертывания.
В проекте развертывания, используя редактор файловой системы, я добавил и system32, и SysWow64 с DLL внутри обоих.
На уровне папки я использую поле условия для создания папки /dll или нет.
Для System32 у меня есть условие [CDATA[VersionNT = 501]]
Для SysWow64 у меня есть условие [CDATA[VersionNT = 601]]
Я обнаружил, что DLL будет вставляться только в системах XP, но папка SysWow64 и DLL будут создаваться в обеих операционных системах.
Я пробовал разные варианты, но я не могу понять, где я иду не так.
Я получил информацию об условиях из этой ветки Как проверить, установлена ли система Windows 7 или Windows Server 2008 R2 в Wix Installer?
1 ответ
Извините за задержку, мне пришлось ждать 8 часов, прежде чем я смог ответить на свой вопрос.
Коренная проблема была глупой ошибкой.
Я перестраивал решение каждый раз после внесения изменений в проект развертывания. Я должен был щелкнуть правой кнопкой мыши по проекту развертывания и выбрать его создание. Спасибо за помощь.
Я бросил WIX <!CDATA[ ]
части в поле условия, как сказал [Damien_The_Unbeliever][1], а также добавили условие в DLL, а не просто в папку.