Wiele razy widziałem to pytanie, ale żadna z odpowiedzi nie wydaje się działać dla mnie. Najwyraźniej brakuje mi czegoś podstawowego, ale nie mogę się dowiedzieć, co to jest! Używam WiX tylko przez kilka dni, więc wciąż jestem dla niego nowy.Plik sprawdzania WiX istnieje przed instalacją
Zasadniczo zbudowałem wtyczkę do istniejącego produktu i chcę sprawdzić, czy produkt jest zainstalowany przed zezwoleniem na instalację wtyczki. Myślę, że najprostszym sposobem jest sprawdzenie, czy główny plik wykonywalny znajduje się we właściwym katalogu.
Moja odpowiedni kod do tej pory:
<Property Id="FILEEXISTS">
<DirectorySearch Id="CheckFileDir" Path="INSTALLDIR" Depth="0">
<FileSearch Id="CheckFile" Name="main.exe" />
</DirectorySearch>
</Property>
<Condition Message="File does exist.">NOT FILEEXISTS</Condition>
Gdzie INSTALLDIR
jest Id
z katalogu, w którym main.exe powinny być i jest zdefiniowany w zagnieżdżonych Directory
tagów.
Dobrze, Cosmin! Przypuszczam, że w tym przypadku INSTALLDIR powinien sam zostać przeszukany w rejestrze, gdzie główna instalacja aplikacji umieściła go ... –
Tak, odzyskanie starej ścieżki instalacji z rejestru jest dobrym pomysłem. –
Cześć, dzięki za to. Rozumiem, dlaczego teraz. Przejdę do wyszukiwania rejestru, aby uzyskać ścieżkę bardziej kompletnego rozwiązania. W międzyczasie mam go do pracy, zmieniając @Path na "[ProgramFilesFolder] Manufacturer/ProductFolder" i warunek "FILEEXISTS" zamiast "NOT FILEEXISTS" – Chris