Newsgroup: it.comp.appl.access
Titolo: Common AppData (All Users)

Ciao a tutti! Il path di "User AppData" (Current User) è:
path = Environ("AppData")
Domanda n° 1: mi sapete dire qual'è il path di "Common AppData" (All
Users)?
Domanda n° 2: quand'è che conviene usare l'uno e quando l'altro?


Risposta n. 1: nel registro di configurazione, in HKLM\SOFTWARE
\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders, trovi fra le
altre chiavi anche quella che ti serve.
Riposta n. 2: la risposta sta nella domanda, se il tuo sw deve gestire
dati diversi per utenti diversi, ogni utente vedra' i suoi dati ...
Ho io una domanda per te: che ci azzecca tutto questo con Access???
Popi


Ciao Popi, c'azzecca c'azzecca!
Se il programma è suddiviso tra FE e BE, e lo vuoi distribuire con
Developer Access 2003, non si può usare un percorso fisso come C:
\MioProgramma, ma devi usare una delle 6 Root installation Folder che
ti vengono proposte. Quindi - almeno per quello che ho capito -, devi
utilizzare la funzione Environ per andare alla cartella del BE, perchè
questi percorsi contengono una cartella variabile che è <User> e
cambia da computer a computer. A meno che non utilizzi Program Files,
che è sconsigliato perchè apre i programmi in sola lettura, oppure
Common AppData. Per questo mi interessava l'AppData (All Users). Non
so se mi sono spiegato... ! Grazie comunque per la dritta, ci
sentiamo! ; )

 - Mostra testo citato -
Ciao Popi, speravo avesse un altro nome, infatti utilizzando come
Environ "Common AppData", la variabile path si prende come valore "",
cioè vuoto.. : (

 cioè vuoto
Francesco, io ho parlato di *registro di configurazione*, _non_ di
variabili di ambiente ...
Popi

 - Mostra testo citato -
Provo a riformulare la domanda:
che valore devo dare ad una variabile che chiameremo "pippo" affinche
mi vada a leggere il BE Dati.mdb inserito all'interno del percorso:
C:\Documents and Settings\All Users\Application Data\Logos ?

 C:\Documents and Settings\All Users\Application Data\Logos ?
Utilizzando le routine che trovi sul SitoComune (non posso essere più
preciso perche' qua in ufficio gli accessi sono filtrati :( ) prelevi
il valore della chiave di registro "HKLM\SOFTWARE\Microsoft\Windows
\CurrentVersion\Explorer\Shell Folders\Common AppData" che ti
restituisce il percorso di base (nel mio caso: "C:\Documents and
Settings\All Users\Dati applicazioni").
Popi

 - Mostra testo citato -
Grazie Popi! La risposta è:
Environ("ALLUSERSPROFILE") = C:\Documents and Settings\All Users
Ora vedo se il Package Wizard del Developer Extensions Access 2003
supporta AllUsersProfile.
Dico questo perchè utilizzando il Current Users, la procedura di
impacchettamento si blocca ad un certo punto.
Riferirò al più presto! ; )

 - Mostra testo citato -
Riferisco.
è vero che pippo = Environ("ALLUSERSPROFILE")
restituisce come valore  C:\Documents and Settings\All Users
ma è vero anche che quando scegli "Common AppData" nella creazione del
pacchetto, questa non ti mette il file da distribuire sotto C:
\Documents and Settings\All Users, ma sotto C:\Documents and Settings
\All Users\Application Data.
Se nell'FE dico al programma che il BE è in C:\Documents and Settings
\All Users\Logos e poi il pacchetto di installazione mi aggiunge la
cartella Application Data, quando apro l'FE non trova le tabelle
allegate.
Tu allora mi dirai: aggiungi a manina Application Data! Cioè:
pippo = Environ("ALLUSERSPROFILE")&\Application Data
No, non risolvo il problema, perchè ci sono computer che sotto All
Users hanno Application Data, altri che hanno Dati Applicazioni.
Soluzioni?

 - Mostra testo citato -
Per essere più chiari: per distribuire il programma utilizzo Developer
Extensions 2003, il quale ti chiede
in quale cartella vuoi installare il prodotto (nel computer del
cliente). Ti dà 6 opzioni. Scegliamo Common AppData che, come dice il
buon Alex, ha come percorso C:\Documents and Settings\All Users. Cosa
succede? Che te lo caccia in C:\Documents and Settings\All Users\Dati
applicazioni oppure, a seconda dei computer in
C:\Documents and Settings\All Users\Application Data
Ora, nell'FE, un povero sviluppatore dovrà pure dire al programma DOVE
pescare i dati del BE, giusto?
Come fa, se non sa in quale delle due cartelle va a finire?
Non può usare la funzione Environ perchè arriva SOLO fino alla
penultima cartella, All Users, e non fino all'ultima che è Dati
Applicazioni o Application Data.


Francesco, AFAIK il povero programmatore non potra' utilizzare la
funzione Environ("ALLUSERSPROFILE") ma dovra' necessariamente accedere
al registro di configurazione ed andarsi a cercare la chiave che ti
dicevo.
Te lo ripeto: AFAIK questo e' il solo modo per non finire impelagato
in mezzo alla miriade di possibili differenze fra versioni (e
personalizzazioni!) di windows.
Popi


Grazie Popi, riporto per chi avesse lo stesso problema una risposta
semplice semplice:
Function GetPath()
   'Returns the path to currently opened MDB or ADP
   GetPath = CurrentProject.Path
End Function
Shalom! ; )