PDA

Visualizza la versione completa : [DELPHI] ExtractFilePath e percorsi differenti in Windows Vista


123delphi321
17-02-2011, 18:45
Ciao,

nella mia applicazion in delphi 7 salvo un file ini dove memorizzo le varie impostazioni....



Ini := TIniFile.Create(ExtractFilePath(Application.ExeNam e)+'Impostazioni.ini');


il mio programma.exe, una volta installato tramite InnoSetUp, e' nella cartella c:\programmi\mioProg

e di coneguenza anche il file Impostazioni.ini risiede nella stessa cartella.... o meglio su XP risiede nella stessa cartella.

il problema nasce su Vista

il file viene salvato in una cartella differente tipo c:\user....

sapete di questo problema?

grazie

alka
17-02-2011, 19:38
Il problema legato al fatto che l'eseguibile probabilmente non contiene un manifest compatibile con Vista/7 e quindi viene interpretato come "programma vecchio" (legacy).

Accedere in scrittura a un file in una cartella dove questo non consentito (come quella dei Programmi, ad esempio) normalmente viene bloccato, mentre il tuo applicativo - per via di quanto detto sopra - viene sottoposto alla "virtualizzazione".

Leggi questo PDF (http://pascalfonteneau.developpez.com/articles/delphi/vista/uac/VistaUACandDelphi.pdf) per maggiori informazioni.

Per la creazione del manifest, vedi qui (http://delphi.about.com/od/delphitips2009/qt/delphi-vista-registry-run-on-startup.htm).

Ciao! :ciauz:

123delphi321
18-02-2011, 09:29
ciao,

ho seguito i passi per la creazione del file manifest... ed ho creato il file .REC

il mio programma si chiama MioProgrammaManifest.exe

quindi il file MioProgrammaManifest.dpr


program MioProgrammaManifest;

uses
Forms,
Unit1 in 'Unit1.pas' {Form1};

{$R *.res}
{$R MioProgrammaManifest.REC}

begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.


quando conpilo il programma ho errore:



Unable to create process: Impossibile avviare l'applicazionespecificata. La configurazione dell'applicazione non e' corretta. Una nuova installazione dell'applicazione potrebbe risolvere il problema.


ed il file exe rimane lockato sul pc fino a quando non chiudo delphi.

forse ho inserito in un punto sbagliato {$R MioProgrammaManifest.REC} ?
o forse il programma non funziona perche sto su XP?

grazie

alka
18-02-2011, 10:40
Il file .rec un file di risorse gi compilato?

123delphi321
18-02-2011, 10:58
si l'ho compilato come da istruzioni:

brcc32 MioProgrammaManifest.RC -foMioProgrammaManifest.REC

Loading