Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 8 of 8 total
Thread TempTablesPath need to be assigned explicitly?
Mon, Mar 5 2012 9:43 AMPermanent Link

Dominique Willems

Probably already answered somewhere, but I notice in the documentation
about the TempTablesPath property that "By default, the TempTablesPath
property is set to the user-specific temporary tables path for the
operating system," and I do see that my local user folder is
automatically filled in in this property.

However, since I suppose this automatic assignment occurs only once,
during the very first creation of the component, during design-time, I
will have to assign the proper path at run-time when I'm deploying the
application on other systems? Leaving this property empty, for
instance, so that it might get automatically assigned the proper path
at run-time, is not an option...right?
Mon, Mar 5 2012 10:17 AMPermanent Link

Dominique Willems

In any case, I might mention that I'm currently using GetTempTablesPath.

A follow-up question, however: I see that the demo uses:

ConfigPath := ExtractFilePath(Application.ExeName)

which would create the Config file in the \Program files folder,
something I thought could cause a lot of UAC problems under Vista and
is generally not recommended. Wouldn't it be better to have something
like

SHGetSpecialFolderPath(0, @FilePath[0], CSIDL_LOCAL_APPDATA, true);
ConfigPath := FilePath + '\MyCompany\MyApplication'

for a specific user, and

SHGetSpecialFolderPath(0, @FilePath[0], CSIDL_COMMON_APPDATA, true);
ConfigPath := FilePath + '\MyCompany\MyApplication'

Or what are most developers here using when they need to deploy to
systems that only have "standard user" privileges?
Mon, Mar 5 2012 10:18 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Dominique


I don't know the answer to your question but what I do is have

 TfRSession.LocalTempTablesPath := GetWindowsTempPath;

in my app before tables are opened.

Roy Lambert [Team Elevate]
Mon, Mar 5 2012 11:40 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Dom,

<< However, since I suppose this automatic assignment occurs only once,
during the very first creation of the component, during design-time, I will
have to assign the proper path at run-time when I'm deploying the
application on other systems? Leaving this property empty, for instance, so
that it might get automatically assigned the proper path at run-time, is not
an option...right? >>

Correct.  However, the TEDBEngine component has a GetTempTablesPath that you
can use to easily assign the temporary tables path to the user-specific temp
folder at runtime:

http://www.elevatesoft.com/manual?action=viewmethod&id=edb2&product=delphi&version=7&comp=TEDBEngine&method=GetTempTablesPath

--
Tim Young
Elevate Software
www.elevatesoft.com
Mon, Mar 5 2012 11:42 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Dom,

<< In any case, I might mention that I'm currently using GetTempTablesPath.
>>

Darn, need to read ahead. Smile

<< A follow-up question, however: I see that the demo uses:

ConfigPath := ExtractFilePath(Application.ExeName)

which would create the Config file in the \Program files folder,something I
thought could cause a lot of UAC problems under Vista and is generally not
recommended. Wouldn't it be better to have something like >>

Yes, that is correct.  The demo was written that way to keep it simple,
primarily because such folder also normally involve using version
information in the .exe, etc.

--
Tim Young
Elevate Software
www.elevatesoft.com
Mon, Mar 5 2012 11:50 AMPermanent Link

Dominique Willems

Tim Young [Elevate Software] wrote:
> The demo was written that way to keep it
> simple, primarily because such folder also normally involve using
> version information in the .exe, etc.

But there is no problem if I set the ConfigPath to the local appdata
one, which is the same I'll be using to deploy the database in? I'm not
a fan of this virtualization stuff (which occurs if I put it all in
\program files. Got me into trouble when deploying an older app on
Vista and Windows 7 systems with UAC running (boy, that was a
mindblowing experience -- the system displaying totally different data
than was actually in the folder))
Mon, Mar 5 2012 1:29 PMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Dominique

>But there is no problem if I set the ConfigPath to the local appdata
>one, which is the same I'll be using to deploy the database in? I'm not
>a fan of this virtualization stuff (which occurs if I put it all in
>\program files. Got me into trouble when deploying an older app on
>Vista and Windows 7 systems with UAC running (boy, that was a
>mindblowing experience -- the system displaying totally different data
>than was actually in the folder))

This is why I ignore Mr Gates and friends and create a directory outside of their "recommendations"

Roy Lambert
Wed, Mar 21 2012 2:58 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Dom,

<< But there is no problem if I set the ConfigPath to the local appdata one,
which is the same I'll be using to deploy the database in? >>

Sure, no problem at all.  You can set the ConfigPath to any valid,
readable/writeable path.

--
Tim Young
Elevate Software
www.elevatesoft.com
Image