2010-08-05 5 views
8

se si compila un programma in D2010 viene generato automaticamente un file manifest .res. è incluso nel tuo programma per impostazione predefinita? o devi includerlo tu stesso? Se sì, quale livello di privilage ti viene dato? il mio programma modifica una chiave di registro sarebbe in grado di farlo senza alcuna modifica al file .res? se no quali modifiche devo fare?
una domanda laterale: c'è un componente/esperto (prefissibilmente gratuito) in grado di generare/includere il file .res nei miei progetti delphi 7 e delphi 2007 automaticamente come delphi 2010?
modificare: dimenticato di dire non ho win7 o vista né ho mai usato loro
EDIT2: Ho incluso un file manifesto nel caso in cui a seguito this tutorial ma il tutorial parla solo su Windows Vista e non 7 il file .xml (manifest) in questo tutorial renderà la mia app in grado di gestire anche UAC win7
edit3 se includo il mio file manifest e Delphi lo include anche per impostazione predefinita e creerà 2 file manifest (1 con admin previlages e 2nd senza) questo causerebbe problemi/comportamento imprevedibilesono programmi delphi 2010 in grado di contrastare Vista/Win7 UAC di default

+1

Perché il vostro programma di bisogno di modificare una chiave di registro di livello amministrativo? Se il tuo programma ha bisogno di farlo, avrà anche problemi con le vecchie versioni di Windows, a meno che i tuoi clienti non abbiano tutti i loro utenti con privilegi amministrativi, il che sarebbe sciocco. Inoltre, se hai intenzione di supportare le versioni più recenti di Windows, varrebbe la pena di acquistarne una copia in modo da poter testare il tuo software sulle piattaforme che sostieni di supportare. –

+0

@rob kennedy: la situazione non è quella che pensi in realtà ho ottenuto un'offerta di stage, la mia prima intervista è andata bene ma mi hanno chiesto di presentare un programma dimostrativo una delle cose che hanno chiesto è che il mio programma dovrebbe essere in grado di eseguire ogni time windows inizia la mia soluzione a questo è quello di modificare 'Software \ Microsoft \ Windows \ CurrentVersion \ Run' per farlo avviare all'avvio di Windows ho paura se lo test su Windows7 con un normale account utente il mio software fallirebbe :( –

+0

Se modifichi l'impostazione di registro in ** "HKey_Current_User' **, non dovresti avere alcun problema, o se metti un collegamento al tuo programma nella cartella Esecuzione automatica del menu Start, dovrebbe funzionare anche questo. essere * peggio * per voi per richiedere i privilegi di amministratore per il vostro programma se il resto dei suoi compiti non lo richiedono.Oltre, sono sicuro che si può semplicemente dire loro quando si invia il programma che non si ha accesso a Windows 7 e quindi non è stato possibile testarlo lì, cio ' s una situazione perfettamente comprensibile per uno studente. Lo testeranno invece su Windows XP. –

risposta

8

Il manifest generato da delphi conferisce al tuo processo i privilegi più bassi (che è il default a proposito).

È necessario modificare il file manifest in modo che esso sia ASK per l'autorizzazione all'esecuzione in diritti amministrativi (Elevazione chiamata).

L'applicazione con i privilegi standard dovrebbe leggere/scrivere su HKEY_CURRENT_USER senza elevazione.

L'accesso a %programfiles% e HKEY_LOCAL_MACHINE richiede l'elevazione. (Non così sicuro sugli altri alveari del registro)

Questo è un PDF che ti aiuterà MOLTO con quello che stai facendo.

http://pascalfonteneau.developpez.com/articles/delphi/vista/uac/VistaUACandDelphi.pdf

+0

grazie aldo, vedere il mio edit2 –

+0

Che funzionerà anche per Seven , sì. – zz1433

+0

grazie ancora, ora guarda gentilmente edit3 :-) –

Problemi correlati