如何使用 INNO SETUP 在我的应用程序安装目录中创建文本文件?

发布于 2024-11-29 11:31:42 字数 264 浏览 1 评论 0原文

如何在应用程序的安装目录中创建文件?

我已经尝试过以下方法,但它不起作用。基本上,我需要能够在 Windows XP 上的 C:\Program Files\MyAppName\ 或 Windows Vista 及更高版本上的 C:\Program Files(x86)\MyAppName 中创建文件。

SaveStringToFile("{pf}\{#MyAppName}\Registration.txt", Serial, False);

How can I create a file in the directory in which my application is installed?

I've tried the following, and it doesn't work. Basically I need to be able to create the file in C:\Program Files\MyAppName\ on Windows XP or C:\Program Files(x86)\MyAppName on Windows Vista and newer.

SaveStringToFile("{pf}\{#MyAppName}\Registration.txt", Serial, False);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

蓝眼睛不忧郁 2024-12-06 11:31:42

最好使用特殊常量 {app},以防用户选择不同的目录来安装它。

SaveStringToFile(ExpandConstant('{app}\Registration.txt'), Serial, False);

要将文件保存在 Application Data 目录(由所有用户共享)中,请使用常量 {commonappdata}< /code> 而不是 {app}

请注意,{app} 指向“C:\Program Files\My Application\”(或用户选择安装应用程序的任何位置,具体取决于操作系统)。另一方面,{commonappdata} 指向应用程序数据目录的,因此在这种情况下最好为您的应用添加一个目录,(或公司和应用程序):

例如:

SaveStringToFile(ExpandConstant('{commonappdata}\Foobar Corporation\Our Application\Registration.txt'), Serial, False);

It's better to use the special constant {app}, in case the user chooses a different directory to install it in.

SaveStringToFile(ExpandConstant('{app}\Registration.txt'), Serial, False);

To save the file in the Application Data directory (shared by all users), use the constant {commonappdata} instead of {app}.

Note that {app} points to "C:\Program Files\My Application\" (or wherever the user chose to install the application and depending on the OS). {commonappdata}, on the other hand, points to the root of the Application Data directory, so it'd be good idea in this case to add a directory for your app, (or company and app):

For example:

SaveStringToFile(ExpandConstant('{commonappdata}\Foobar Corporation\Our Application\Registration.txt'), Serial, False);
空心空情空意 2024-12-06 11:31:42

假设这是一个权限问题,您应该使用 Environment.SpecialFolders.ApplicationData 代替。它还有一个额外的好处,即允许您在卸载应用程序时保留文件,这非常有用......

Assuming this is a permissions issue you should use Environment.SpecialFolders.ApplicationData instead. It has an added benefit of allowing you to keep your file if application is uninstalled which can be very useful...

述情 2024-12-06 11:31:42

尝试这个字符串path = Environment.CurrentDirectory;

try this string path = Environment.CurrentDirectory;

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文