Newsgroup: it.comp.lang.visual-basic
Titolo: Trovare i percorsi di installazione

Ciao a tutti,
sto cercando di creare una routine che "capisca" in quale cartella ï¿œ 
stato installato un programma.
Ho cercato nel file di registro e ho visto che in 
HKEY_LOCAL_MACHINE\SOFWARE ci sono i percorsi di installazione di molti 
programmi ma non di tutti.
Esiste un modo che in base al nome del programma mi sappia dire in che 
cartella ï¿œ stato installato.
Grazie tantissime a tutti
Sabrina

 cartella � stato installato.
[VB6]
� lecito chiedere a cosa ti serve? Perch� se vuoi eseguire il programma 
associato ad una estensione � inutile: lo fa gi� la ShellExec. E con 
poche righe (ho anche scritto una ocx che lo fa) di codice puoi 
registrare l'estensione che ti pare ed associarla al programma che vuoi.
Altrimenti non c'� altra via che fare una scansione del disco, reperire 
tutti gli eseguibili e poi gestire la faccenda.
-- 
-> GbC|
www.gbcweb.com
www.chiappori.com

 Altrimenti non c'ï¿œ altra via che fare una scansione del disco, reperire 



Dovresti quotare sotto il testo cui rispondi; pi� o meno facciamo tutti 
cos� e questo � il modo indicato nei 'sacri testi' di internet.
Dunque.
Il registro non � la risposta a qualsiasi problema.
Esistono installer diversi, ognuno con le proprie caratteristiche.
Non � detto che l'installer memorizzi il prorcorso (o altri dati) 
durante l'installazione.
Ogni installer memorizza dati diversi in posti diversi (non solo nel 
registro; ad esempio InstallShield ha una cartella dove scrive le 
opzioni di disinstallazione, compresi i percorsi di installazione).
Molti programmi non creano una voce nel registro.
Molti non scrivono il percorso di installazione.
1. Credo che conoscendo il nome dell'eseguibile la soluzione migliore 
sia la scansione del disco (o dei dischi) verificando la presenza del 
file. Senza discussioni se il nome del file esiste da qualche parte 
significa che il programma � stato installato nel picc�.
2. Se i programmi prevedono una disinstallazione nel registro si 
potrebbe verificare il contenuto della chiave 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall 
le cui singole voci contengono il percorso della procedura di rimozione, 
normalmente (da verificare: alcuni installer non vengono eseguiti dalla 
cartella di installazione del programma e leggono i parametri di 
rimozione da un file che non � nella cartella del programma) lo stesso 
dell'applicazione. Sarebbe semplice comunque una volta ricavato il 
percorso verificare la presenza di un eseguibile di nome conosciuto. 
Ovviamente la chiave del programma potrebbe essere eliminata 
manualmente, quindi questo metodo non � affidabile al 100%.
3. O anche aprire la cartella del menu (c:\Documents and Settings\All 
Users\Menu Avvio\Programmi\ e c:\Documents and Settings\[utente]\Menu 
Avvio\Programmi\) per vedere se ci sono i link presenti nel menu avvio 
ed eventualmente leggerne la cartella di esecuzione del programma. 
Questo per� non garantirebbe l'assenza dal disco e questo metodo non � 
affidabile al 100%.
Boh...
Da vecchio informatico la 1 � la pi� affidaBBOli, anche se rozzettina e 
lenta.
Forse iniziare con la 2 (indubbiamente rapida) e in caso si insuccesso 
provare con la 1 (indubbiamente lenta) sarebbe un buon approccio.
ciao cia'


Scusa, mi � sfuggito:
Dovresti scrivere sotto il testo quotato cui rispondi; pi� o meno 
facciamo tutti
cos� e questo � il modo indicato nei 'sacri testi' di internet.
-- 
-> GbC|
www.gbcweb.com
www.chiappori.com
 

 
Grazie per la risposta,
senza dubbio la prima ï¿œ la piï¿œ affidabile ma decisamente piï¿œ lenta, 
opterï¿œ per questa.
Ciao e grazie 1000
Sabrina