Bagikan melalui


Meluncurkan aplikasi Windows dengan parameter

Investigasi

Beberapa peluncur aplikasi Windows di menu mulai mengharuskan penggunaan parameter diteruskan ke yang dapat dieksekusi saat meluncurkan aplikasi Windows. Untuk mencapai hal ini, pertama-tama kita perlu mengidentifikasi peluncur yang memerlukan parameter sebelum mengintegrasikan Aplikasi Windows dengan Kerangka Kerja Dukungan Paket.

Mengidentifikasi persyaratan parameter peluncur aplikasi Windows

  1. Instal aplikasi Windows Anda di mesin uji.

  2. Buka Menu Mulai Windows.

  3. Temukan dan pilih peluncur aplikasi Windows Anda dari dalam Menu Mulai.

  4. Jika Aplikasi diluncurkan, maka Anda tidak memiliki masalah (uji semua peluncur aplikasi Windows terkait di Menu Mulai).

  5. Hapus instalan aplikasi Windows dari mesin uji.

  6. Dengan menggunakan media penginstalan Win32, instal aplikasi ke mesin uji Anda.

  7. Buka Menu Mulai Windows.

  8. Temukan dan klik kanan pada aplikasi Windows Anda dari dalam Menu Mulai.

  9. Pilih Lainnya>>Buka Lokasi File dari dalam menu drop-down.

  10. Klik kanan pada pintasan aplikasi terkait pertama (ulangi tiga langkah berikutnya untuk semua pintasan aplikasi terkait).

  11. Pilih Properti dari menu drop-down.

  12. Tinjau nilai dalam kotak teks di sebelah kanan Target. Setelah jalur file aplikasi, jika ada parameter yang tercantum, aplikasi ini Example of the File Property Window with Parameter in Target

  13. Catat nilai parameter untuk penggunaan di masa mendatang.

Resolusi

Aplikasi Windows akan mengalihkan direktori tertentu yang terkait dengan aplikasi ke C:\Program Files\WindowsApps folder. Jika aplikasi mencoba menulis ke kontainer aplikasi Windows, kesalahan akan memicu, dan penulisan akan gagal.

Untuk mengatasi masalah yang terkait dengan aplikasi Windows yang gagal menulis ke kontainer aplikasi Windows, kita harus mengikuti empat langkah berikut:

  1. Tahapkan aplikasi Windows ke direktori lokal
  2. Membuat Config.json dan menyuntikkan File PSF yang diperlukan
  3. Memperbarui file AppxManifest aplikasi Windows
  4. Mengemas ulang dan menandatangani aplikasi Windows

Langkah-langkah di atas memberikan panduan melalui mengekstrak konten aplikasi Windows ke direktori bertahap lokal, menyuntikkan file perbaikan PSF ke direktori aplikasi Windows bertahap, mengonfigurasi Peluncur Aplikasi untuk mengarahkan ke peluncur PSF, lalu mengonfigurasi file PSF config.json untuk mengalihkan peluncur PSF ke aplikasi yang menentukan direktori kerja.

Mengunduh dan menginstal alat yang diperlukan

Proses ini akan memandu Anda melalui pengambilan, dan penggunaan alat berikut:

  • Alat Klien NuGet
  • Kerangka Kerja Dukungan Paket
  • Windows 10 SDK (versi terbaru)
  • Monitor Proses SysInternals

Berikut ini akan memberikan panduan langkah demi langkah tentang mengunduh dan menginstal alat yang diperlukan.

  1. Unduh versi terbaru (non-pratinjau) alat klien NuGet, dan simpan nuget.exe di C:\PSF\nuget folder.

  2. Unduh Kerangka Kerja Dukungan Paket menggunakan Nuget dengan menjalankan hal berikut dari jendela PowerShell Administratif:

    Set-Location "C:\PSF"
    .\nuget\nuget.exe install Microsoft.PackageSupportFramework
    
  3. Unduh dan instal Toolkit Pengembangan Perangkat Lunak Windows 10 (Win 10 SDK).

    1. Unduh Win 10 SDK.
    2. Jalankan winsdksetup.exe yang diunduh di langkah sebelumnya.
    3. Pilih tombol Berikutnya.
    4. Pilih hanya tiga fitur berikut untuk diinstal:
      • Alat Penandatanganan Windows SDK untuk Aplikasi Desktop
      • Windows SDK untuk Aplikasi C++ UWP
      • Windwos SDK untuk Pelokalan Aplikasi UWP
    5. Pilih tombol Instal.
    6. Pilih tombol Ok .

