2010-06-30 2 views
1

Я работаю над написанием установщика WiX, который должен установить драйвер в качестве необходимого условия. Существует исполняемый файл, который необходимо запустить, который устанавливает драйвер на ПК. Я не хочу устанавливать этот исполняемый файл на хост-машину. Существует как версия x64, так и x86, и, в зависимости от платформы, необходимо установить один или другой.Установка драйвера с использованием исполняемого файла

Исполняемый файл в настоящее время выполняется с использованием командной строки: C: \ Comp \ code \ install \ canned \ tabload \ x86> tabload install "* tab1394" "C:/Comp/code/install/canned/tab1394/x86"

последний аргумент является расположение .cat, .sys и файлов .inf для драйвера

текущий код у меня есть:

<!-- Install correct device driver --> 
<?if $(var.Platform) = x64?> 
    <Property Id="Win64">1</Property> 
<?else?> 
    <Property Id="Win64">0</Property> 
<?endif?> 

<Binary Id="tabload64EXE" SourceFile="C:/Tableau/code/install/canned/tabload/x64/tabload.exe" /> 
<Binary Id="tabload32EXE" SourceFile="C:/Tableau/code/install/canned/tabload/x86/tabload.exe" /> 
<CustomAction Id="LaunchFile64" 
       BinaryKey="tabload64EXE" 
       ExeCommand='tabload "*tab1394" "C:/comp/code/install/canned/tab1394/x64 "' 
       Return="asyncNoWait" /> 
<CustomAction Id="LaunchFile32" 
       BinaryKey="tabload32EXE" 
       ExeCommand='tabload install "*tab1394" "C:/comp/code/install/canned/tab1394/x86 "' 
       Return="asyncNoWait" /> 

<InstallExecuteSequence> 
    <Custom Action="LaunchFile64" After="InstallFinalize">Win64</Custom> 
    <Custom Action="LaunchFile32" After="InstallFinalize">NOT Win64</Custom> 
</InstallExecuteSequence> 

Я посмотрел на столов в Орке. Кажется, что свойство Win64 правильно настроено. Появляются пользовательские действия и двоичные файлы, а Target для пользовательского действия - указанная командная строка. Обычное действие - тип 196, и я не могу найти документацию для этого онлайн. Когда я создаю и устанавливаю установочный пакет, программа устанавливается, но компонент драйвера не установлен. Пожалуйста, сообщите, как исправить ситуацию.

Спасибо!

ответ

0

MSI SDK CustomAction table имеет ссылки для расшифровки типа. Я собираюсь угадать корневую проблему, что пользовательские действия не откладываются, поэтому они не выполняются с помощью повышенной транзакции.

+0

Спасибо за ответ! Я попытался добавить Execute = «отложен» в CustomAction, и это не решило проблему. – Katelyn

Смежные вопросы