Bagikan melalui


Mendistribusikan aplikasi desktop kemasan Anda

Jika Anda memutuskan untuk mengemas aplikasi desktop Anda dalam paket MSIX (lihat Membangun paket MSIX dari kode Anda), Anda dapat menerbitkan aplikasi paket Anda ke Microsoft Store atau membongkarnya ke satu atau beberapa perangkat.

Catatan

Apakah Anda memiliki rencana tentang bagaimana Anda dapat mentransisikan pengguna ke aplikasi paket Anda? Sebelum Mendistribusikan aplikasi, lihat bagian Transisi pengguna ke aplikasi paket Anda di panduan ini untuk mendapatkan beberapa ide.

Mendistribusikan aplikasi Anda dengan menerbitkannya ke Microsoft Store

Microsoft Store adalah cara mudah bagi pelanggan untuk mendapatkan aplikasi Anda.

Terbitkan aplikasi Anda ke Microsoft Store untuk menjangkau audiens terluas. Selain itu, pelanggan organisasi dapat memperoleh aplikasi Anda untuk didistribusikan secara internal ke organisasi mereka melalui Microsoft Store untuk Bisnis.

Jika Anda berencana untuk menerbitkan ke Microsoft Store, Anda akan diajukan beberapa pertanyaan tambahan sebagai bagian dari proses pengiriman. Itu karena manifes paket Anda mendeklarasikan kemampuan terbatas bernama runFullTrust, dan kami perlu menyetujui penggunaan kemampuan tersebut oleh aplikasi Anda. Anda dapat membaca selengkapnya tentang persyaratan ini di sini: Kemampuan terbatas.

Anda tidak perlu menandatangani aplikasi sebelum mengirimkannya ke Store.

Penting

Jika Anda berencana untuk menerbitkan aplikasi Anda ke Microsoft Store, pastikan aplikasi Anda beroperasi dengan benar pada perangkat yang menjalankan Windows 10 S atau Windows 11 S. Ini adalah persyaratan Store. Lihat Menguji aplikasi Windows Anda untuk Windows 10 S atau Windows 11 S.

Mendistribusikan aplikasi Anda tanpa menempatkannya ke Microsoft Store

Jika Anda lebih suka mendistribusikan aplikasi tanpa menggunakan Store, Anda dapat mendistribusikan aplikasi secara manual ke satu atau beberapa perangkat.

Ini mungkin masuk akal jika Anda menginginkan kontrol yang lebih besar atas pengalaman distribusi atau Anda tidak ingin terlibat dengan proses sertifikasi Microsoft Store.

Untuk mendistribusikan aplikasi Anda ke perangkat lain tanpa menempatkannya di Store, Anda harus mendapatkan sertifikat, menandatangani aplikasi Anda dengan menggunakan sertifikat tersebut, lalu memihak aplikasi Anda ke perangkat tersebut.

Anda dapat membuat sertifikat atau mendapatkannya dari vendor populer seperti Verisign.

Jika Anda berencana untuk mendistribusikan aplikasi ke perangkat yang menjalankan Windows 10 S atau Windows 11 S, aplikasi Anda harus ditandatangani oleh Microsoft Store sehingga Anda harus melalui proses pengiriman Store sebelum Anda dapat mendistribusikan aplikasi Anda ke perangkat tersebut.

Jika Anda membuat sertifikat, Anda harus menginstalnya ke penyimpanan sertifikat Trusted Root atau Trusted People di setiap perangkat yang menjalankan aplikasi Anda. Jika Anda mendapatkan sertifikat dari vendor populer, Anda tidak perlu menginstal apa pun ke sistem lain selain aplikasi Anda.

Penting

Pastikan nama penerbit pada sertifikat Anda cocok dengan nama penerbit aplikasi Anda.

Untuk menandatangani aplikasi Anda dengan menggunakan sertifikat, lihat Menandatangani paket aplikasi menggunakan SignTool.

Untuk memihak aplikasi Anda ke perangkat lain, lihat Aplikasi LOB Sideload di Windows.

Transisi pengguna ke aplikasi paket Anda

Sebelum mendistribusikan aplikasi, pertimbangkan untuk menambahkan beberapa ekstensi ke manifes paket Anda untuk membantu pengguna masuk ke kebiasaan menggunakan aplikasi kemasan Anda. Berikut adalah beberapa hal yang dapat Anda lakukan.

  • Arahkan tombol Mulai petak peta dan bilah tugas yang ada ke aplikasi paket Anda.
  • Kaitkan aplikasi paket Anda dengan sekumpulan jenis file.
  • Buat aplikasi paket Anda membuka jenis file tertentu secara default.

