Hi Glenn,

Sorry, I have NO knowledge of Win NT.  I have searched Delphi 5's help 
and could not find 'GetEnvironmentVariable' but I did find it under the 
SDK info - but I don't understand it at all!  I also searched for 
'Userprofile' and didn't find that either.  Are these now functions in 
Delphi 8 or Turbo Delphi (which I can't run since they require Win XP 
and I'm still running Win 98)?

Marie

Glenn B. Lawler wrote:

> Mike,
> 
> Running as Administrator does not really solve the problem.
> Vista protects everything beneath the "C:\Program Files" directory.
> This is simple to do in the right way, which has been in place since
> Windows NT 4.0. The operating system maintains an environment
> variable: USERPROFILE which is the PATH to a directory which is
> private to the currently logged in user. In a batch file, you can
> dereference the environment variable like this:
> 
> CD /D %USERPROFILE%
> 
> The statement above changes to the users private directory.
> 
> When writing a program, the Windows API call:
> GetEnvironmentVariable
> 
> will return the value of an environment variable.
> Check the Delphi help for details.
> 
> Glenn Lawler
> www.incodesystems.com
> 
> -----Original Message-----
> From: Mike [SMTP:[EMAIL PROTECTED]
> Sent: Tuesday, July 31, 2007 4:13 PM
> To:   advanced_delphi@yahoogroups.com
> Subject:      Re: [advanced_delphi] Re-Writing for Vista
> 
> the problem really is Vista - it changed all programs to run at a User 
> Level - it's easy enough to change - may not be the best way (at least in 
> M$'s eyes)
> 
> right click on the desktop shortcut icon and change it to "Run as 
> Administrator"
> 
> 
>   ----- Original Message -----
>   From: Marie F Vihonsky
>   To: Advance Delphi
>   Sent: Tuesday, July 31, 2007 3:35 PM
>   Subject: [advanced_delphi] Re-Writing for Vista
> 
> 
>   Hi All,
> 
>   I have just gotten the first glitches with Vista from users and it
>   involves the logic for writing to the databases and indexs. I'm still
>   of the old DOS mindset and a self-taught programmer. I have all my
>   files located under the main folder where the program is installed and
>   using Inno-Setup, I have the user install to:
>   c:\program files\myprogram
> 
>   Using Delphi 5, I can determine if the user has installed the program
>   somewhere else by determining where the EXE is located using this code:
>   exepath:=ExtractFilePath(Application.ExeName);
>   datapath := exepath + 'data\';
>   if not DirectoryExists(datapath) then
>   if not CreateDir(datapath) then begin
>   raise Exception.Create('Cannot create '+ datapath);
>   exit;
>   end;
>   mdxpath := exepath + 'indexs\';
>   if not DirectoryExists(mdxpath) then
>   if not CreateDir(mdxpath) then begin
>   raise Exception.Create('Cannot create '+ mdxpath);
>   exit;
>   end;
> 
>   Under Vista, I understand that this is a NO-NO since it requires write
>   permission from the Administer. Now my Users are all individual HOME
>   users, who are the Admins and don't know how to set-up their pc's to run
>   the program they way it did under all previous versions of Windows.
> 
>   I'm at a loss, since I don't have a PC with Vista. Soon to be rectified
>   before I go nuts trying to answer questions from my users!
> 
>   Meanwhile, how should I re-write my programs? Where can I write from the
>   program so that the user doesn't need Admin privileges and how do I
>   determine the folder name?
> 
>   Marie
> 
> 
> 
>  
> Yahoo! Groups Links
> 
> 
> 
> 

Reply via email to