Newsgroup: it.comp.lang.visual-basic
Titolo: Vista mi sbatte il database in un'altra directory?!?

Ho installato il mio prg scritto in VB5 su WinVista.
Mentre in XP e 98 si creava una sottodir in Programmi e l� ci stava tutto, 
compreso il database (.mdb) su cui scriveva, in Vista il database su cui 
lavora, non so perch�, sta messo in 
C:\Users\NomeUtente\AppData\Local\VirtualStore\Program Files\NomeProgramma.
Perch� questa prepotenza?
Nel mio prg il database � sempre chiamato con il solo nomefile, senza 
percorso.
Posso fare qualcosa per far stare il database dove dico io?
Giorgio (oltretutto pure terremotato, oltre che raggirato da Vista...) 

 Posso fare qualcosa per far stare il database dove dico io?
Prova ad isntalare in c:\briscola dicono tutti che non � corretto, ma.... � 
sempre meglio di quella porcheria sopra!
Poi cerca nei vecchi post che ci sta una bbliografia completa 
sull'argomento, che vista  qualche gatta da pelare con l'instazone l'ga data 
un poco a tutti
-- 
Greg 

 Perch� questa prepotenza?
La prepotenza � tua che cerchi di scrivere nelle cartelle di sistema :-)
Ricordati che solo chi ha i privilegi di amministratore pu� modificare 
le cartelle di sistema. Il fatto di usare il computer sempre come 
amministratore � un malcostume degli utenti di Windows, e anche dei 
programmi che lo pretendono per funzionare. Vista ti fa un favore a 
utilizzare una posizione virtuale per il file, altrimenti il tuo 
programma da utente senza privilegi non funzionerebbe, neppure su XP.
-- 
news:it-alt.comp.software.openoffice : Il newsgroup dedicato a
OpenOffice.org, la suite open source di applicazioni per ufficio.
Scarica "OpenOffice.org 3.0 Soluzioni a raccolta", molto pi� di semplici 
FAQ! 
http://it.openoffice.org/doc/manuali/

 da utente senza privilegi non funzionerebbe, neppure su XP.
Ho capito che io a Vista sto antipatico; insomma che devo fare?
Giorgio 

> Sono ben 7 rami, eh....
Si, solo 7; � come dire "se proprio vuoi funzionare ti metto l� in fondo"
Giorgio 

 Ho capito che io a Vista sto antipatico; insomma che devo fare?
O scrivi il tuo file nel profilo utente corrente, oppure se deve essere 
condiviso devi usare una cartella accessibile da tutti, ad esempio 
C:\ProgramData\ dovrebbe essere accessibile. Per ottenere il percorso 
esatto su diversi sistemi operativi devi usare le variabili di sistema. 
Il .NET:
My.Computer.FileSystem.SpecialDirectories.AllUsersApplicationData
In VB classico non lo so.


Giorgio 
Il muso l'han sbattuto tutti. In giro ci sono tante info.
Tanto per partire:
http://www.vbforums.com/showthread.php?p=2807202
Per conoscere il path relativo delle varie cartelle di sistema sui
vari OS (VB6):
http://vbnet.mvps.org/code/browse/csidl.htm
Ciao

 Posso fare qualcosa per far stare il database dove dico io?
Si, immagino che un escamotage da qualche parte googlando si trovi.
Ma potresti anche cogliere l'occasione per iniziare a fare le cose per 
bene, anzichï¿œ forzare una cosa sbagliata (che poi magari col prossimo 
windows l'escamotage non funziona piï¿œ, e sei daccapo)...
Alberto
-- 
Friedrich Nietzsche: Un po' di salute ogni tanto ï¿œ il miglior rimedio 
per l'ammalato.

 windows l'escamotage non funziona piï¿œ, e sei daccapo)...
certo!
Giorgio 

 certo!
Bene.
Alberto
-- 
L'economia sa tutto di te e tu non sai niente dell'economia. La tua 
banca sa tutto di te, di quanti soldi hai, e quando li spendi; ma tu 
non sai niente di cosa fa la banca dei tuoi soldi e dove li mette, e se 
ce li ha!

Ringrazio tutti; ho trovato la soluzione e la espongo, se mai potesse essere 
utile...
Basta disattivare il " Il Controllo account utente" di vista e vista non si 
incarica pi� di mettere in prigione il database su cui il mio sw va a 
scrivere. A quel punto legge e escrive sul db collocato in /program 
files/NomeProgramma, come fa xp.
Giorgio 

 files/NomeProgramma, come fa xp.
Solo se sei amministratore. Non hai risolto i problemi del tuo 
programma, ma li hai aggirati pretendendo che l'utente lo esegua con 
diritti di amministratore e che modifichi una opzione di sicurezza di 
sistema.
Scusami, ma io un programma del genere non lo userei mai :-)


 files/NomeProgramma, come fa xp.
