Utworzono mój instalator MSI dla naszej aplikacji C# poprzez VS 2008. Zainstalowałem go. Stworzył dla mnie skrót na pulpicie. Kliknąłem ten skrót, proces instalacji ponownie się uruchomił i na końcu uruchomiono naszą aplikację. Nie było tak wczoraj, zanim dodałem jakieś niestandardowe działanie do utworzenia bazy danych. Nie odtworzyłem skrótu w instalatorze. dlaczego tak jest?Dlaczego skrót utworzony przez moją instalację MSI ponownie rozpoczyna proces konfiguracji?
Odpowiedz
MSI zawiera funkcję automatycznej naprawy, która sprawdza, czy wszystkie składniki zainstalowane przez MSI są nadal obecne podczas uruchamiania aplikacji za pomocą skrótu.
W twoim przypadku prawdopodobnie jeden (lub więcej) składników został usunięty, więc instalator jest ponownie uruchamiany w celu naprawy instalacji.
Aby zapobiec automatycznej naprawy z systemem albo
- Upewnij plik nie, ustawienie rejestru lub inny zainstalowany komponent jest usuwany
lub
- Nie ustawić klucz ścieżka do tych komponentów. To uniemożliwi sprawdzenie przez MSI tych konkretnych składników.
Wygląda na to, że twój MSI został utworzony przez projekt instalacji i wdrażania Visual Studio. Niestety, nie ma opcji, aby zmodyfikować ścieżkę klucza z programu Visual Studio. Dostępne są następujące opcje:
- zmodyfikować MSI ręcznie przy użyciu Orca (to nie jest dobrym rozwiązaniem, ponieważ jest to instrukcja krok)
- napisać skrypt, np przy użyciu VBScript załatać plik MSI
- przenieść się do bardziej zaawansowany system, który daje większą kontrolę takich jak WiX lub NSIS
Czy skrót oznacza aplikację lub konfigurację? Jeśli wskażesz na swoją konfigurację i zmienisz ją na swoją aplikację, czy problem zniknie?
Brzmi jak system uważa, że instalacja została uszkodzona i jest automatycznie próby naprawy instalacji, .Wszystko w dziennikach zdarzeń (poszukaj źródła MsiInstaller w dzienniku zdarzeń aplikacji).
Czy tworzyłeś wiele kopii?
Otwórz ręcznie MSI, używając Orca. Dodaj następujący rekord do tabeli właściwości (Property, wartość) bez cudzysłowów:
Property = „DISABLEADVTSHORTCUTS” Value = „1”
Można również skrypty i uruchom jako część imprezy po kompilacji .
idealne do konfiguracji vs2005. 10x – parzival
Miał ten sam problem. W moim przypadku okazało się, że problem dotyczył pól "Producent" i "Nazwa produktu" we właściwościach Projektu Deoplyment. Musi być taki sam, jak struktura folderów wskazywana przez Twój skrót, w przeciwnym razie pojawi się komunikat "The resource" C: \ Program Files (x86) [Producent] [ProductName] \ 'nie istnieje' error inside Podgląd zdarzeń.
Dzieje się tak, gdy aplikacja usuwa plik wdrożony podczas instalacji. Automatyczna naprawa jest aktywowana, a więc pojawia się ekran instalacji.
To zadziałało dla mnie, dzięki! Miałem przestarzały plik "config.txt" zapomniany w konfiguracji, ale ten plik jest usuwany i zastępowany przez plik "config.xml" po uruchomieniu aplikacji. Usunięcie pliku z Instalatora było wystarczające. – Elo
- 1. jak ręcznie usunąć instalację MSI?
- 2. Czy uaktualniłem moją instalację kablową?
- 3. Backbone.js: Gdzie mogę umieścić moją instalację jQuery?
- 4. Jak mogę naprawić moją instalację pyCharm?
- 5. Jak kierować moją losowo utworzony identyfikator
- 6. Jak połączyć plik exe i msi w jednej konfiguracji?
- 7. Jak uaktualnić instalację MSI przy użyciu instalatora Inno Setup?
- 8. Ponownie uruchom moją aplikację Phonegap programowo
- 9. Jak z wdziękiem zakończyć proces utworzony ze scala
- 10. Dlaczego clang wybiera instalację gcc?
- 11. Wykryj dyskretną instalację w .NET Custom Action
- 12. Czy muszę wyświetlać .NET EULA, jeśli uruchamiam moją instalację
- 13. Dlaczego przerwania MSI nie są udostępniane?
- 14. Jak zabić proces potomny przez proces nadrzędny?
- 15. PhpStorm rozpoczyna indeksowanie plików przy każdym uruchomieniu
- 16. Jaka jest najlepsza praktyka tworzenia MSI z innymi dodatkowymi MSI dla dzieci jako warunkiem wstępnym?
- 17. Jak działa już wykonany przedmiot zostać utworzony ponownie (patrz przykład)
- 18. Proces zabity przez SIGKILLa
- 19. Android adb przez instalację Wifi apk
- 20. Dlaczego postgresql nie rozpoczyna natychmiastowego zwracania wierszy?
- 21. Dlaczego rozpoczyna się linia "^" i koniec wiersza "$"?
- 22. Dlaczego lxml.etree.iterparse() pochłania całą moją pamięć?
- 23. Procesor czasu użyty przez proces
- 24. Jak ukryć komentarz JPEG utworzony przez imagejpeg?
- 25. jak usunąć katalog utworzony przez python tempfile.mkdtemp
- 26. Fragment ponownie utworzony, gdy zakładka zmiany z ViewPager
- 27. Dlaczego `istnieje` modyfikuje moją stałą?
- 28. Błąd: Typ projektu nie jest obsługiwany przez tę instalację.
- 29. Proces wykonywalny .NET przechodzenie przez
- 30. Jak podpisać MSI?
masz rację. Usunąłem niektóre pliki ustawień tymczasowych (pliki wsadowe i pliki sql). Muszę znaleźć sposób, aby tego uniknąć. dzięki – 5YrsLaterDBA
@ 5YrsLaterDBA: Ponieważ twoja konfiguracja wydaje się już dość skomplikowana, powinieneś zdecydowanie rzucić okiem na inne sposoby niż VS do tworzenia konfiguracji. W każdym razie projekty konfiguracji VS umrą w przyszłości. Jeśli korzystasz z VS 2010, możesz również wypróbować InstallShield LE. –
Niestety projekty instalacji VS (VDPROJ) nie mają możliwości kontrolowania plików kluczy (wszystkie zasoby, w tym klucze rejestru, są pojedynczym plikiem klucza dla pojedynczego komponentu) i nie można wyłączyć reklamowanych skrótów. Musisz być naprawdę dobrym Mistrzem Jedi MSI, aby wiedzieć, jak poradzić sobie z problemem. Sugeruję spojrzenie na InstallShield 2010LE lub WiX. VDPROJ zmarł przed wieloma laty. –