Untuk daftar lengkap ekstensi dan panduan tentang cara menggunakannya, lihat Transisi pengguna ke aplikasi Anda.

Selain itu, pertimbangkan untuk menambahkan kode ke aplikasi paket Anda yang menyelesaikan tugas-tugas ini:

  • Memigrasikan data pengguna yang terkait dengan aplikasi desktop Anda ke lokasi folder yang sesuai dari aplikasi paket Anda.
  • Memberi pengguna opsi untuk menghapus instalan versi desktop aplikasi Anda.

Mari kita bicara tentang masing-masing tugas ini. Kita akan mulai dengan migrasi data pengguna.

Memigrasikan data pengguna

Jika Anda akan menambahkan kode yang memigrasikan data pengguna, yang terbaik adalah menjalankan kode tersebut hanya ketika aplikasi pertama kali dimulai. Sebelum Anda memigrasikan data pengguna, tampilkan kotak dialog kepada pengguna yang menjelaskan apa yang terjadi, mengapa disarankan, dan apa yang akan terjadi pada data yang ada.

Berikut adalah contoh bagaimana Anda dapat melakukan ini di . Aplikasi paket berbasis NET.

private void MigrateUserData()
{
    String sourceDir = Environment.GetFolderPath
        (Environment.SpecialFolder.ApplicationData) + "\\AppName";

    if (sourceDir != null)
    {
        DialogResult migrateResult = MessageBox.Show
            ("Would you like to migrate your data from the previous version of this app?",
             "Data Migration", MessageBoxButtons.YesNo);

        if (migrateResult.Equals(DialogResult.Yes))
        {
            String destinationDir =
                Windows.Storage.ApplicationData.Current.LocalFolder.Path + "\\AppName";

            Process process = new Process();
            process.StartInfo.FileName = "robocopy.exe";
            process.StartInfo.Arguments = "%LOCALAPPDATA%\\AppName " + destinationDir + " /move";
            process.StartInfo.CreateNoWindow = true;
            process.Start();
            process.WaitForExit();

            if (process.ExitCode > 1)
            {
                //Migration was unsuccessful -- you can choose to block/retry/other action
            }
        }
    }
}

Menghapus instalan versi desktop aplikasi Anda

Lebih baik tidak menghapus instalan aplikasi desktop pengguna tanpa terlebih dahulu meminta izin kepada mereka. Tampilkan kotak dialog yang meminta izin tersebut kepada pengguna. Pengguna mungkin memutuskan untuk tidak menghapus instalan versi desktop aplikasi Anda. Jika itu terjadi, Anda harus memutuskan apakah Anda ingin memblokir penggunaan aplikasi desktop atau mendukung penggunaan kedua aplikasi secara berdampingan.

Berikut adalah contoh bagaimana Anda dapat melakukan ini di . Aplikasi paket berbasis NET.

Untuk melihat konteks lengkap cuplikan ini, lihat file MainWindow.cs dari sampel penampil gambar WPF ini dengan transisi/migrasi/penghapusan instalasi.

private void RemoveDesktopApp()
{
    //Typically, you can find your uninstall string at this location.
    String uninstallString = (String)Microsoft.Win32.Registry.GetValue
        (@"HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion" +
         @"\Uninstall\{7AD02FB8-B85E-44BC-8998-F4803BA5A0E3}\", "UninstallString", null);

    //Detect if the previous version of the Desktop application is installed.
    if (uninstallString != null)
    {
        DialogResult uninstallResult = MessageBox.Show
            ("To have the best experience, consider uninstalling the "
              + " previous version of this app. Would you like to do that now?",
              "Uninstall the previous version", MessageBoxButtons.YesNo);

        if (uninstallResult.Equals(DialogResult.Yes))
        {
                    string[] uninstallArgs = uninstallString.Split(' ');

            Process process = new Process();
            process.StartInfo.FileName = uninstallArgs[0];
            process.StartInfo.Arguments = uninstallArgs[1];
            process.StartInfo.CreateNoWindow = true;

            process.Start();
            process.WaitForExit();

            if (process.ExitCode != 0)
            {
                //Uninstallation was unsuccessful - You can choose to block the application here.
            }
        }
    }

}

Langkah berikutnya

Ada pertanyaan? Tanyakan kepada kami tentang Komunitas Teknologi kami.

Jika Anda mengalami masalah saat menerbitkan aplikasi Anda ke Store, posting blog ini berisi beberapa tips yang berguna.