2013-03-25 17 views
5

C'è già un collegamento sul desktop con lo stesso nome ma è stato installato da un setup di setupfactory (voglio sostituirlo con inno). ora quando installo usando un setup creato da innosetup crea una nuova icona piuttosto che sostituire quella attuale. ho aggiunto la sezione [installDelete] ma non funziona. Ho appena controllato le proprietà di collegamento. la differenza trovata è una scorciatoia ha il proprietario come gruppo di amministratori e l'altro è il mio utente. ma entrambi sono stati installati dallo stesso utente. sarebbe questa la ragione? C'è qualche soluzione alternativa per questo? o posso controllare se esiste una scorciatoia con lo stesso nome? Graziesostituisci lo stesso collegamento da desktop innosetup

Entrambi puntano allo stesso exe nello stesso percorso. Installazione in Windows 7

+1

Più che la proprietà sarà il percorso che cosa differisce. Controlla i percorsi di quelle scorciatoie e includile nella tua domanda, per favore. – TLama

+0

grazie .. ho modificato la domanda – sjd

+0

Probabilmente hai un collegamento in 'Utenti \ TUO_PROFILE \ Desktop' che sarebbe' {userdesktop} 'e il secondo in' Utenti \ Pubblico \ Desktop' che sarebbe '{commondesktop}' – RobeN

risposta

5

In questo caso è necessario controllare la posizione di entrambe le scorciatoie.

Probabilmente uno di loro viene creato nella cartella Public Desktop (per tutti gli utenti) - {commondesktop} e il secondo è presonalized per cartella Desktop utente corrente - {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

sì, quello era il problema. ora l'ho fatto per usare userdesktop per entrambi. grazie ancora. – sjd

+0

@ user1616785, puoi anche ["invertire le risposte"] (http://meta.stackexchange.com/a/173400/179541), proprio come ho fatto qualche minuto prima su questo post ;-) – TLama

+0

@ user1616785 Nota che il '{userdesktop}' che installi su potrebbe non essere lo stesso del desktop dell'utente che esegue la configurazione. Se doveva elevare ad admin da una LUA, l'utente sarà diverso. – Deanna

0

Quando si sta passando tra installatore framework è generalmente meglio disinstallare la vecchia versione (attraverso il suo programma di disinstallazione) prima di installare quella nuova. (È possibile automatizzare questo.)

Se non si esegue questa operazione, è probabile che l'utente finirà con i file di disinstallazione del disinstallazione sul proprio disco e più di una voce Aggiungi/Rimuovi programmi; entrambi sono brutti.

(si tratta di un one-time cosa -. Non c'è bisogno di disinstallare la versione precedente quando si passa da un Inno o app versione all'altra, solo quando si passa dal non-Inno alla Inno o viceversa)

+0

Sì, normalmente lo facciamo. ma usiamo una configurazione di aggiornamento anche dove il programma di disinstallazione non è incluso. quindi il primo programma di disinstallazione avrebbe funzionato correttamente poiché l'installazione dell'aggiornamento ha installato gli stessi file solo con le versioni più recenti. grazie per il suggerimento – sjd

+0

Fino a qualche versione successiva in cui è stato aggiunto un file aggiuntivo.(Di solito quando si esegue un aggiornamento si installa con Inno * si * si desidera creare voci di disinstallazione per questo motivo - Inno è abbastanza intelligente da aggiungerlo a un registro di disinstallazione esistente e alla voce per impostazione predefinita, ma naturalmente funziona solo correttamente se l'installazione originale è stata eseguita con Inno.) Personalmente, suggerirei comunque di rilevare questo caso e chiedere all'utente di utilizzare l'intero programma di installazione. Non sono sicuro di SetupFactory, ma so che gli installer basati su MSI sono scontrosi se qualche altro programma di installazione sostituisce i loro file. – Miral

Problemi correlati