Bagikan melalui


Menerbitkan aplikasi WPF dengan gaya visual diaktifkan

Gaya visual memungkinkan tampilan kontrol umum berubah berdasarkan tema yang dipilih oleh pengguna. Secara default, gaya visual tidak diaktifkan untuk aplikasi Windows Presentation Foundation (WPF), jadi Anda harus mengaktifkannya secara manual. Namun, mengaktifkan gaya visual untuk aplikasi WPF dan kemudian menerbitkan solusi menyebabkan kesalahan. Topik ini menjelaskan cara mengatasi kesalahan ini dan proses untuk menerbitkan aplikasi WPF dengan gaya visual diaktifkan. Untuk informasi selengkapnya tentang gaya visual, lihat Gambaran umum gaya visual. Untuk informasi selengkapnya tentang pesan kesalahan, lihat Memecahkan masalah kesalahan tertentu dalam penyebaran ClickOnce.

Untuk mengatasi kesalahan dan menerbitkan solusi, Anda harus melakukan tugas berikut:

Menerbitkan solusi tanpa gaya visual diaktifkan

  1. Pastikan proyek Anda tidak mengaktifkan gaya visual. Pertama, periksa file manifes proyek Anda untuk XML berikut. Kemudian, jika XML ada, sertakan XML dengan tag komentar.

    Secara default, gaya visual tidak diaktifkan.

    <dependency>
        <dependentAssembly>
            <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" />
        </dependentAssembly>
    </dependency>
    

    Prosedur berikut menunjukkan cara membuka file manifes yang terkait dengan proyek Anda.

    Untuk membuka file manifes dalam proyek Visual Basic

    1. Pada bilah menu, pilih Project, ProjectNameProperties, di mana ProjectName adalah nama proyek WPF Anda.

      Halaman properti untuk proyek WPF Anda muncul.

    2. Pada tab Aplikasi, pilih Tampilkan Windows Pengaturan.

      File app.manifest terbuka di Editor Kode.

    Untuk membuka file manifes dalam proyek C#

    1. Pada bilah menu, pilih Project, ProjectNameProperties, di mana ProjectName adalah nama proyek WPF Anda.

      Halaman properti untuk proyek WPF Anda muncul.

    2. Pada tab Aplikasi , catat nama yang muncul di bidang manifes. Ini adalah nama manifes yang terkait dengan proyek Anda.

      Catatan

      Jika Sematkan manifes dengan pengaturan default atau Buat aplikasi tanpa manifes muncul di bidang manifes, gaya visual tidak diaktifkan. Jika nama file manifes muncul di bidang manifes, lanjutkan ke langkah berikutnya dalam prosedur ini.

    3. Di Penjelajah Solusi, pilih Tampilkan Semua File.

      Tombol ini menunjukkan semua item proyek, termasuk item yang telah dikecualikan dan item yang biasanya disembunyikan. File manifes muncul sebagai item proyek.

  2. Bangun dan terbitkan solusi Anda. Untuk informasi selengkapnya tentang cara menerbitkan solusi, lihat Cara: Menerbitkan aplikasi ClickOnce menggunakan Wizard Terbitkan.

Membuat file manifes

  1. Tempelkan XML berikut ke dalam file.

    XML ini menjelaskan rakitan yang berisi kontrol yang mendukung gaya visual.

    <?xml version="1.0" encoding="utf-8"?>
    <asmv1:assembly manifestVersion="1.0"
        xmlns="urn:schemas-microsoft-com:asm.v1"
        xmlns:asmv1="urn:schemas-microsoft-com:asm.v1"
        xmlns:asmv2="urn:schemas-microsoft-com:asm.v2"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <dependency>
            <dependentAssembly>
                <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" />
            </dependentAssembly>
        </dependency>
    </asmv1:assembly>
    
  2. Di Notepad, klik File, lalu klik Simpan Sebagai.

  3. Dalam kotak dialog Simpan Sebagai , di daftar drop-down Simpan sebagai jenis , pilih Semua File.

  4. Dalam kotak Nama file, beri nama file dan tambahkan .manifest ke akhir nama file. Misalnya: themes.manifest.

  5. Pilih tombol Telusuri Folder , pilih folder apa pun, lalu klik Simpan.

    Catatan

    Prosedur yang tersisa mengasumsikan bahwa nama file ini adalah themes.manifest dan bahwa file disimpan ke direktori C:\temp di komputer Anda.

