以编程方式打开 Windows 应用程序,当它与 MSIX Application Packager 一起安装时
Open a Windows app programmatically, when it was installed with MSIX Application Packager
我已经使用 Visual Studio MSIX 打包项目打包了我的 windows 应用程序:这是一个旁加载应用程序,使用证书,而不是 Microsoft Store 应用程序。
这很好 - 我得到了自动更新,用户可以在没有管理员权限的情况下安装包。
我希望能够从另一个应用程序打开这个应用程序。
在此之前很简单 - 只需使用应用程序路径调用 Process.Start:“C:\Program Files\MyCompany\MyApp.exe”
然而,安装了 MSIX 的应用程序的可执行文件是隐藏的,我怀疑它在“C:\Program Files\WindowsApps”中,但是这个文件夹是受限的,即使有管理员权限我也无法访问
C:\Users\MyUser\AppData\Local\Packages{myappguid} 中似乎有一些关于安装的数据 - 但此处没有可用的可执行文件。
所以我的问题很简单:当使用 MSIX 应用程序打包程序安装应用程序时,如何从另一个程序启动应用程序?
事实证明这很简单。
编辑您的 Package.appmanifest 并在 Application 元素中添加以下内容
<Extensions>
<uap5:Extension Category="windows.appExecutionAlias">
<uap5:AppExecutionAlias>
<uap5:ExecutionAlias Alias="MyApp.exe"/>
</uap5:AppExecutionAlias>
</uap5:Extension>
</Extensions>
并确保在清单文件的顶部引用此命名空间 xmlns:uap5="http://schemas.microsoft.com/appx/manifest/uap/windows10/5"
并且也在可忽略的命名空间中。
重建并重新安装 MSIX。
在新的命令提示符处测试 - 只需键入 MyApp.exe - 它应该会打开应用程序。
现在第二个程序可以执行 Process.Start("MyApp.exe")
并且可以运行。
参考:https://docs.microsoft.com/en-us/uwp/schemas/appxpackage/uapmanifestschema/element-uap5-extension
我已经使用 Visual Studio MSIX 打包项目打包了我的 windows 应用程序:这是一个旁加载应用程序,使用证书,而不是 Microsoft Store 应用程序。 这很好 - 我得到了自动更新,用户可以在没有管理员权限的情况下安装包。
我希望能够从另一个应用程序打开这个应用程序。 在此之前很简单 - 只需使用应用程序路径调用 Process.Start:“C:\Program Files\MyCompany\MyApp.exe”
然而,安装了 MSIX 的应用程序的可执行文件是隐藏的,我怀疑它在“C:\Program Files\WindowsApps”中,但是这个文件夹是受限的,即使有管理员权限我也无法访问
C:\Users\MyUser\AppData\Local\Packages{myappguid} 中似乎有一些关于安装的数据 - 但此处没有可用的可执行文件。
所以我的问题很简单:当使用 MSIX 应用程序打包程序安装应用程序时,如何从另一个程序启动应用程序?
事实证明这很简单。
编辑您的 Package.appmanifest 并在 Application 元素中添加以下内容
<Extensions>
<uap5:Extension Category="windows.appExecutionAlias">
<uap5:AppExecutionAlias>
<uap5:ExecutionAlias Alias="MyApp.exe"/>
</uap5:AppExecutionAlias>
</uap5:Extension>
</Extensions>
并确保在清单文件的顶部引用此命名空间 xmlns:uap5="http://schemas.microsoft.com/appx/manifest/uap/windows10/5"
并且也在可忽略的命名空间中。
重建并重新安装 MSIX。
在新的命令提示符处测试 - 只需键入 MyApp.exe - 它应该会打开应用程序。
现在第二个程序可以执行 Process.Start("MyApp.exe")
并且可以运行。
参考:https://docs.microsoft.com/en-us/uwp/schemas/appxpackage/uapmanifestschema/element-uap5-extension