Ma per caritï¿œ...
E' come dire: c'ï¿œ una merda sul marciapiede, non serve toglierla, basta 
mettere un cartello cosï¿œ la gente non la pesta...
Ti ï¿œ stato spiegato, mi sembra a sufficienza, che stai usando una 
tecnica obsoleta, deprecata, e che se non oggi sarï¿œ domani ma ti 
troverai inchiodato, e anzichï¿œ scrivere due righine di codice per 
spostare il db nel posto giusto hai perso probabilmente piï¿œ tempo per 
trovare un work-around sbagliato...
Mah...
Alberto
-- 
Karl Marx: Uno scrittore ï¿œ produttivo non nella misura in cui produce 
idee, ma nella misura in cui arricchisce l'editore che pubblica le sue 
opere.

Giorgio ha scritto:

Bene, un programma in pi� che si inchioder� con Seven.
Nicola

 Bene, un programma in piï¿œ che si inchioderï¿œ con Seven.
E un cliente in piï¿œ che dirï¿œ: "meglio fare tutto con la carta, i 
compiute non funsionano mai"...
Alberto
-- 
Il tempo e la pazienza possono piï¿œ della forza o della rabbia

 Scusami, ma io un programma del genere non lo userei mai :-)
Infatti il mio sw � estremamente complesso, non dal punto di vista della 
scrittura del codice, ma per quanto riguarda l'uso, per cui in effetti non 
lo useresti facilmente.


 ignorante in materia, ma...
UAC � un sistema di sicurezza che � abilitato di default in Vista, 
quindi disattivarlo influisce di certo sulla sicurezza. Che poi sia 
odiato dai pi� � un'altra storia.
Comunque se vuoi continuare a programmare su Win, anche a livello 
amatoriale, prima o poi dovrai di sicuro rivedere il tuo approccio.


 pi� � un'altra storia.
anche attraversare la strada influisce sulla sicurezza. non � chiedendo "sei 
sicuro di voler attraversare?" che il problema si risolve. se proprio grazie 
a uac apple ha potuto infierire su vista e aumentare le vendite, mentre ms 
ha avuto il primo stop in vent'anni, un motivo ci sar�. non ho ancora avuto 
il tempo di usare seriamente la vm win7, ma mi sembra che l� disabilitare 
uac sia pi� agevole...
ciao 

 sicuro di voler attraversare?" che il problema si risolve.
E se lo chiedi almeno tre volte? :-P


 E se lo chiedi almeno tre volte? :-P
risponde il camionista. nel frattempo il tir ha fatto in tempo a salire sul 
marciapiede e spianarti :) 

 Nicola
Un programma in pi� che faremo funzionare con una Virtual Machine in Seven.
Perch� non sempre si pu� riscrivere un sw ogni volta che cambia SO.
Giorgio 

 Perchï¿œ non sempre si puï¿œ riscrivere un sw ogni volta che cambia SO.
Da oramai un decennio (che nell'informatica significa un'era geologica) 
i sistemi operativi mantengono la retrocompatibilitï¿œ e consentono di 
funzionare correttamente ai software, *qualora* questi software abbiano 
rispettato le indicazioni Microsoft (visto che parliamo di ambienti 
Microsoft).
A puro titolo informativo, sappi che i software che facevamo noi nel 
2000, per Windows 95, funzionano senza problemi anche su Vista (alcuni 
clienti hanno ancora versioni del 2000 che si installano in autonomia 
quando acquistano pc nuovi).
Poi, ï¿œ evidente che potranno esserci funzionalitï¿œ particolari, cose 
strane, driver, che sono cambiati nel tempo e i software che li 
utilizzano possono avere problemi.
Ma di non mettere il db in \programs ï¿œ una regola ferrea quantomeno da 
W2000, visto che W2000 consentiva giï¿œ nativamente il desktop remoto, e 
col desktop remoto un db in \programs ï¿œ quasi cacofonico.
Quindi, mi chiedo, perchï¿œ ti ostini a voler giustificare una porcheria 
(iniziamo a usare i termini giusti per definire le cose), anzichï¿œ 
ammettere "mi sa fatica cambiare due righe di codice per fare una cosa 
fatta bene"?


 Perch� non sempre si pu� riscrivere un sw ogni volta che cambia SO.
Visto che ci state lavorando, tanto vale farlo bene,
in modo che funzioni anche sotto Win7.
Se un mio fornitore SW cercasse di dare la colpa di
una mancata compatibilit� a Win7, e mi proponesse
di installare una VM per far girare un suo programma
fatto coi piedi, prima di tutto farebbe una figura che
definire da cantinaro � poco, in secondo luogo verrebbe
buttato fuori dalla finestra nel giro di trenta secondi.
Un programma Windows che per girare sotto Windows
deve usare una VM � un tale controsenso che non ho
parole per descriverlo.
Parole pulite, intendo; di altro tipo ne avrei in abbondanza >:-]
Un Paperino [e]scatologico.

 fatta bene"?
Questo ï¿œ un ragionamento sensato che condivido pienamente.
Purtroppo io non sono un programmatore ma solo un pivello, e le 2 righe di 
codice devo prima digerirmele da qualche parte, non avendo cognizioni 
specifiche.
Esempio: nel mio sw il database lo gestisco (non inorridite!) col controllo 
Data.
Mi dicono che questo ï¿œ GIA' un problema...
Se invece fosse solo un problema di 2 righe di codice, sarei disposto a 
scriverne anche 1000.
Giorgio