2016-09-06 4 views
2

У меня проблема с установщиком WIX. Я хочу проверить, существует ли специальный файл, и если он должен быть установлен, иначе нет. Так что в настоящее время я делаю поиск файла:WIX проверить, существует ли файл во время установки

<Property Id="ARTELABFILEEXISTS"> 
    <DirectorySearch Id="ArteLabCheckFileDir" Path="$(var.SimuarteaccessPath)" Depth="0"> 
    <FileSearch Id="CheckFile" Name="Simuarte.dll"/> 
    </DirectorySearch> 
</Property> 

и установить уровень функции в нуль, если она не существует:

<Feature Id="ArteLab" Title="ArteLab" Level="1"> 
    <ComponentRef Id="simuartelab"/> 
    <Condition Level="0">NOT ARTELABFILEEXISTS</Condition> 
</Feature> 

Но как должен мой компонент выглядеть?

<Component Id="simuartelab" Directory="TestBedSimulatorDir" KeyPath="yes" Guid="DBC7F690-7336-4F76-97F5-FD6FB7A51317" > 
    <File Id="simuarteaccess" Name="simuarteaccess.dll" Source="$(var.SimuarteaccessPath)simuarteaccess.dll" Vital="no"/> 
</Component> 

Если я, так что я получаю сообщение об ошибке, что файл «$ (var.SimuarteaccessPath) simuarteaccess.dll» не может быть найден.

Я уже пробовал:

<?if ARTELABFILEEXISTS="$(var.SimuarteaccessPath)simuarteaccess.dll"?> 
    <File Id="simuarteaccess" Name="simuarteaccess.dll" Source="$(var.SimuarteaccessPath)simuarteaccess.dll" Vital="no"/> 
<?endif?> 

Но это тоже не сработало.

Edit 1: SimuarteaccessPath определяется как:

<?define SimuarteaccessPath="%PUMA%\COBRA\bin\"?> 

Я очень благодарен за каждую помощь!

Хендрик

+0

Как определяется $ (var.SimuarteaccessPath)? – Mischo5500

+0

Hendrik

+0

% PUMA% - ваша переменная среды? Если да, то это должно быть определено '' – Mischo5500

ответ

1

Как Тот Blodget упоминался в комментариях, я перепутал WIX и установщик Windows концепцию.

Если вы хотите проверить, существует ли файл во время установки, вы должны сделать это с помощью пользовательских действий.

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