Newsgroup: it.comp.lang.delphi
Titolo: Win 7 e Delphi 2009

Salve,
ho aggiornato il sistema da XP a Windows 7 e reinstallato con successo 
Delphi 2009
Vado a ricompilare un vecchio progetto ed esce fuori un'eccezzione. In 
pratica delphi non riesce a fare il buid della unit   messagedigest _5.pas 
che si trova in ...source\win32\....   distribuita con Delphi stesso.
Ovviamente win 7 impedisce la scrittura in "Programmi".
Ora secondo voi come � meglio procedere?
Faccio il build della unit come amministartore e sposto la dcu in una 
cartella pubblica, sposto la unit, o cos'altro?
In genere voi dove preferite installare i vostri package/componenti esterni?
Grazie.
Andrea 

 Ora secondo voi come ï¿œ meglio procedere?
Reinstalla in c:\Delphi2009
ciao
-- 
Morde

 ciao
Non so....
sarebbe come aggirare l'UAC
Tecnicamente non mi sembra corretto. 

 Vado a ricompilare un vecchio progetto ed esce fuori un'eccezzione. [...]
Migrando da XP a Vista/7, vengono rese cogenti le convenzioni sul file 
system che prevedono che la scrittura "libera" dei file avvenga nei 
percorsi riservati ai dati, e non nella cartella "Programmi".
Comunque sia, tutte le versioni piï¿œ recenti di Delphi possiedono un 
setup che rispetta le regole, quindi penso che il problema sia da 
ricondurre a qualche residuo dell'installazione precedente, o da un 
errato riferimento nelle opzioni del progetto.
Delphi non dovrebbe comunque avere bisogno di compilare le unit nel 
percorso che hai indicato, poichï¿œ se non erro ci sono giï¿œ i file DCU 
pronti all'uso per essere inclusi nell'eseguibile generato con "Build", 
cosï¿œ come esistono i relativi "runtime package" se si intende compilare 
con questi ultimi.
Ciao,
   Marco.
-- 
MARCO BREVEGLIERI
  (
http://www.marco.breveglieri.name
)

 con questi ultimi.
Il dcu della unit messagedigest _5.pas  non c'� di default.
Uso tale unit in un dpr per il calcolo dell'MD5.
A questo punto rimuovo dal library path il percorso del pas e copio la dcu 
(generata da me eseguendo delphi come admin) in lib.
Mi sembra la strada migliore.
Grazie
Andrea

 percorsi riservati ai dati, e non nella cartella "Programmi".
Per intenderci, quali sarebbero i percorsi per l'archiviazione di file mdb 
access e file ini?
in win7
Utenti\Public\Doc pubblici\
ok? 

 Il dcu della unit messagedigest _5.pas  non c'ï¿œ di default.
Se ï¿œ una unit che non fa parte della "scatola" di Delphi, allora 
memorizzala in un percorso diverso rispetto a quello dedicato ai 
sorgenti originali della VCL, anche per altri motivi (non si sa mai che 
possa essere cancellato dall'installazione degli aggiornamenti o che 
possa interferire eventualmente con la stessa).
Se lo memorizzi in una sottocartella di
C:\Users\<username>\...
non avrai problemi di scrittura del relativo DCU.


dai a Delphi i permessi "Dio in terra" e se non ricordo male imposta la 
compatibilitï¿œ "xp".
Altrimenti come giï¿œ detto "c:\delphi2009"
-- 
-------------------------------
per scrivere in privato
togliere "1975nosp"
to reply remove "1975nosp"


questo � un workaround tecnicamente poco corretto.
Purtroppo da Vista in poi c'� il famigerato UAC. Ora se vogliamo discutere 
dell UAC, anche io non ne sono entusiasta, il fatto di non poter scrivere in 
determinate dir a mio avviso non eleva il livello di sicurezza come sostiene 
microsoft. La strada per� � quella e sarebbe meglio attenersi alle regole 
volenti o nolenti.
Saluti
Andrea

 nolenti.
Ammetto che mi sono ricreduto su quanto affermato prima: una regola che 
dovremmo sempre seguire ï¿œ quella di attenerci agli standard del sistema 
operativo.
Insomma, ci siamo lamentati per anni che la sicurezza di windoze era 
ridicola, ora che ci hanno dato la UAC la raggiriamo... mi sembra poco 
coerente ;-) (e parlo per me stesso!)
Ciao
-- 
Morde

 coerente ;-) (e parlo per me stesso!)
IMHO il punto � che alcuni aspetti dell'UAC creano pi� problemi che 
benefici. Per l'utente standard che usa il pc in modo "domestico" l'UAC � 
sicuramente un aspetto importante, per gli sviluppatori in genere sono delle 
linee guida a volte molto stringenti che non giustificano il guadagno in 
termini di sicurezza.
Il fatto di dover avere privilegi alti per scrivere in cartelle di sistema 
non mette affatto a riparo da virus, malware, ecc...
e dubito che l'utente medio vada a fare operazioni volontarie in system, 
windows, ...
Mi sto rendendo conto per� che in alcuni dpr � necessario eseguire Delphi 
come admin, o perch� si fanno richieste WMI o di sistema in genere.
Ammetto che ora mi sento a met� del guado... ma devo ammettere che 7 sembra 
ben fatto e veloce e tornare indietro sarebbe poco costruttivo.
Andrea

 ben fatto e veloce e tornare indietro sarebbe poco costruttivo.
