Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Skrip memungkinkan PROFESIONAL TI untuk menyesuaikan aplikasi secara dinamis ke lingkungan pengguna setelah dimasukan menggunakan MSIX. Misalnya, Anda dapat menggunakan skrip untuk mengonfigurasi database Anda, menyiapkan VPN, memasang drive bersama, atau melakukan pemeriksaan lisensi secara dinamis. Skrip memberikan banyak fleksibilitas. Mereka dapat mengubah kunci registri atau melakukan modifikasi file berdasarkan konfigurasi komputer atau server.
Anda dapat menggunakan Package Support Framework (PSF) untuk menjalankan satu skrip PowerShell sebelum aplikasi paket yang dapat dieksekusi berjalan dan satu skrip PowerShell setelah aplikasi yang dapat dieksekusi berjalan untuk membersihkan. Setiap aplikasi yang dapat dieksekusi yang ditentukan dalam manifes aplikasi dapat memiliki skripnya sendiri. Anda dapat mengonfigurasi skrip untuk berjalan sekali saja pada peluncuran aplikasi pertama dan tanpa menampilkan jendela PowerShell sehingga pengguna tidak akan mengakhiri skrip sebelum waktunya secara tidak sengaja. Ada opsi lain untuk mengonfigurasi cara skrip dapat berjalan, yang ditunjukkan di bawah ini.
Prasyarat
Untuk mengaktifkan skrip agar berjalan, Anda perlu mengatur kebijakan eksekusi PowerShell ke RemoteSigned. Anda dapat melakukan ini dengan menjalankan perintah ini:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Kebijakan eksekusi perlu ditetapkan untuk eksekutabel PowerShell 64-bit dan eksekutabel PowerShell 32-bit. Pastikan untuk membuka setiap versi PowerShell dan menjalankan salah satu perintah yang ditunjukkan di atas.
Berikut adalah lokasi setiap executable.
- Komputer 64-bit:
- Executable 64-bit: %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe
- Executable 32-bit: %SystemRoot%\SysWOW64\WindowsPowerShell\v1.0\powershell.exe
- Komputer 32-bit:
- Eksekusi 32-bit: %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe
Untuk informasi selengkapnya tentang kebijakan eksekusi PowerShell, lihat artikel ini.
🚩 Pastikan juga untuk menyertakan file StartingScriptWrapper.ps1 dalam paket Anda dan menempatkannya di folder yang sama dengan executable Anda. Anda dapat menyalin file ini dari paket NuGet PSF atau dari PSF Github repo.
Mengaktifkan skrip
Untuk menentukan skrip apa yang akan dijalankan untuk setiap aplikasi paket yang dapat dieksekusi, Anda perlu memodifikasi fileconfig.json. Untuk memberi tahu PSF untuk menjalankan skrip sebelum eksekusi aplikasi yang dikemas, tambahkan item konfigurasi yang disebut startScript. Untuk memberi tahu PSF untuk menjalankan skrip setelah aplikasi paket selesai menambahkan item konfigurasi yang disebut endScript.
Item konfigurasi skrip
Berikut ini adalah item konfigurasi yang tersedia untuk skrip. Skrip akhir mengabaikan item-item konfigurasi waitForScriptToFinish dan stopOnScriptError.
| Nama kunci | Jenis nilai | Diperlukan? | Bawaan | Deskripsi |
|---|---|---|---|---|
scriptPath |
string | Ya | Tidak tersedia | Jalur ke skrip termasuk nama dan ekstensi. Jalur relatif terhadap direktori kerja aplikasi jika ditentukan, jika tidak, jalur dimulai di direktori akar paket. |
scriptArguments |
string | Tidak. | kosong | Daftar argumen yang dipisahkan oleh spasi. Formatnya sama untuk panggilan skrip PowerShell. String ini ditambahkan ke scriptPath untuk membuat panggilan PowerShell.exe yang valid. |
runInVirtualEnvironment |
Boolean | Tidak. | benar | Menentukan apakah skrip harus berjalan di lingkungan virtual yang sama dengan tempat aplikasi paket berjalan. |
runOnce |
Boolean | Tidak. | benar | Menentukan apakah skrip harus berjalan sekali per pengguna, per versi. |
showWindow |
Boolean | Tidak. | tidak benar | Menentukan apakah jendela PowerShell ditampilkan. |
stopOnScriptError |
Boolean | Tidak. | tidak benar | Menentukan apakah akan keluar dari aplikasi jika skrip awal gagal. |
waitForScriptToFinish |
Boolean | Tidak. | benar | Menentukan apakah aplikasi paket harus menunggu skrip awal selesai sebelum memulai. |
timeout |
DWORD | Tidak. | TAK TERHINGGA | Berapa lama skrip akan diizinkan untuk dijalankan. Ketika waktu berlalu, skrip akan dihentikan. |
Nota
Pengaturan stopOnScriptError: true dan waitForScriptToFinish: false untuk aplikasi sampel tidak didukung. Jika Anda mengatur kedua item konfigurasi ini, PSF akan mengembalikan kesalahan ERROR_BAD_CONFIGURATION.
Contoh konfigurasi
Berikut adalah konfigurasi sampel menggunakan dua executable aplikasi yang berbeda.
{
"applications": [
{
"id": "Sample",
"executable": "Sample.exe",
"workingDirectory": "",
"stopOnScriptError": false,
"startScript":
{
"scriptPath": "RunMePlease.ps1",
"scriptArguments": "\\\"First argument\\\" secondArgument",
"runInVirtualEnvironment": true,
"showWindow": true,
"waitForScriptToFinish": false
},
"endScript":
{
"scriptPath": "RunMeAfter.ps1",
"scriptArguments": "ThisIsMe.txt"
}
},
{
"id": "CPPSample",
"executable": "CPPSample.exe",
"workingDirectory": "",
"startScript":
{
"scriptPath": "CPPStart.ps1",
"scriptArguments": "ThisIsMe.txt",
"runInVirtualEnvironment": true
},
"endScript":
{
"scriptPath": "CPPEnd.ps1",
"scriptArguments": "ThisIsMe.txt",
"runOnce": false
}
}
],
"processes": [
...(taken out for brevity)
]
}