W systemie Windows Vista (2008 i Seven), anaplikacja nie może pisać w folderze plików programu. Rozumiem, że UAC jest odpowiedzialny, ale uniemożliwia mojej aplikacji samodzielną aktualizację. Czy jest gdzieś folder (dostępny w systemie Windows XP, Vista (i wszystkich innych wersjach)), który pozwoliłby mi wdrożyć moją aplikację i pozwolić jej na automatyczną aktualizację bez konieczności tworzenia „podniesiony"?
Myślałem o ClickOnce, ale nie mogę go używać, ponieważ nie chcę płacić za drogi certyfikat (podpisać kod, instalator itp.).
Dzięki!
Odpowiedzi:
2 dla odpowiedzi № 1Ja osobiście brzydzę się tym pomysłem, ale kilka aplikacji poszło tą drogą: Zamiast instalować aplikację w katalogu Program Files, zainstaluj w katalogu AppData.
Po raz pierwszy zobaczyłem to w SyncToy MicrosoftuPowerToy, a następnie z zestawem poprawek do World of Warcraft przed wydaniem Wrath of the Lich King. Ostatnio widziałem, że Google Chrome instaluje się również w katalogu AppData.
Powodem, dla którego nienawidzę tego pomysłu, jest to, żeniewielka wygoda, że nie otrzymuję monitu o instalację lub łatanie, teraz mam potencjalne ryzyko cichej modyfikacji złośliwego oprogramowania i plików binarnych dla aplikacji zainstalowanych w AppData.
2 dla odpowiedzi nr 2
Prawdopodobnie powinieneś poprosić o pozwolenie przed aktualizacją aplikacji. Próbuję napisać do C:Program Files
jest z natury ryzykowną operacją, którą użytkownik powinien autoryzować. Chciałbym więc tylko powiedzieć użytkownikowi, co robisz, i pozwolić jej, aby aktualizator wykonał swoją pracę.