Tahapkan aplikasi Windows

Dengan penahapan aplikasi Windows, kami akan mengekstrak/ membongkar konten aplikasi Windows ke direktori lokal. Setelah aplikasi Windows dibuka ke lokasi penahapan, file perbaikan PSF dapat disuntikkan untuk memperbaiki pengalaman yang tidak diinginkan.

  1. Buka jendela PowerShell Administratif.

  2. Atur variabel berikut yang menargetkan file aplikasi spesifik Anda, dan versi Windows 10 SDK:

    $AppPath          = "C:\PSF\SourceApp\PSFSampleApp.msix"         ## Path to the MSIX App Installer
    $StagingFolder    = "C:\PSF\Staging\PSFSampleApp"                ## Path to where the MSIX App will be staged
    $OSArchitecture   = "x$((gcim Win32_Processor).AddressWidth)"    ## Operating System Architecture
    $Win10SDKVersion  = "10.0.19041.0"                               ## Latest version of the Win10 SDK
    
  3. Buka kemasan aplikasi Windows ke folder penahapan dengan menjalankan cmdlet PowerShell berikut:

    ## Sets the directory to the Windows 10 SDK
    Set-Location "${env:ProgramFiles(x86)}\Windows Kits\10\Bin\$Win10SDKVersion\$OSArchitecture"
    
    ## Unpackages the Windows app to the staging folder
    .\makeappx.exe unpack /p "$AppPath" /d "$StagingFolder"
    

Membuat dan menyuntikkan File PSF yang diperlukan

Untuk menerapkan tindakan korektif ke aplikasi Windows, file config.json harus dibuat, dan disediakan dengan informasi tentang peluncur aplikasi Windows yang gagal. Jika ada beberapa peluncur aplikasi Windows yang mengalami masalah, file config.json dapat diperbarui dengan beberapa entri.

Setelah memperbarui file config.json , file config.json dan file perbaikan PSF pendukung kemudian harus dipindahkan ke akar paket aplikasi Windows.

  1. Buka Visual Studio Code (VISUAL Code), atau editor teks lainnya.

  2. Buat file baru, dengan memilih menu File di bagian atas Visual Studio Code, memilih File Baru dari menu drop-down.

  3. Simpan file sebagai config.json, dengan memilih menu File di bagian atas jendela Visual Studio Code, pilih Simpan dari menu drop-down. Di jendela Simpan Sebagai, navigasikan ke direktori penahapan aplikasi Windows (C:\PSF\Staging\PSFSampleApp) dan atur Nama File sebagai config.json. Pilih tombol Simpan.

  4. Salin kode berikut ke file config.json yang baru dibuat.

    {
        "applications": [
            {
                "id": "",
                "executable": "",
                "arguments": ""
            }
        ]
    }
    
  5. Buka file AppxManifest aplikasi Windows bertahap yang terletak di folder penahapan aplikasi Windows (C:\PSF\Staging\PSFSampleApp\AppxManifest.xml) menggunakan Visual Studio Code, atau editor teks lainnya.

    <Applications>
        <Application Id="PSFSAMPLE" Executable="VFS\ProgramFilesX64\PS Sample App\PSFSample.exe" EntryPoint="Windows.FullTrustApplication">
        <uap:VisualElements BackgroundColor="transparent" DisplayName="PSFSample" Square150x150Logo="Assets\StoreLogo.png" Square44x44Logo="Assets\StoreLogo.png" Description="PSFSample">
            <uap:DefaultTile Wide310x150Logo="Assets\StoreLogo.png" Square310x310Logo="Assets\StoreLogo.png" Square71x71Logo="Assets\StoreLogo.png" />
        </uap:VisualElements>
        </Application>
    </Applications>
    
  6. applications.id Atur nilai di config.json menjadi nilai yang sama seperti yang ditemukan di bidang Applications.Application.ID file AppxManifest.xml. Image circling the location of the ID within the AppxManifest file.

  7. Atur applications.executable nilai di config.json untuk menargetkan jalur relatif ke aplikasi yang terletak di bidang Applications.Application.Executable dari file AppxManifest.xml . Image circling the location of the executable within the AppxManifest file.

  8. Atur applications.arguments nilai di config.json agar cocok dengan argumen yang digunakan untuk meluncurkan aplikasi. Lihat nilai yang direkam dari langkah terakhir Investigasi - Mengidentifikasi panduan persyaratan parameter peluncur aplikasi Windows.

  9. Atur applications.workingdirectory nilai di config.json untuk menargetkan jalur folder relatif yang ditemukan di bidang Applications.Application.Executable dari file AppxManifest.xml . Image circling the location of the working directory within the AppxManifest file.

  10. Simpan file config.json yang diperbarui.

    {
        "applications": [
            {
            "id": "PSFSample",
            "executable": "VFS/ProgramFilesX64/PS Sample App/PSFSample.exe",
            "arguments": "/bootfromsettingshortcut"
            }
        ]
    }
    
  11. Salin empat file berikut dari Package Support Framework berdasarkan arsitektur aplikasi yang dapat dieksekusi ke akar aplikasi Windows yang ditahapkan. File berikut terletak di dalam .\Microsoft.PackageSupportFramework.<Versi>\bin.

    Aplikasi (x64) Aplikasi (x86)
    PSFLauncher64.exe PSFLauncher32.exe
    PSFRuntime64.dll PSFRuntime32.dll
    PSFRunDll64.exe PSFRunDll32.exe

