Newsgroup: it.comp.lang.delphi
Titolo: Impossibile creare file ( Windows Vista )

Salve a tutti
Ho un problemino...
Ho un eseguibile che dato il codice dell'hd e un numero random crea un 
codice d sblocco che viene scritto in un ini file in c:\
Fino a che il sistema girava sotto win xp tutto funzionava a dovere...Ora il 
cliente sta aggiornando le macchine con windows vista e quando provo a dare 
il codice d sblocco mi risponde
CANNOT CREATE LOGIC.INI
Ho provato a disabilitare il firewall e ad indicare che il sw e' attendibile 
ma niente
Ho cercato su google ma non trovo niente d che...
Avete qualche idea? 

 CANNOT CREATE LOGIC.INI
Probabilmente non hai i permessi di scrittura. Da quanto ho capito, con 
Vista si può stare tranquilli solo se si scrive nella directory del 
profilo utente.
-- 
news:it-alt.comp.software.openoffice : Il newsgroup dedicato a
OpenOffice.org, la suite open source di applicazioni per ufficio.
Saluti, VITRIOL

Avete qualche idea? 
In Vista non puoi scrivere in C:\
Sono pessime abitudini che finalmente Microsoft ha deciso di impedire.
Soluzioni:
1) Modifichi l'applicazione e vai a scrivere in una cartella nella quale 
l'utente ha i permessi (consiglio in questo caso <document and 
settings><all users><dati applicazioni><tua società><tua applicazione>, 
se il codice vale per la macchina, o <document and settings><utente>ecc. 
ecc. se vale solo per l'utente. Questa è la soluzione corretta
2) Fai la stessa cosa, ma nel registry. Soluzione valida anche se MS sta 
meno enfatizzando l'uso del registry.
3) Se vuoi farti del male, farlo al tuo cliente e diminuire la sicurezza 
di vista puoi provare a dare i permessi opportuni su C:\. Questa è la 
soluzione sbagliata - può essere accettabile solo per il tempo 
necessario ad implementare 1) o 2), cosa che avresti già dovuto fare ai 
tempi di Windows 2000...
--- posted by geoForum on 
http://www.delphiedintorni.it

 ha scritto nel messaggio 
news:5h5trfF...@mid.individual.net...


Visti i criteri di protezione fatta sul file di registro immaginavo che 
chiudessero altre porte
Proverò dal cliente stesso a disabilitare temporaneamente i controlli sul 
c:\
Alla peggio riscriverò la procedura del codice d sblocco
"Stefano F" <s...@nowhere.nwh> ha scritto nel messaggio 
news:5h5u7eF...@mid.individual.net...


>Ho provato a disabilitare il firewall
E specialmente secondo te che c'azzecca il firewall con il fatto che non 
riesce a scrivere un file su disco????? Se non s'avvia il motore tu 
cambi una gomma o abbassi i finestrini???? Riabilita subito quel povero 
firewall!
Poi la gente si prende i trojan... e dą la colpa a Windows...


A parte il fatto che non ero in rete...ma ho fatto vari tentativi....sta 
halmo.....oramai sono alla frutta...
"Stefano F" <s...@nowhere.nwh> ha scritto nel messaggio 
news:5h5ujeF...@mid.individual.net...


halmo.....oramai sono alla frutta...
Deh bello...un sarai miah di Livorno :) ? 

Scusa ma tutti i files ini nella root di C:\ non è un casino?
È facile che all'utente pruda il sederino e ti cancelli i files
In genere si mettono in una cartella dell'applicazione o almeno così ho 
fatto e visto sempre fare

Edmondo Di Tucci ha scritto:

Inoltre se si fa la migrazione dell'utente su un altro pc, di solito si 
copia tutta la cartella utente, quindi verrebbero conservati anche 
questi file.
Basta scrivere file in C:\, C:\Windows e robacce del genere!
-- 
Jax

>Basta scrivere file in C:\, C:\Windows e robacce del genere!
Basta scrivere anche nella cartella dell'applicazione... solo gli utenti 
con privilegi elevati possono scrivere in <program files> e anche questo 
da un bel pezzo. I dati vanno nelle cartelle dei profili utente....


 In genere si mettono in una cartella dell'applicazione o almeno cosě ho 


 da un bel pezzo. I dati vanno nelle cartelle dei profili utente....
Uhm. Touché.
Però non sono d'accordo al 100%... la mia applicazione potrebbe volersi 
salvare qualcosa per i ca%%i suoi, informazioni non necessariamente 
legate all'utente ma a sé stessa.
Inoltre in alcuni casi è utile per le applicazioni che girano in rete su 
cartelle condivise: alcune impostazioni devono essere rese valide per 
tutti gli utenti che la usano...
Secondo me un'applicazione è giusto che possa scrivere nella *sua* 
cartella e sottocartelle relative, non ci vedo niente di male.
-- 
Jax

 nn va bene perche' quella e' del server...
