在安装时访问 AllUsersApplicationData

发布于 2024-10-20 04:43:08 字数 312 浏览 5 评论 0原文

我正在准备一个自定义操作,将文件复制到特定位置。应用程序的现有用户已在 SpecialDirectories.AllUsersApplicationData 位置中拥有该文件。所以我想先检查一下那里。

但是,在安装时,当我尝试访问此位置时,它会解析为

...\Microsoft Corporation\Windows Installer - Unicode\3.1.4001.5512

有没有一种快速方法可以到达 AllUsersApplicationData 位置对于我正在安装的应用程序,而不是安装程序?

I am preparing a custom action that copies a file to a specific location. Existing users of the application will already have the file in the SpecialDirectories.AllUsersApplicationData location. So I want to check there first.

However, at install time, when I try and access this location, this resolves to

...\Microsoft Corporation\Windows Installer - Unicode\3.1.4001.5512

Is there a quick way to get to the AllUsersApplicationData location for the app I'm installing, instead of the installer?

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

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

发布评论

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

评论(1

烏雲後面有陽光 2024-10-27 04:43:08

在这种情况下,无论是在安装程序中还是在应用程序中,您都不能使用 AllUsersApplicationData。安装程序无法正确猜测版本号。只需创建您自己的目录,以便安装程序可以计算路径并获取正确的目录。

使用Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) 并附加您的公司和产品名称。您可能想附加一个版本号。该版本应该是应用程序数据的版本,而不是应用程序的版本。自己编一个,从“1.0”开始。安装程序现在可以毫无困难地执行同样的操作。

You cannot use AllUsersApplicationData in this scenario, neither in the installer nor in your application. The installer cannot guess the version number correctly. Just make your own so that the installer can compute the path and get the right directory.

Use Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) and append your company and product name. And you probably want to append a version number. This version should be the version of the application data, not the application. Just make up your own, start at "1.0". The installer now has no trouble doing the same.

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