Mai tornare indietro! Devi guardare sempre avanti, sempre in meglio, 
sempre piï¿œ evoluto. :-)
L'UAC esiste anche in linux e prende il nome di SELinux, ma nelle 
distro popolari tipo ubuntu ï¿œ disattivata. Viene utilizzata dagli 
apparati governartivi perchï¿œ il controllo che effettua sulle policy a 
livello utente ï¿œ talmente profondo che paralizzerebbe le normali 
attivitï¿œ di un utente comune.
http://www.nsa.gov/research/selinux/index.shtml
-- 
Morde

 
http://www.nsa.gov/research/selinux/index.shtml
Questa proprio non la sapevo! Linux x me � arabo ;-)
L'utilit� del newsgroup....
Ciao
Andrea 

 Altrimenti come giï¿œ detto "c:\delphi2009"
Non ce n'ï¿œ bisogno: Delphi 2009 ï¿œ completamente e perfettamente 
*compatibile* con l'UAC di Windows Vista.


 microsoft.
Parliamone. :)
Diciamo che senz'altro ï¿œ sempre necessaria una buona preparazione 
dell'utente in merito a come utilizzare il proprio sistema operativo.
Tuttavia, l'arginare la scrittura in cartelle "delicate" a meno che non 
venga data un'autorizzazione al sistema operativo, mi sembra comunque 
uno strumento in piï¿œ a disposizione per questo scopo.
Il livello di sicurezza aumenta di sicuro. Poi, che ci siano tante altre 
cose da tenere in considerazione (buon senso, conoscenza di ciï¿œ che si 
sta facendo, evitare di installare programmi dall'origine sconosciuta, 
ecc.) non rende comunque del tutto inutile l'UAC.


 non rende comunque del tutto inutile l'UAC.
 l'UAC non � inutile, certo � uno strumento in pi�, ma il fatto che 
microsoft imponga di fatto determinate regole non lascia scelta...
Andrea 

 microsoft imponga di fatto determinate regole non lascia scelta...
E' una regola come tante.
Le "linee guida" per lo sviluppo su Windows impongono peraltro giï¿œ da 
tempo l'utilizzo delle funzioni API specifiche per ottenere i percorsi 
corretti da destinare ai file temporanei, ai dati delle applicazioni, ai 
programmi, ai dati per tutti gli utenti e cosï¿œ via, e di salvare le 
informazioni nei percorsi dedicati e pensati appositamente.
Esistono poi le opzioni relative alla compatibilitï¿œ per far girare 
comunque l'applicazione, per cui non si ci trova di fatto comunque 
"bloccati".
Non vedo insomma grossi problemi insormontabili... :-|


 imponga di fatto determinate regole non lascia scelta...
Le regole ci sono, ï¿œ vero, ma non sei autorizzato a seguirle 
pedissequamente.
In questo linux ci insegna che se a te non piace un pezzo del sistema 
operativo, te ne puoi confezionare uno a tua volta senza quel pezzo, e 
ridistribuirlo a tutti gli altri che a loro volta lo miglioreranno in 
base ai propri gusti, e cosï¿œ via...questo con M$ non ï¿œ possibile farlo: 
ï¿œ lo scotto da pagare quando compri un software CLOSED.
La UAC ï¿œ stata introdotta per arginare il problema dei rootkits, 
ovviamente la politica errata ï¿œ stata quella di utilizzare un intero 
sistema operativo (leggi Vista) come release candidate per testarlo 
(sulle spalle degli acquirenti).
Ora che e' uscita la prima stable release di vista (leggasi SEVEN) 
credo che la UAC sia stata normalizzata: parlavano di decine di 
richieste di conferma ad una banale cancellazione di file.. ma non ho 
riscontri personali siccome sono ancora saldo su XP.
La UAC non ï¿œ un male, non ï¿œ il male, ï¿œ solo un tassello in piï¿œ verso un 
sistema operativo degno di tal nome, e in questo si legge sul web che 
SEVEN sembra sia molto ma molto ben fatto.
Credo di aver finito col delirio del venerdï¿œ pomeriggio.. :-D
ciao
-- 
Morde


No, questo no certo. Il mio era solo un ragionamento teorico/pratico 
sull'approccio di sviluppo con l'UAC. Tutto � aggirabile ma se devo operare 
in un certo ambiente preferisco attenermi alle regole di quell'ambiente nei 
limiti del possibile.
E' vero che microsoft gi� da qualche anno consiglia di utilizzare le 
costanti di sistema per i path pubblici dedicati all'archiviazione dati, da 
vista in poi oltre a consigliarlo lo rende quasi obbligatorio...
P.S.: sono pochi giorni che utilizzo win7 e devo dire che non c'� da 
lamentarsi, certo ad installare Delphi 6 qualche messaggio di morte Windows 
lo ha lanciato..   ;-)
Andrea