Используя 3.5, я смог настроить MSI, который будет устанавливать на E: если доступно, в противном случае установить на C :.Вместо того, чтобы использовать VBS или пользовательское действие C #, я просто добавляю три строки в WIX.
<Property Id="ROOTDRIVE" Value="C:\">
<DirectorySearch Id="Root_search" Path="E:\" Depth="1">
</Property>
ROOTDRIVE - это одно из этих специальных, плохо документированных свойств WIX.Как только вы знаете, что он существует, его функция становится очевидной.Устанавливает корневой диск установки.Использование DirectorySearch просто просматривает диск E: и, если доступно, «перезаписывает» начальное значение «C: \».
Вам не нужно изменять порядок установки или создавать пользовательские действия любого вида.
Это довольно просто, и я хотел поделиться им!