Co się stanie, gdy reklama MSI aktualnie uruchomionej aplikacji?

1

Obecnie próbuję zaprojektować usługę, która monitoruje i pobiera aktualizacje plików MSI. Usługa będzie działać na wbudowanym koncie z podwyższonymi uprawnieniami (np. SYSTEM) oraz pobierze i zareklamuje MSI.

Ten MSI będzie aktualizacją już zainstalowanej aplikacji. Rozumiem, że skróty itp. Są aktualizowane w reklamie, ale co się stanie, jeśli aplikacja już działa? Co się stanie, jeśli użytkownik uruchomi drugą instancję już uruchomionej aplikacji z tego skrótu?

pixelbadger
źródło
Jestem ciekawa, czy to do środowiska pracy, czy do domu? Jeśli jesteś w domu (a tak naprawdę interesują Cię tylko aktualnie zainstalowane aplikacje), możesz dać wir Ninite . Po pobraniu i zainstalowaniu aplikacji możesz ponownie uruchomić instalator w dowolnym momencie (lub ustawić go jako zaplanowane zadanie), a on pobierze dla Ciebie wszelkie aktualizacje.
Robotnik

Odpowiedzi:

2

To zależy od sposobu kodowania MSI. Na przykład w przypadku WiX należy zaimplementować niestandardowe działanie, aby ustalić, czy aplikacja jest już uruchomiona lub czy plik jest zablokowany do zapisu. Myślę, że domyślną czynnością MSI, jeśli nie masz żadnych niestandardowych akcji, jest to, że po prostu rzuca dialog, taki jak „Przerwij, spróbuj ponownie, nie powiodło się” (lub podobny), jeśli spróbuje zapisać do pliku, który jest zablokowany do edycji (tak jak by to zrobił być, gdy aplikacja jest uruchomiona).

Aby obsłużyć wiele z tych narożnych przypadków, które dobrze znane aplikacje obsługują z wdziękiem (np. Skype, Firefox itp.) - na przykład kończąc działającą instancję - musisz zaimplementować niestandardowy kod. Sam nagi Instalator Windows (to wszystko, co mogę założyć, jeśli masz na myśli ogólny MSI) nie obsługuje natywnie takiej funkcji. Obsługuje raczej niewiele po wyjęciu z pudełka, dlatego istnieją takie rzeczy jak InstallShield.

allquixotic
źródło