我有一个 WPF 应用程序,我计划使用 Visual Studio 中的 Windows 应用程序打包项目进行部署,该项目为安装和 future 的更新制作 MSIX 包。安装程序会自动将应用程序安装在 C:\Program Files\WindowsApps 中。这很好,直到程序需要缓存一些数据或需要修改 appsettings 文件,因为应用程序没有权限访问这些资源。
是否有我可以在包装属性/ list 中更改的设置,以便它可以安装在其他地方,从而避免这些问题?
最佳答案
确实,只有 Windows 可以在安装 msix 包时写入 %ProgramFiles%\WindowsApps(按设计)。如果您的应用正在安装文件夹中写入日志文件或其他数据,它将崩溃。
您需要更新代码以写入 %AppData%,或者如果您无权访问代码,请使用包支持框架 修复它。您可以在此处阅读更多信息: Package Support Framework (aka PSF)
PSF 带来了对 API 重定向和 Hook 的支持。因此,您可以修复未能在安装文件夹中写入文件的应用(不再允许这样做)并将其重定向到推荐的位置,或者可能只是更新应用的工作目录。
关于windows - 如何更改 msix 包的安装位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65927469/