Win 2008 and RBuilder.INI - access denied
I'm running the latest RB 10.08, and upon double-clicking a TppReport
component in the Delphi IDE, get a message saying
"..windows\System32\RBuilder.ini, access denied". I see the issue
existed previously for vista as per the old newsgroup answer below; is
a fix for windows 2008 coming in the next update?
"Are you running Delphi 2007 as an administrator? If not, you will need
to do so in order to write to the RBuilder.ini on a Vista machine. At
design time there is currently no way to change where these settings
are kept so it is necessary to run Delphi 2007 as an administrator in
until we release a version of ReportBuilder that is officially Vista
compliant."
--
Eivind Bakkestuen
Nexus Database Systems Pty Ltd
component in the Delphi IDE, get a message saying
"..windows\System32\RBuilder.ini, access denied". I see the issue
existed previously for vista as per the old newsgroup answer below; is
a fix for windows 2008 coming in the next update?
"Are you running Delphi 2007 as an administrator? If not, you will need
to do so in order to write to the RBuilder.ini on a Vista machine. At
design time there is currently no way to change where these settings
are kept so it is necessary to run Delphi 2007 as an administrator in
until we release a version of ReportBuilder that is officially Vista
compliant."
--
Eivind Bakkestuen
Nexus Database Systems Pty Ltd
This discussion has been closed.
Comments
We do not currently have any experience with Windows Server 2008 however I
would assume the same issues are present as in Vista. The next major
release of ReportBuilder will address the RBuilder.ini and other writable
file location issues.
--
Regards,
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
The message I quoted is actually more than a year old... any timeline
for this next major release?
--
Eivind Bakkestuen
Nexus Database Systems Pty Ltd
We have been using Vista here daily for over a year and have Delphi
configured to run as Administrator. Works great. There are many other apps
on my Vista machine that require Administrator privileges.
--
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
That was not my question, but thanks anyway. FYI, no other libs I have
installed requires admin privileges to work (as well they shouldnt).
--
Eivind Bakkestuen
Nexus Database Systems Pty Ltd
For the applications that you build and deploy you can control the location
of RBuilder.ini. See tech tip below.
For the next major release, we are making enhancements to better support
Vista. The default location of RBuilder.ini is being modified. A new
installation system will install applicable files, such as the Demos to a
directory that does not require adminstrator privilidges.
My point was that there is a simple work around. In my opinion,
Administrator privileges are perfectly acceptable for a development
environment.
Thanks for the feedback.
----------------------------------------------------
Tech Tip: RBuilder Ini Storage
----------------------------------------------------
For an end-user reporting application, use the TppDesigner IniStorageType
and InitStorageName properties can to control how/where ReportBuilder stores
user preferences.
For a reporting application that does not include the TppDesigner component,
the settings can be configured programmatically.
1. To modify the location of RBuilder.ini
uses
ppIniStorage,
ppFileUtils;
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
lsStorageName: String;
begin
lsStorageName := TppFileUtils.GetApplicationFilePath + '\RBuilder.ini';
TppIniStoragePlugIn.SetStorageName(lsStorageName);
end;
2. To modify the storage to use the Windows Registry
uses
ppIniStorage;
begin
// configure the ini storage to use the registry
ConfigureIniStorage(TppRegistry.ClassDescription,
TppRegistry.DefaultStorageName);
end;
procedure ConfigureIniStorage(aStorageType, aStorageName: String);
var
lIniStorageClass: TppIniStorageClass;
begin
lIniStorageClass := TppIniStoragePlugIns.GetClassForName(aStorageType);
if (lIniStorageClass <> nil) then
begin
TppIniStoragePlugIn.SetClass(lIniStorageClass);
TppIniStoragePlugIn.SetStorageName(aStorageName);
end;
end;
--
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com