e se il pc dell'utente non ha un disco C: ma come disco di sistema (di 
Windows, cioč) ha come lettera D: o K: che fai? Non ci hai pensato?
Avalon 

 ha scritto nel messaggio 
news:46aef89a$0$16037$5fc...@news.tiscali.it...


cartella e sottocartelle relative, non ci vedo niente di male.
Tu non ci vedrai nulla di male, ma permettere ad un utente - le 
applicazioni girano sempre con i permessi di un utente - con bassi 
privilegi di scrivere in cartelle con eseguibili e file che non 
dovrebbero essere modificati apre tutta una serie di vulnerabilità - 
anche perché poi quegli eseguibili potrebbero essere lanciati da un 
utente con elevati privilegi, e se un utente con bassi privilegi può 
modificare il contenuto della cartella, cosa pensi possa succedere? <g> 
Dati utente ed eseguibili (e simili) vanno separati perché hanno 
esigenze diverse di protezione. Potresti ottenere lo stesso effetto 
impostando le ACL sul singolo file, ma sai che palle....
Già in 2000 e XP solo Administrators e Power Users possono modificare il 
contenuto di <program files> e sottocartelle.
Se non te ne sei mai accorto significa solo che tu e i tuoi utenti 
lavorate con privilegi troppo elevati e di fatto bypassate qualsiasi 
sicurezza che Windows ha messo in piedi.
Per questo motivo in Vista è stato "degradato" Power Users e introdotto 
lo UAC - i privilegi sono bassi per tutti tranne quando occorre 
elevarli, e si chiede allora conferma all'utente.
Come ripete spesso un mio amico, "Windows non è insicuro - lo sono i 
suoi utilizzatori".


 Difatti per quello c'è la cartella <All users>, o HKEY_LOCAL_MACHINE. 
Purtroppo credo che anche queste abbiano accesso limitato in Vista...
L'unico spazio accessibile senza limitazioni dovrebbe essere la 
directory personale dell'utente.


Potrebbe essere una strada scrivere nella cartella dove risiede l'exe un ini 
o qualunque altra cosa riconducibile al seriale dell'hd ... quindi avere 
nella cartella
123321.ini
2345678.ini
5556667.ini
e interrogo il file 123321.ini e verifico l'autenticità quando parte 
l'eseguibile dal pc con quell'hd?
"Stefano F" <s...@nowhere.nwh> ha scritto nel messaggio 
news:5h8d9uF...@mid.individual.net...


 l'eseguibile dal pc con quell'hd?
Come dice Stefano, usare la cartella dell'applicazione non è una gran 
cosa, in generale.
Secondo me in questo caso ci sta benissimo l'utilizzo del registry 
(chiave HKEY_LOCAL_MACHINE).
-- 
Jax

 (chiave HKEY_LOCAL_MACHINE).
In Vista non si può... devi avere privilegi amministrativi.


Anche in windows xp ho avuto lo stesso problema...e' x questo sono passato a 
scrivere un ini su hd
se sei un utente non amministratore non hai i diritti d scrivere chiavi d 
registro


 registro
Non puoi scrivere in LOCAL_MACHINE. Puoi scrivere in CURRENT_USER.


 ha scritto nel messaggio 
news:5h8j26F...@mid.individual.net...


Scusate ma visto che l'applicazioni in Delphi il 99% delle volte si
appoggiano a Data Base perchè non li utilizziamo per parcheggiare in
una tabella apposita i dati che ci necessitano a prescindere delle
versioni del s.o. del client e delle autorizzazioni dell'utente,
saluti Brunello

 se ho 5 utenti dello stesso pc mi chiederebbe 5 volte l'attivazione...no?
Puoi indicare che l'attivazione va fatta con privilegi amministrativi. 
Non credo che un utente normale abbia l'esigenza di attivare un software.


>Purtroppo credo che anche queste abbiano accesso limitato in Vista...
Anche in XP e 2000 - puň essere necessario che un amministratore 
installi il programma se deve scrivere lě.
L'idea č che i dati condivisi vanno protetti perché possono avere 
effetto su piů di un utente con livelli di privilegio diversi, mentre 
quelli privati no.
Comunque io mi sentirei meno esposto ad abbassare i privilegi su una 
cartella che non contiene eseguibili - e solo su quella -, se proprio 
necessario.


 ha scritto nel messaggio 
news:5h8jj4F...@mid.individual.net...
