我有一个基于Windows的桌面应用程序。我使用的是VS2022中的单项目MSIX打包。我需要弄清楚的是,如何让安装程序启动第三方安装程序(例如Nvidia Cuda ),作为应用程序安装的一部分。在MSIX上稀疏的文档中,应该非常直接的消失在杂草中。我也将最终希望覆盖多个MSIX安装在一个位置。我很确定我不能直接在Visual中完成这个任务,但是使用MSIX工具似乎是可能的。任何指示都会有帮助。
发布于 2022-10-13 12:03:31
虽然MSIX没有安装自定义操作,但是对于某些事情,我们仍然可以在用户系统中定制一些东西。
从包部署外部处理此问题是推荐的方法。然而,可能还有其他选择。
使用源代码,您可以修改应用程序,以检测您是否需要做一些事情和做它。如果"it“需要提升,则需要在清单中添加允许高度功能,并且将为用户提供UAC提示符。
不管有没有源代码,您都可以添加包支持框架的PsfLauncher,以便在启动应用程序时运行脚本。如果在您之前运行,PsfLauncher将负责检测。同样的海拔问题也适用。
由于这些方法是在用户上下文中运行的,如果需要提升,它们实际上是不太好的,因此并不是推荐的方法。
蒂姆·曼甘。
发布于 2022-10-13 14:12:50
首先,不要开始使用MSIX打包工具。正如我在前面的SO线程中所说的,that tool is designed for IT pros,而不是针对开发人员的。
第二,正如Tim总结的那样,我建议不要过于复杂地通过MSIX交付那些第三方安装程序。
与其将包支持框架集成到MSIX包中过于复杂,我会三思而后行,如果将应用程序部署为MSIX是值得的。上一次我检查你仍然可以得到你的应用程序的身份,即使你用MSI来部署它(我可能错了)。
如果您选择为您的应用程序保留MSIX,那么一个更干净的解决方案可能是在其上构建一个EXE包装器(在包装世界中也称为引导程序)来处理第三方包安装,当这些安装完成后,它可以启动您的MSIX安装?
不幸的是,到目前为止,微软还没有让我们很容易地定义一个非MSIX依赖项。
https://stackoverflow.com/questions/74048997
复制相似问题