Nie trzeba tworzyć dedykowanej aplikacji do aktualizacji, przynajmniej nie na WM 6 z .netcf 3.5. Pobierany plik .cab korzystam z usługi internetowej, a następnie rozpoczynam nowy proces i wywołuję pakiet wceload, aby wykonać cichą instalację kabiny.To dba o zamknięcie mojego biegu aplikacji, odinstalowanie go, a następnie wykonuje instalację jak stwierdzono w MSDN docs here
w Windows Mobile w wersji 5.0 i później, podczas korzystania Wceload.exe do instalowania pliku .cab, Wceload. exe odinstalowuje wcześniej zainstalowaną wersję pliku .cab przed zainstalowaniem nowej wersji. Podczas deinstalacji tego procesu Wceload.exe zamyka wszystkie aktualnie uruchomione pliki wykonywalne, które zostały zainstalowane na urządzeniu docelowym przy użyciu pliku .cab, w oparciu o ich nazwę. Wceload.exe zamyka również wszystkie pliki wykonywalne, które są celem operacji na plikach, takie jak ruch lub kopia. Aby zamknąć plik wykonywalny, Wceload.exe wysyła WM_CLOSE do wszystkich okien najwyższego poziomu będących własnością procesu. Jeśli proces nie zakończy się w odpowiednim czasie po otrzymaniu komunikatu WM_CLOSE, wówczas Wceload.exe będzie go przymusowo zamykał, wywołując TerminateProcess. Narzędzie Wceload.exe nie próbuje zamykać plików wykonywalnych dostarczanych w obrazie wykonawczym na urządzeniu docelowym.
Mam również plik cesetup.dll w celu dodatkowego oczyszczenia plików podczas odinstalowywania.
Mam duży problem z tym, że nie mogę zmienić folderu instalacji dla mojej aplikacji podczas cichej instalacji i domyślnie jest to właściwość% installDir% z mojego pliku .inf. Budowanie osobnej karty .cab dla każdego urządzenia, które chce zaktualizować, nie jest dobrym rozwiązaniem.