Sematkan file manifes ke dalam file yang dapat dieksekusi dari solusi yang diterbitkan

  1. Buka Prompt Perintah Pengembang untuk Visual Studio.

    Untuk informasi selengkapnya tentang cara membuka Developer Command Prompt untuk Visual Studio, lihat Developer Command Prompt dan Developer PowerShell.

    Catatan

    Langkah-langkah yang tersisa membuat asumsi berikut tentang solusi Anda:

    • Nama solusinya adalah MyWPFProject.

    • Solusinya terletak di direktori berikut: %UserProfile%\Documents\Visual Studio version\Projects\.

    • Solusinya diterbitkan ke direktori berikut: %UserProfile%\Documents\Visual Studio version\Projects\publish.

    • Versi terbaru dari file aplikasi yang diterbitkan terletak di direktori berikut: %UserProfile%\Documents\Visual Studio version\Projects\publish\Application Files\WPFApp_1_0_0_0

    Anda tidak perlu menggunakan nama atau lokasi direktori yang dijelaskan di atas. Nama dan lokasi yang dijelaskan di atas hanya digunakan untuk mengilustrasikan langkah-langkah yang diperlukan untuk menerbitkan solusi Anda.

  2. Pada prompt perintah, ubah jalur ke direktori yang berisi versi terbaru dari file aplikasi yang diterbitkan. Contoh berikut menunjukkan langkah ini.

    cd "%UserProfile%\Documents\Visual Studio version\Projects\MyWPFProject\publish\Application Files\WPFApp_1_0_0_0"
    
  3. Pada prompt perintah, jalankan perintah berikut untuk menyematkan file manifes ke dalam file aplikasi yang dapat dieksekusi.

    mt -manifest c:\temp\themes.manifest -outputresource:MyWPFApp.exe.deploy
    

Menandatangani manifes aplikasi dan penyebaran

  1. Pada prompt perintah, jalankan perintah berikut untuk menghapus ekstensi .deploy dari file yang dapat dieksekusi di direktori saat ini.

    ren MyWPFApp.exe.deploy MyWPFApp.exe
    

    Catatan

    Contoh ini mengasumsikan bahwa hanya satu file yang memiliki ekstensi file .deploy . Pastikan Anda mengganti nama semua file di direktori ini yang memiliki ekstensi file .deploy .

  2. Pada prompt perintah, jalankan perintah berikut untuk menandatangani manifes aplikasi.

    mage -u MyWPFApp.exe.manifest -cf ..\..\..\MyWPFApp_TemporaryKey.pfx
    

    Catatan

    Contoh ini mengasumsikan bahwa Anda menandatangani manifes dengan menggunakan file .pfx proyek. Jika Anda tidak menandatangani manifes, Anda dapat menghilangkan -cf parameter yang digunakan dalam contoh ini. Jika Anda menandatangani manifes dengan sertifikat yang memerlukan kata sandi, tentukan -password opsi (For example: mage -u MyWPFApp.exe.manifest -cf ..\..\..\MyWPFApp_TemporaryKey.pfx - password Password).

  3. Pada prompt perintah, jalankan perintah berikut untuk menambahkan ekstensi .deploy ke nama file yang Anda ganti namanya di langkah sebelumnya dari prosedur ini.

    ren MyWPFApp.exe MyWPFApp.exe.deploy
    

    Catatan

    Contoh ini mengasumsikan bahwa hanya satu file yang memiliki ekstensi file .deploy . Pastikan Anda mengganti nama semua file di direktori ini yang sebelumnya memiliki ekstensi nama file .deploy .

  4. Pada prompt perintah, jalankan perintah berikut untuk menandatangani manifes penyebaran.

    mage -u ..\..\MyWPFApp.application -appm MyWPFApp.exe.manifest -cf ..\..\..\MyWPFApp_TemporaryKey.pfx
    

    Catatan

    Contoh ini mengasumsikan bahwa Anda menandatangani manifes dengan menggunakan file .pfx proyek. Jika Anda tidak menandatangani manifes, Anda dapat menghilangkan -cf parameter yang digunakan dalam contoh ini. Jika Anda menandatangani manifes dengan sertifikat yang memerlukan kata sandi, tentukan -password opsi , seperti dalam contoh ini:For example: mage -u MyWPFApp.exe.manifest -cf ..\..\..\MyWPFApp_TemporaryKey.pfx - password Password.

    Setelah melakukan langkah-langkah ini, Anda dapat memindahkan file yang diterbitkan ke lokasi tempat Anda ingin pengguna akhir menginstal aplikasi. Jika Anda ingin sering memperbarui solusi, Anda dapat memindahkan perintah ini ke dalam skrip dan menjalankan skrip setiap kali Anda menerbitkan versi baru.