Membuat pintasan aplikasi dengan menjalankan skrip menggunakan Kerangka Kerja Dukungan Paket
Dokumen ini akan menunjukkan kepada Anda cara membuat pintasan aplikasi menggunakan Package Support Framework (PSF) yang menjalankan skrip melalui MSIX Packaging Tool dan aplikasi Contoso Expense WPF.
Idenya adalah menyalin pintasan aplikasi, yang akan tersedia di dalam paket, ke Desktop pengguna melalui skrip PSF.
Ada beberapa hal yang perlu diingat:
- Hanya buat pintasan jika benar-benar diperlukan. Tujuannya adalah untuk tidak mengacaukan desktop pengguna.
- Aplikasi MSIX harus diinstal sebelum membuat pintasan, sehingga kita dapat menentukan jalur aplikasi MSIX selama pembuatan pintasan.
- Pada saat yang sama, jalur aplikasi MSIX dapat berubah, setelah memiliki nomor versi yang ditentukan dalam folder penginstalan. Contoh jalur penginstalan Pengeluaran Contoso:
C:\Program Files\WindowsApps\ContosoExpenses_1.0.0.0
_x86__3z09h3y28h0qg
Untuk menghindari harus mengubah pintasan aplikasi setiap kali aplikasi diperbarui, buat pintasan dengan menunjuk ke AppExecutionAlias. AppExecutionAlias memungkinkannya meluncurkan aplikasi dengan nilai yang ditentukan dalam sesi alias manifes aplikasi, sehingga tidak perlu menentukan jalur aplikasi lengkap. Oleh karena itu, sebelum membuat pintasan, tentukan alias dalam manifes aplikasi. Jika tidak, Windows Explorer tidak akan mengenali alias dan tidak akan memungkinkan kami untuk membuat pintasan.
Membuat alias aplikasi
Klik item menu Informasi paket dan klik Buka File, tersedia di bagian bawah UI, untuk mengedit manifes aplikasi:
Sertakan namespace berikut, yang akan digunakan untuk membuat alias, sebagai berikut:
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3" xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
Sertakan nilai uap3 dan desktop dalam elemen IgnorableNamespaces :
IgnorableNamespaces="uap uap3 desktop rescap build"
Sertakan alias eksekusi aplikasi setelah elemen /uap:VisualElements>:<
<Extensions>
<uap3:Extension Category="windows.appExecutionAlias"
Executable="ContosoExpenses\ContosoExpenses.exe"
EntryPoint="Windows.FullTrustApplication">
<uap3:AppExecutionAlias>
<desktop:ExecutionAlias Alias="contosoexpenses.exe" />
</uap3:AppExecutionAlias>
</uap3:Extension>
</Extensions>
Mengikuti manifes dengan modifikasi:
Simpan dan tutup file manifes.
Beralih kembali ke MSIX Packaging Tool dan buat paket baru. Setelah paket dibuat, instal paket dan mulai aplikasi melalui alias, misalnya, dengan menekan Win+R dan mengetik contosoexpenses:
Sekarang setelah alias dibuat, dimungkinkan untuk melanjutkan ke langkah berikutnya.
Membuat pintasan aplikasi
Buat pintasan aplikasi baru di folder preferensi Anda menggunakan alias contosoexpenses.exe, sebagai berikut:
Beri nama pintasan untuk Pengeluaran Contoso:
Secara default, pintasan akan menjadi ikon generik:
Mengubah pintasan sangat mudah tetapi tantangannya di sini adalah menghindari penggunaan jalur aplikasi lengkap yang memiliki nomor versi dan yang dapat berubah dalam pembaruan di masa mendatang. Salah satu cara untuk menyelesaikan ini, adalah menyalin ikon dari paket ke %appdata% yang digunakan oleh aplikasi MSIX, yaitu folder %localappdata%\Packages\ContosoExpenses_3z09h3y28h0qg\LocalCache\Roaming_ yang tidak memiliki nomor versi.
Untuk mengubah pintasan aplikasi, untuk saat ini, diperlukan untuk menyalin ikon secara manual ke folder tersebut. Ini akan diotomatisasi nanti menggunakan skrip PSF.
Sekarang, dimungkinkan untuk mengubah ikon pintasan ke jalur %localappdata%:
Masih di properti pintasan, manfaatkan dan ubah nilai target dan mulai di properti para %localappdata%\Microsoft\WindowsApps\contosoexpenses.exe e %localappdata%\Microsoft\WindowsApps masing-masing:
Sekarang setelah pintasan berfungsi, langkah selanjutnya adalah menambahkannya ke paket dan mengotomatiskan proses pembuatan.
Mendapatkan file PSF
Unduh PSFBinaries.zip dari repositori PSF Github.
Ekstrak file 32-bit atau 64-bit yang diperlukan ke akar direktori paket Anda, tergantung apakah aplikasi Anda 32 atau 64-bit. Gunakan tabel berikut sebagai panduan.
Aplikasi yang dapat dieksekusi adalah x64 | Aplikasi yang dapat dieksekusi adalah x86 |
---|---|
PSFLauncher64.exe | PSFLauncher32.exe |
PSFRuntime64.dll | PSFRuntime32.dll |
Sertakan file PSF dalam paket
Edit Contoso Expense melalui MSIX Packaging Tool :
Klik item menu File Paket, klik dengan tombol kanan pada folder Paket dan pilih Tambahkan File...:
Karena build ContosoExpense di sini adalah 32-bit, itu ditambahkan file yang diperlukan PSF 32-bit. Konten paket Anda sekarang akan terlihat seperti ini:
Memperbarui manifes paket untuk PSF
Klik item menu Informasi paket dan klik Buka File, tersedia di bagian bawah UI, untuk mengedit manifes aplikasi:
Dalam langkah ini, perlu untuk mengubah titik masuk aplikasi (ContosoExpenses\ContosoExpenses.exe) oleh PSFLauncher32.exe.
<Application Id="App" Executable="PSFLauncher32.exe" EntryPoint="Windows.FullTrustApplication">
Simpan dan tutup file manifes.
Membuat file config.json
Beralih kembali ke MSIX Packaging Tool, klik File paket, pilih folder Paket dan tambahkan file config.json baru dengan konten berikut.
{
"applications": [
{
"id": "App",
"executable": "ContosoExpenses\\ContosoExpenses.exe",
"workingDirectory": "ContosoExpenses\\",
"startScript":
{
"scriptPath": "createshortcut.ps1",
"runInVirtualEnvironment": false,
"waitForScriptToFinish": true,
"showWindow": false,
"runOnce": true
}
}
]
}
👀 Amati bahwa id aplikasi sama dari manifes:
File config.json harus dibuat di root paket, sebagai berikut:
File config.json sedang digunakan untuk menentukan bahwa skrip createshortcut.ps1 harus berjalan hanya sekali dalam inisialisasi aplikasi pertama. Saat direktori kerja diatur ke ContosoExpenses, skrip createshortcut.ps1 (yang akan dibuat nanti) dan skrip StartingScriptWrapper.ps1 (dari file PSF) harus ditambahkan ke folder ContosoExpenses.
Membuat skrip PowerShell
Buat skrip createshortcut.ps1 dengan konten berikut:
Copy-Item "Contoso Expenses.lnk" "$env:USERPROFILE\desktop\Contoso Expenses.lnk"
Copy-Item "contoso.ico" $env:APPDATA\contoso.ico
Skrip createshortcut.ps1 akan menyalin pintasan "Contoso Expenses.lnk" , yang dibuat sebelumnya dan yang akan tersedia di dalam paket, ke desktop pengguna. Instruksi kedua, menyalin contoso.icon ke folder MSIX APPDATA (%localappdata%\Packages\ContosoExpenses_3z09h3y28h0qg\LocalCache\Roaming).
Langkah selanjutnya adalah menyalin file berikut ke folder ContosoExpenses dari paket:
- Contoso Expenses.lnk
- Contoso.ico
- StartingScriptWrapper.ps1
- createshortcut.ps1
Terakhir, langkah terakhir adalah membuat dan menginstal versi baru paket aplikasi. Selama inisialisasi aplikasi pertama, skrip createshortcut.ps1 akan berjalan dan akan membuat pintasan Contoso Expense di Desktop pengguna.