- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试帮助将 .Net 服务移植到更现代的 .Net 版本(可能是 Core)并使用 MSIX 安装程序。该应用程序有几个由编译器生成的配置文件(在源代码中它们是 app.config 但编译后它们变成了 *.exe.xml),它们安装在二进制文件旁边的程序文件中,还有一个 GUI 帮助应用程序和应用程序本身可以修改它们以更改服务行为(端口、ip、tls 证书等)。
Writes under C:\Program Files\WindowsApps\package_name are not allowed.Writes under C:\Program Files\WindowsApps\package_name are not allowed.
我面临的问题是 MSIX 安装程序使得它的 Program Files 沙盒版本中的文件无法写入 ( see above )。这意味着无法配置此应用程序,因此我不仅要弄清楚如何使该应用程序再次可配置,还要弄清楚 Windows 希望如何处理应用程序配置。
现在似乎有两种通用方法可以做到这一点:
/etc/Myservice
行为。 (意思是包含服务配置数据的本地系统范围目录)如果您建议 #1,请回答以下附加问题:
如果您建议#2:
最佳答案
嗯,在系统帐户上运行的服务对所有用户都是相同的,所以我认为 CommonApplicationData 是一个更好的文件夹来存储其设置,而不是 appdata。您的服务和任何需要部署自定义配置文件的管理员都可以轻松访问此文件夹。
在 AppData 中,您应该只存储实际的用户文件(例如由特定用户在您的应用程序中执行的操作生成的文件或设置 - 因此不同的用户使用不同的文件)。
现在,第二部分是您需要配置代码以从自定义路径加载配置文件的地方,而不是在 EXE 旁边寻找它。我不是 .NET 专家,但经过快速搜索后我发现了这个:
我不清楚您的客户如何使用 GUI 帮助工具来自定义配置文件。这只是 IT 部门人员用来生成配置文件的工具,然后他们会复制该文件并使用 MSI/MST 文件(或通过其他一些自定义部署方法)将其部署到最终用户机器)?
如果您的应用程序仅由 IT 人员部署,那么您可以尝试另一种更简单(也更优雅)的解决方案,为它提供自定义配置文件,这实际上不需要任何代码更改。
您仍然可以在 ProgramFiles 中将配置文件保留在 EXE 旁边,并指示部署该应用程序的 IT 团队使用 MSIX Modification Package部署由 GUI 助手生成的自定义配置文件。 (查看上面包含的链接以获取示例 - 文章末尾有视频版本)。
注意:IT 团队可以使用多种免费或付费工具来生成 MSIX 修改包。
当然,您的 GUI 帮助工具仍然需要在允许的文件夹中生成自定义配置文件,因为它不能再在 ProgramFiles 下写入。所以实际上,在这种情况下,您也确实需要稍微修改一下代码。
关于c# - 如何使用 MSIX 允许可编辑的 .Net 生成的配置文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65296427/
我有一个成熟的 wcf 应用程序,目前与生成 msi 的 wix 打包在一起。当 msi 安装在用户的 pc 上时(使用 wix/msi gui 或使用带有 powershell 远程处理的 msie
我有一个 WPF 应用程序,我计划使用 Visual Studio 中的 Windows 应用程序打包项目进行部署,该项目为安装和 future 的更新制作 MSIX 包。安装程序会自动将应用程序安装
我的包以旁加载方式安装,并不断遇到特定于应用程序的权限错误。 是的,许多人建议在 regedit 和组件服务中手动更改权限和所有者。 我的应用实际上在组件服务(DCOMCNFG、DCOMCNFG -3
问题: 启用侧面加载后,为什么 MSIX 不会在每次应用程序运行时自动检查更新? 上下文: 我们正在将 WPF 应用程序迁移到 Azure,并创建了一个启用旁加载的 MSIX 安装程序,并设置为在每次
问题: 如何让 MSIX appinstaller 在每次构建/发布期间输出正确的设置? 上下文: 这是 Why does the MSIX not automatically check for u
问题: 启用侧面加载后,为什么 MSIX 不会在每次应用程序运行时自动检查更新? 上下文: 我们正在将 WPF 应用程序迁移到 Azure,并创建了一个启用旁加载的 MSIX 安装程序,并设置为在每次
问题: 如何让 MSIX appinstaller 在每次构建/发布期间输出正确的设置? 上下文: 这是 Why does the MSIX not automatically check for u
我正在尝试帮助将 .Net 服务移植到更现代的 .Net 版本(可能是 Core)并使用 MSIX 安装程序。该应用程序有几个由编译器生成的配置文件(在源代码中它们是 app.config 但编译后它
背景 我刚刚为 Windows 机器开发了我的第一个 Flutter 桌面应用程序。该应用程序在开发/调试时运行良好,但我正在尝试将其作为 Release模式下的应用程序进行测试。 做了什么 我使用
目标: 我正在尝试为我的应用程序制作一个安装文件。此外,该应用程序必须能够从服务器或 OneDrive 进行更新。 解决方案: 我正在使用 windows应用打包项目为了这。 问题: 当安装程序位置在
我们有一个仅在内部使用的 .Net Core 应用程序。在从 WPF 切换到 .Net Core 的过程中,我们从 Click-Once 更改为 MSIX。在我们应用程序的窗口标题/标题中,我们还“输
问题 我正在尝试使用 msix 作为部署方法将 .net core 3.1 wpf 应用程序安装到 Windows 2019 服务器上。 Windows 服务器是最新的,应该支持 msix,但不会安装
关于 MSIX 包及其 list 文件的几个基本问题: 一个 MSIX 包可以包含多个应用程序。是什么将某些东西标识为“应用程序”,而不仅仅是可执行文件?一个本身就是组件的可执行文件?有自己的快捷
我正在使用 Visual Studio MSIX 打包项目在网络共享上为内部应用程序创建安装程序。 一个问题是它创建了一个以“_Test”结尾的目录。 为什么要这样做,我该如何摆脱它?我只想要“MyA
我最近一直在使用一个旧应用程序,该应用程序主要是几年前在 x86 架构中构建的。我一直在研究使用 MSIX 打包工具,到目前为止我已经成功地打包了我的应用程序。问题是新包是为 x64 构建的,而不是为
编辑 #1 开始 要复制这个: 创建一个新的“vanilla”WPF 应用程序来解决 .Net Core 3.1 添加 Windows Application Packaging Project到解决
我刚开始创建 MSIX 安装程序并将其托管在 Azure 上。 问题:为什么使用 MSIX 安装程序安装的 WPF 应用程序无法启动? 详细信息:我有一个基于 .NET 5 构建的 WPF 应用程序,
任何人都可以提示我如何手动定义 msix 包吗?我的应用程序还没有 msi 包,所以我不能简单地转换它。有没有办法像配置文件一样创建我手动定义哪些文件需要进入 msix 包? MSIX GUI Cre
因此,我们完成了一些 wpf 到 .net core 的转换,现在我们需要将一个作为安装程序发送到外部客户端。之前我们使用了 ClickOnce,但它在 .net core 中已被弃用,并且根据 MS
我们正在将应用程序迁移到 Azure。 我们为内部 WPF 应用程序创建了一个 MSIX 安装程序,该应用程序安装到 Windows 10 C:\Program Files\WindowsApps\
我是一名优秀的程序员,十分优秀!