如何使用包支持框架运行脚本以创建应用程序快捷方式

您所在的位置:网站首页 如何创建文件快捷方式图标图片 如何使用包支持框架运行脚本以创建应用程序快捷方式

如何使用包支持框架运行脚本以创建应用程序快捷方式

2024-04-28 04:40| 来源: 网络整理| 查看: 265

使用包支持框架运行脚本来创建应用程序快捷方式 项目10/30/2023

本文档介绍如何使用包支持框架 (PSF) 创建应用程序快捷方式,该框架通过 MSIX 打包工具和 Contoso Expense WPF 应用程序运行脚本。

其思路是通过 PSF 脚本将包中可用的应用程序快捷方式复制到用户的桌面。

需要注意以下几点:

仅当绝对必要时才创建快捷方式。 目标是不使用户的桌面凌乱。 必须在创建快捷方式之前安装 MSIX 应用程序,以便在创建快捷方式期间指定 MSIX 应用程序路径。 同时,在安装文件夹中指定版本号后,MSIX 应用程序路径可以更改。 Contoso Expenses 安装路径的示例:

C:\Program Files\WindowsApps\ContosoExpenses_1.0.0.0_x86__3z09h3y28h0qg

为了避免每次更新应用程序时更改应用程序快捷方式,请通过指向 AppExecutionAlias 创建快捷方式。 AppExecutionAlias 允许它使用应用程序清单的别名会话中定义的值启动应用程序,因此无需指定完整的应用程序路径。 因此,在创建快捷方式之前,请在应用程序清单中定义别名。 否则,Windows 资源管理器将无法识别别名,并且不允许我们创建快捷方式。

创建应用程序别名

单击“包信息”菜单项,然后单击 UI 底部提供的“打开文件”以编辑应用程序清单:

包括用于创建别名的以下命名空间,如下所示:

xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3" xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"

在 IgnorableNamespaces 元素中包含值 uap3 和 desktop:

IgnorableNamespaces="uap uap3 desktop rescap build"

在 元素后面包含应用程序的执行别名:

在清单后加上修改:

“保存”并“关闭”清单文件。

切换回 MSIX 打包工具并“生成新包”。 创建包后,通过别名安装包并启动应用程序,例如,按 Win+R 并键入 contosoexpenses:

创建别名后,可以继续执行后续步骤。

创建应用程序快捷方式

使用别名 contosoexpenses.exe 在首选项文件夹中创建新的应用程序快捷方式,如下所示:

为 Contoso Expenses 命名快捷方式:

默认情况下,快捷方式将是一个通用图标:

更改快捷方式非常简单,但此处的挑战是避免使用具有版本号的完整应用程序路径,其可能会在将来的更新中更改。 解决此问题的一种方法是将图标从包复制到 MSIX 应用程序使用的 %appdata%,即没有版本号的 %localappdata%\Packages\ContosoExpenses_3z09h3y28h0qg\LocalCache\Roaming_ 文件夹。

若要更改应用程序快捷方式,目前需要手动将图标复制到该文件夹。 稍后将使用 PSF 脚本自动执行此操作。

现在,可以将快捷图标更改为 %localappdata% 路径:

依然是在快捷方式属性中,充分利用并相应更改“目标”和“起始位置”属性的值为 %localappdata%\Microsoft\WindowsApps\contosoexpenses.exe 与 %localappdata%\Microsoft\WindowsApps:

现在快捷方式正常工作,下一步是将其添加到包并自动执行创建过程。

获取 PSF 文件

从 PSF Github 存储库下载 PSFBinaries.zip。

将所需的 32 位或 64 位文件提取到包目录的根目录,具体取决于应用程序是 32 位还是 64 位。 使用下表作为指南。

应用程序可执行文件为 x64 应用程序可执行文件为 x86 PSFLauncher64.exe PSFLauncher32.exe PSFRuntime64.dll PSFRuntime32.dll 在包中包含 PSF 文件

通过“MSIX 打包工具”编辑 Contoso Expense:

单击“包文件”菜单项,单击 Package 文件夹的右侧按钮,然后选择“添加文件...”:

由于 ContosoExpense 的版本为 32 位,因此添加了 PSF 32 位所需的文件。 包内容现在应该如下所示:

更新 PSF 的包清单

单击“包信息”菜单项,然后单击 UI 底部提供的“打开文件”以编辑应用程序清单:

在此步骤中,必须通过 PSFLauncher32.exe 更改应用程序入口点 (ContosoExpenses\ContosoExpenses.exe)。

“保存”并“关闭”清单文件。

创建 config.json 文件

切换回“MSIX 打包工具”,单击“包文件”,选择 Package 文件夹,并添加包含以下内容的新的 config.json 文件。

{ "applications": [ { "id": "App", "executable": "ContosoExpenses\\ContosoExpenses.exe", "workingDirectory": "ContosoExpenses\\", "startScript": { "scriptPath": "createshortcut.ps1", "runInVirtualEnvironment": false, "waitForScriptToFinish": true, "showWindow": false, "runOnce": true } } ] }

👀 请注意,应用程序 ID 与清单中相同:

必须在包根目录中创建 config.json 文件,如下所示:

config.json 文件用于指定 createshortcut.ps1 脚本应在第一个应用程序初始化中只运行一次。 由于“工作目录”设置为 ContosoExpenses,因此 createshortcut.ps1 脚本(稍后将创建)和 StartingScriptWrapper.ps1 脚本(来自 PSF 文件)必须添加到 ContosoExpenses 文件夹中。

更新 PowerShell 脚本

创建包含以下内容的 createshortcut.ps1 脚本:

Copy-Item "Contoso Expenses.lnk" "$env:USERPROFILE\desktop\Contoso Expenses.lnk" Copy-Item "contoso.ico" $env:APPDATA\contoso.ico

createshortcut.ps1 脚本会将之前创建的 "Contoso Expenses.lnk" 快捷方式复制到用户桌面,该快捷方式将可在包中使用。 第二个指令将 contoso.icon 复制到 MSIX APPDATA 文件夹 (%localappdata%\Packages\ContosoExpenses_3z09h3y28h0qg\LocalCache\Roaming)。

下一步是将以下文件复制到包的 ContosoExpenses 文件夹:

Contoso Expenses.lnk Contoso.ico StartingScriptWrapper.ps1 createshortcut.ps1

最后一步是创建并安装新版本的应用程序包。 在第一个应用程序初始化期间,createshortcut.ps1 脚本将运行,它将在用户桌面中创建 Contoso Expense 快捷方式。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3