Memperbarui AppxManifest

Setelah membuat dan memperbarui file config.json, AppxManifest.xml aplikasi Windows harus diperbarui untuk setiap peluncur aplikasi Windows yang disertakan dalam config.json. Aplikasi AppxManifest sekarang harus menargetkan PSFLauncher.exe yang terkait dengan arsitektur aplikasi.

  1. Buka File Explorer, dan navigasikan ke folder Aplikasi MSIX Bertahap (C:\PSF\Staging\PSFSampleApp).

  2. Klik kanan pada AppxManifest.xml, dan pilih Buka dengan Kode dari menu drop-down (Secara opsional, Anda dapat membuka dengan editor teks lain).

  3. Perbarui file AppxManifest.xml dengan informasi berikut:

    <Package ...>
    ...
    <Applications>
        <Application Id="PSFSample"
                    Executable="PSFLauncher32.exe"
                    EntryPoint="Windows.FullTrustApplication">
        ...
        </Application>
    </Applications>
    </Package>
    

Mengemas ulang aplikasi

Semua koreksi telah diterapkan, sekarang aplikasi Windows dapat dipaketkan ulang ke dalam MSIX, dan ditandatangani menggunakan sertifikat penandatanganan kode.

  1. Buka Jendela PowerShell Administratif.

  2. Atur variabel berikut:

    $AppPath          = "C:\PSF\SourceApp\PSFSampleApp_Updated.msix" ## Path to the MSIX App Installer
    $CodeSigningCert  = "C:\PSF\Cert\CodeSigningCertificate.pfx"     ## Path to your code signing certificate
    $CodeSigningPass  = "<Password>"                                 ## Password used by the code signing certificate
    $StagingFolder    = "C:\PSF\Staging\PSFSampleApp"                ## Path to where the MSIX App will be staged
    $OSArchitecture   = "x$((gcim Win32_Processor).AddressWidth)"    ## Operating System Architecture
    $Win10SDKVersion  = "10.0.19041.0"                               ## Latest version of the Win10 SDK
    
  3. Kemas ulang aplikasi Windows dari folder penahapan dengan menjalankan cmdlet PowerShell berikut:

    Set-Location "${env:ProgramFiles(x86)}\Windows Kits\10\Bin\$Win10SDKVersion\$OSArchitecture"
    .\makeappx.exe pack /p "$AppPath" /d "$StagingFolder"
    
  4. Tanda tangani aplikasi Windows dengan menjalankan cmdlet PowerShell berikut:

    Set-Location "${env:ProgramFiles(x86)}\Windows Kits\10\Bin\$Win10SDKVersion\$OSArchitecture"
    .\signtool.exe sign /v /fd sha256 /f $CodeSigningCert /p $CodeSigningPass $AppPath