Skrip konversi massal MSIX
Skrip konversi massal di Toolkit MSIX dapat digunakan untuk mengotomatiskan konversi aplikasi Windows ke format paket MSIX. Daftar aplikasi dan detailnya disediakan dalam skrip entry.ps1 .
Menyiapkan komputer untuk konversi
Sebelum menjalankan skrip Konversi Massal MSIX Toolkit, untuk mengotomatiskan konversi aplikasi Anda ke format kemasan MSIX, perangkat yang akan Anda gunakan (virtual, atau jarak jauh) harus dikonfigurasi untuk memungkinkan komunikasi jarak jauh, dan menginstal MSIX Packaging Tool.
Persyaratan | Deskripsi |
---|---|
Komputer Host | Ini adalah perangkat yang menjalankan skrip Konversi Massal. |
Komputer Virtual | Ini adalah perangkat yang ada di Hyper-V, dihosting di Komputer Host. |
Komputer Jarak Jauh | Ini adalah komputer fisik atau virtual yang dapat diakses melalui jaringan. |
Komputer Host
Komputer Host harus memenuhi persyaratan berikut:
- MSIX Packaging Tool harus diinstal.
- Jika Komputer Virtual sedang digunakan, Hyper-V harus diinstal.
- Jika Komputer Jarak Jauh sedang digunakan:
- Perangkat ada di Domain yang sama dengan Komputer Jarak Jauh:
- Mengaktifkan PowerShell Remoting
# Enables PowerShell Remoting Enable-PSRemoting -force
- Mengaktifkan PowerShell Remoting
- Perangkat ada di Grup Kerja atau ke Domain alternatif sebagai Komputer Jarak Jauh:
- PowerShell jarak jauh diaktifkan.
- WinRM Trusted Host harus berisi nama perangkat atau alamat IP Komputer Jarak Jauh
# Enables PowerShell Remoting Enable-PSRemoting -force Set-Item WSMan:\localhost\Client\TrustedHosts -Value <RemoteMachineName>,[<RemoteMachineName>,...]
- Perangkat ada di Domain yang sama dengan Komputer Jarak Jauh:
Komputer Jarak Jauh
Komputer Jarak Jauh harus memenuhi persyaratan berikut:
MSIX Packaging Tool harus diinstal.
Jika perangkat ada dalam domain yang sama dengan Komputer Host:
- Mengaktifkan PowerShell Remoting
- WinRM harus diaktifkan
- Izinkan ICMPv4 melalui firewall klien
# Enables PowerShell Remoting Enable-PSRemoting -force New-NetFirewallRule -DisplayName “ICMPv4” -Direction Inbound -Action Allow -Protocol icmpv4 -Enabled True
Jika perangkat ada dalam grup kerja atau domain alternatif sebagai Komputer Host:
- Mengaktifkan PowerShell Remoting
- Host Tepercaya WinRM harus berisi nama perangkat atau alamat IP Komputer Host
- Izinkan ICMPv4 melalui firewall klien
# Enables PowerShell Remoting Enable-PSRemoting -force New-NetFirewallRule -DisplayName “ICMPv4” -Direction Inbound -Action Allow -Protocol icmpv4 -Enabled True Set-Item WSMan:\localhost\Client\TrustedHosts -Value <HostMachineName>
Komputer Virtual
Disarankan agar gambar "MSIX Packaging Tools Environment" Buat Cepat Hyper-V digunakan, karena telah dikonfigurasi sebelumnya untuk memenuhi semua persyaratan. Komputer virtual harus dihosting di Komputer Host dan berjalan dalam Microsoft Hyper-V.
Komputer Virtual harus memenuhi persyaratan berikut:
- MSIX Packaging Tool harus diinstal.
Sintaks
entry.ps1
Deskripsi
Ini adalah sekumpulan skrip PowerShell yang menyediakan kemampuan untuk mengemas aplikasi secara massal ke dalam format paket MSIX. Skrip ini akan terhubung ke komputer virtual lokal atau komputer jarak jauh yang akan digunakan untuk mengemas setiap aplikasi.
Aplikasi yang dimasukan ke dalam format aplikasi MSIX akan dikonversi dalam urutan yang dimasukkan dalam skrip entry.ps1 . Komputer jarak jauh yang tercantum dalam skrip entry.ps1 akan digunakan untuk mengemas aplikasi ke dalam format MSIX akan digunakan secara tunggal. Komputer virtual dapat digunakan beberapa kali untuk mengemas aplikasi yang berbeda ke dalam format aplikasi MSIX.
Sebelum menjalankan skrip, Anda harus terlebih dahulu menambahkan aplikasi yang ingin Anda konversi ke conversionsParameters
variabel dalam skrip. Beberapa aplikasi dapat ditambahkan ke variabel . Skrip memanfaatkan aplikasi dan komputer jarak jauh/virtual untuk membuat file XML yang diformat untuk memenuhi persyaratan MSIX Packaging Tool (MsixPackagingTool.exe). Setelah membuat file XML, skrip run_job.ps1 dijalankan dalam proses PowerShell baru yang menjalankan MsixPackagingTool.exe pada perangkat target untuk mengonversi aplikasi dan menempatkannya di folder .\Out yang terletak di folder eksekusi skrip.
Contoh
PS C:\> entry.ps1
Contoh Ths menjalankan skrip entry.ps1 . Skrip ini mengonversi aplikasi yang ditentukan dalam conversionsParameters
variabel menjadi paket MSIX. Aplikasi dikonversi menggunakan komputer virtual atau komputer jarak jauh yang ditunjukkan dalam variabel virtualMachines dan remoteMachines .
Parameter
virtualMachines
Parameter virtualMachines
adalah array yang berisi nama dan kredensial komputer virtual untuk disambungkan dan diakses saat mengemas aplikasi ke dalam format MSIX.
- Jenis: Array
- Diperlukan: Tidak
$virtualMachines = @(
@{
Name = "MSIX Packaging Tool Environment"; # Name of the virtual machine as listed in the Hyper-V Management console
Credential = $credential # Credentials used to connect/login to the virtual machine.
}
)
Komputer virtual yang ditentukan akan digunakan untuk mengemas aplikasi ke dalam format MSIX. Komputer virtual ini akan terhubung ke menggunakan kredensial yang dimasukkan ketika diminta (perintah muncul langsung setelah eksekusi skrip entry.ps1 ). Sebelum mengemas aplikasi ke format kemasan MSIX, skrip akan membuat rekam jepret VM Hyper-V, lalu dipulihkan ke rekam jepret ini setelah aplikasi dikemas.
remoteMachines
Parameter remoteMachines
adalah array yang berisi nama dan kredensial komputer jarak jauh untuk disambungkan dan diakses saat mengemas aplikasi ke dalam format MSIX. Komputer jarak jauh yang ditentukan akan menjadi perangkat sekali pakai yang digunakan untuk mengemas satu aplikasi.
Komputer jarak jauh harus dapat diakses dan dapat ditemukan pada jaringan.
- Jenis: Array
- Diperlukan: Tidak
$remoteMachines = @(
@{
ComputerName = "Computer.Domain.com"; # The fully qualified name of the remote machine.
Credential = $credential } # Credentials used to connect/login to the remote machine.
)
Komputer jarak jauh yang ditentukan akan digunakan untuk mengemas satu aplikasi ke dalam format MSIX. Komputer jarak jauh ini akan terhubung ke menggunakan kredensial yang dimasukkan ketika diminta (perintah muncul langsung setelah eksekusi skrip entry.ps1 ).
Pastikan bahwa nama domain yang sepenuhnya memenuhi syarat atau alias perangkat yang menghadap eksternal dapat diselesaikan sebelum eksekusi skrip entry.ps1 .
signingCertificate
Parameter signingCertificate
adalah array yang berisi informasi yang terkait dengan sertifikat penandatanganan kode yang akan digunakan untuk menandatangani aplikasi yang dikemas. Sertifikat ini harus memiliki tingkat enkripsi minimal SHA256.
- Jenis: Array
- Diperlukan: Tidak
$SigningCertificate = @{
Password = "Password";
Path = "C:\Temp\ContosoLab.pfx"
}
conversionsParameters
Parameter conversionsParameters
adalah array yang berisi informasi tentang aplikasi yang ingin Anda konversi ke format MSIX. Setiap aplikasi dalam array akan diurai satu per satu dan dijalankan melalui konversi paket MSIX pada komputer jarak jauh atau komputer virtual. Aplikasi akan dikonversi sesuai urutan kemunculannya dalam skrip. Jika konversi ke format MSIX gagal, skrip tidak akan mencoba mengonversi ulang aplikasi pada komputer jarak jauh atau komputer virtual yang berbeda.
- Jenis: Array
- Diperlukan: Ya
$conversionsParameters = @(
## Use for MSI applications:
@{
InstallerPath = "C:\Path\To\YourInstaller.msi"; # Full path to the installation media (local or remote paths).
PackageName = "YourApp"; # Application Display Name - name visible in the start menu.
PackageDisplayName = "Your App"; # Application Name - Can not contain special characters.
PublisherName = "CN=YourCompany"; # Certificate Publisher information - must match signing certificate
PublisherDisplayName = "YourCompany"; # Application Publisher name
PackageVersion = "1.0.0.0" # MSIX Application version (must contain 4 octets).
},
## Use for EXE or other applications:
@{
InstallerPath = "Path\To\YourInstaller.exe"; # Full path to the installation media (local or remote paths).
PackageName = "YourApp"; # Application Display Name - name visible in the start menu.
PackageDisplayName = "Your App"; # Application Name - Can not contain special characters.
PublisherName = "CN=YourCompany"; # Certificate Publisher information - must match signing certificate
PublisherDisplayName = "YourCompany"; # Application Publisher name
PackageVersion = "1.0.0.0"; # MSIX Application version (must contain 4 octets).
InstallerArguments = "/SilentInstallerArguement" # Arguements required by the installer to provide a silent installation of the application.
},
## Creating the Packaged app and Template file in a specific folder path:
@{
InstallerPath = "Path\To\YourInstaller.exe"; # Full path to the installation media (local or remote paths).
PackageName = "YourApp"; # Application Display Name - name visible in the start menu.
PackageDisplayName = "Your App"; # Application Name - Can not contain special characters.
PublisherName = "CN=YourCompany"; # Certificate Publisher information - must match signing certificate
PublisherDisplayName = "YourCompany"; # Application Publisher name
PackageVersion = "1.0.0.0"; # MSIX Application version (must contain 4 octets).
InstallerArguments = "/SilentInstallerArguement"; # Arguements required by the installer to provide a silent installation of the application.
SavePackagePath = "Custom\folder\Path"; # Specifies a custom folder path where the MSIX app will be created.
SaveTemplatePath = "Custom\folder\Path" # Specifies a custom folder path where the MSIX Template XML will be created.
}
)
Informasi aplikasi yang disediakan dalam conversionsParameters
variabel akan digunakan untuk menghasilkan file XML dengan semua detail aplikasi yang diperlukan. Setelah membuat file XML, skrip kemudian akan meneruskan file XML ke MSIX Packaging Tool (MsixPackagingTool.exe) untuk dikemas.
Pencatatan
Skrip akan menghasilkan file log yang menguraikan apa yang telah ditranspirasi sepanjang eksekusi skrip. File log akan memberikan detail yang terkait dengan kemasan aplikasi ke format kemasan MSIX, dan informasi yang terkait dengan perkembangan skrip. Log dapat dibaca dari utilitas teks apa pun, tetapi telah dikonfigurasi untuk membaca menggunakan pembaca log Trace32. Kesalahan dalam eksekusi skrip akan disorot sebagai Merah, dan Peringatan berwarna kuning. Untuk informasi selengkapnya tentang pembaca log Trace 32, silakan kunjungi CMTrace.
File log dibuat dalam direktori .\logs\BulkConversion.log
skrip .