2013-03-25 17 views
5

Istnieje już skrót na pulpicie o tej samej nazwie, ale został zainstalowany przez setupfactory (chcę go zastąpić inno). teraz, gdy instaluję przy użyciu instalacji utworzonej przez innosetup, tworzy ona nową ikonę zamiast zastępowania obecnej. dodałem sekcję [installDelete], ale nie działa. Właśnie sprawdziłem właściwości skrótu. Znaleziono różnicę, że jeden skrót ma właściciela jako grupę administratorów, a drugi to mój użytkownik. ale oba zostały zainstalowane przez tego samego użytkownika. Czy to byłby powód? czy istnieje jakieś obejście tego problemu? czy mogę sprawdzić, czy istnieje skrót o tej samej nazwie? Dziękujemyzamień ten sam skrót na innosetup na pulpicie

Obie wskazują na ten sam plik exe na tej samej ścieżce. Instaluję w systemie Windows 7

+1

Więcej niż własność będzie ścieżką, która będzie inna. Sprawdź ścieżki tych skrótów i dołącz je do swojego pytania. – TLama

+0

dziękuję .. i edytowałem pytanie – sjd

+0

Prawdopodobnie masz jeden skrót w 'Users \ YOUR_PROFILE \ Desktop', który byłby' {userdesktop} ', a drugi w' Users \ Public \ Desktop', który miałby postać '{commondesktop}' – RobeN

Odpowiedz

5

W takim przypadku należy sprawdzić lokalizację obu skrótów.

Prawdopodobnie jeden z nich jest tworzony w folderze Public Desktop (dla wszystkich użytkowników) - {commondesktop}, a drugi jest wstępnie oznaczony jako folder bieżącego pulpitu użytkownika - {userdesktop}.

A.

[Icons] 
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; 
WorkingDir: "{app}"; Tasks: desktopicon 

B.

[Icons] 
Name: "{userdesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; 
WorkingDir: "{app}"; Tasks: desktopicon 
+0

tak, to był problem. teraz zrobiłem to, aby używać userdesktop dla obu. dzięki jeszcze raz. – sjd

+0

@ user1616785, możesz również "przejąć odpowiedzi"] (http://meta.stackexchange.com/a/173400/179541), tak jak kilka minut wcześniej w tym poście ;-) – TLama

+0

@ user1616785 Pamiętaj, że instalowany przez użytkownika {{userdesktop} może nie być taki sam jak na pulpicie użytkownika, który uruchamia instalację. Jeśli musiałby zostać podniesiony do administratora z LUA, wtedy użytkownik będzie inny. – Deanna

0

Podczas przełączania między instalatora zrębowe to ogólnie najlepiej odinstalować starą wersję (poprzez deinstalatora) przed zainstalowaniem nowego. (Możesz to zautomatyzować.)

Jeśli tego nie zrobisz, prawdopodobnie skończy się bezpańskie pliki dezinstalatora na swoim dysku i więcej niż jeden wpis Dodaj/Usuń programy; oba te są brzydkie.

(Jest to jednorazowa sprawa. - Nie ma potrzeby, aby odinstalować starszą wersję przy przejściu z jednego Inno lub aplikacji w wersji do drugiej, tylko przy zmianie z non-Inno do Inno lub odwrotnie)

+0

Tak, zazwyczaj robimy to. ale używamy konfiguracji uaktualnień również tam, gdzie nie ma programu do dezinstalacji. więc pierwszy deinstalator działałby dobrze, ponieważ ustawienia aktualizacji instalowały te same pliki tylko z najnowszymi wersjami. dzięki za wskazówkę – sjd

+0

Do czasu późniejszej wersji, w której dodano dodatkowy plik.(Zwykle podczas instalacji aktualizacji za pomocą Inno * możesz * chcieć, aby z tego powodu tworzył wpisy deinstalacji - Inno jest na tyle sprytny, aby dodać domyślnie istniejący dziennik deinstalacji i wpis, ale oczywiście to działa poprawnie, jeśli oryginalna instalacja została wykonana za pomocą Inno.) Osobiście nadal zalecałbym wykrywanie tego przypadku i proszenie użytkownika o użycie pełnego instalatora. Nie jestem pewien co do SetupFactory, ale wiem, że instalatory oparte na MSI stają się marudne, jeśli jakiś inny instalator zastąpi ich pliki. – Miral