Bagikan melalui


Menyebarkan Solusi VSTO Menggunakan Penginstal Windows

Ringkasan

Pelajari cara menyebarkan add-in Microsoft Visual Studio Tools for Office (VSTO) atau solusi tingkat dokumen menggunakan proyek Penginstal Visual Studio.

Wouter van Vugt, Nasihat Kode

Ted Pattison, Grup Ted Pattison

Artikel ini diperbarui oleh Microsoft dengan izin dari penulis asli.

Berlaku untuk: Alat Visual Studio untuk Office, Microsoft Office, Microsoft Visual Studio.

Anda dapat mengembangkan solusi VSTO dan menyebarkan solusi dengan menggunakan paket Penginstal Windows. Diskusi ini mencakup langkah-langkah untuk menyebarkan Add-in Office sederhana.

Metode Penyebaran

ClickOnce dapat dengan mudah digunakan untuk membuat penyiapan untuk Add-in dan solusi Anda. Namun, itu tidak dapat menginstal Add-in yang memerlukan hak administratif seperti Add-in tingkat komputer.

Add-in yang memerlukan hak administratif dapat diinstal dengan menggunakan Penginstal Windows tetapi memerlukan lebih banyak upaya untuk membuat penyiapan.

Untuk gambaran umum tentang cara menyebarkan solusi VSTO menggunakan ClickOnce, lihat Menyebarkan solusi Office dengan menggunakan ClickOnce.

Menyebarkan solusi Office yang menargetkan runtime VSTO

Paket Penginstal ClickOnce dan Windows perlu melakukan tugas dasar yang sama saat menginstal solusi Office.

  1. Instal komponen prasyarat di komputer pengguna.
  2. Sebarkan komponen tertentu untuk solusi tersebut.
  3. Untuk Add-in, buat entri registri.
  4. Percayai solusi untuk memungkinkannya dijalankan.

Komponen Prasyarat yang Diperlukan pada Komputer Target

Berikut adalah daftar perangkat lunak yang harus diinstal pada komputer untuk menjalankan solusi VSTO:

  • Microsoft Office 2010 atau yang lebih baru.
  • Microsoft .NET Framework 4 atau yang lebih baru.
  • Alat Microsoft Visual Studio 2010 untuk Office Runtime. Runtime menyediakan lingkungan yang mengelola Add-in dan solusi tingkat dokumen. Versi Runtime memang dikirim dengan Microsoft Office tetapi Anda mungkin ingin mendistribusikan ulang versi tertentu dengan add-in Anda.
  • Rakitan Interop Utama untuk Microsoft Office, jika Anda tidak menggunakan Jenis Interop Tersemat.
  • Setiap rakitan utilitas yang dirujuk oleh proyek.

Komponen Khusus untuk Solusi

Paket alat penginstal harus menginstal komponen ini ke komputer pengguna:

  • Dokumen Microsoft Office, jika Anda membuat solusi tingkat dokumen.
  • Rakitan kustomisasi dan rakitan apa pun yang diperlukannya.
  • Komponen tambahan seperti file konfigurasi.
  • Manifes aplikasi (.manifest).
  • Manifes penyebaran (.vsto).

Entri Registri untuk Add-in

Microsoft Office menggunakan entri registri untuk menemukan dan memuat Add-in. Entri registri ini harus dibuat sebagai bagian dari proses penyebaran. Untuk informasi selengkapnya tentang entri registri ini, lihat Entri registri untuk Add-in VSTO.

Add-in Outlook yang menampilkan wilayah formulir kustom memerlukan entri registri tambahan yang memungkinkan wilayah formulir diidentifikasi. Untuk informasi selengkapnya tentang entri registri, lihat Entri registri untuk wilayah formulir Outlook.

Solusi tingkat dokumen tidak memerlukan entri registri apa pun. Sebagai gantinya, properti di dalam dokumen digunakan untuk menemukan kustomisasi. Untuk informasi selengkapnya tentang properti ini, lihat Gambaran Umum Properti Dokumen Kustom.

Mempercayai Solusi VSTO

Agar penyesuaian berjalan, solusi harus dipercaya oleh komputer. Add-in dapat dipercaya dengan menandatangani manifes dengan sertifikat, membuat hubungan kepercayaan dengan daftar penyertaan, atau dengan menginstalnya ke lokasi tepercaya pada komputer.

Untuk informasi selengkapnya tentang cara mendapatkan sertifikat untuk penandatanganan, lihat Penyebaran ClickOnce dan Authenticode. Untuk informasi selengkapnya tentang mempercayai solusi, lihat Mempercayai Solusi Office dengan Menggunakan Daftar Inklusi. Anda dapat menambahkan entri daftar penyertaan dengan tindakan kustom di file Penginstal Windows Anda. Untuk informasi selengkapnya tentang mengaktifkan daftar inklusi, lihat Cara: Mengonfigurasi Keamanan Daftar Inklusi.

Jika tidak ada opsi yang digunakan, permintaan kepercayaan ditampilkan kepada pengguna untuk membiarkan mereka memutuskan apakah akan mempercayai solusi.

Untuk informasi selengkapnya tentang keamanan yang terkait dengan solusi tingkat dokumen, lihat Memberikan Kepercayaan ke Dokumen.

Membuat Penginstal Dasar

Templat proyek Penyiapan dan Penyebaran disertakan dengan ekstensi Microsoft Visual Studio Installer Projects yang tersedia untuk diunduh.

Untuk membuat penginstal solusi Office, tugas-tugas ini harus diselesaikan:

  • Tambahkan komponen Solusi Office yang akan disebarkan.
  • Untuk Add-in tingkat aplikasi, konfigurasikan kunci registri.
  • Konfigurasikan komponen prasyarat sehingga dapat diinstal pada komputer pengguna akhir.
  • Konfigurasikan kondisi peluncuran untuk memverifikasi bahwa komponen prasyarat yang diperlukan tersedia. Kondisi peluncuran dapat digunakan untuk memblokir penginstalan jika semua prasyarat yang diperlukan tidak diinstal.

Langkah pertama adalah membuat proyek penyiapan.

Untuk membuat proyek Penyiapan AddIn

  1. Buka Proyek AddIn Office yang ingin Anda sebarkan. Untuk contoh ini, kita menggunakan Add-in Excel yang disebut ExcelAddIn.
  2. Dengan Office Project Open, pada menu File , perluas Tambahkan dan klik Proyek Baru untuk menambahkan proyek baru.
  1. Pada dialog Tambahkan Proyek Baru, pilih templat Siapkan Proyek.
  2. Klik Berikutnya.
  1. Dalam kotak Nama , ketik OfficeAddInSetup.
  1. Klik Buat untuk membuat proyek penyiapan baru.

Visual Studio membuka File System Explorer untuk proyek penyiapan baru. Penjelajah Sistem File memungkinkan Anda menambahkan file ke proyek penyetelan.

Cuplikan layar File System Explorer untuk proyek penyiapan

Gambar 1: File System Explorer untuk proyek penyiapan

Proyek penyiapan perlu menyebarkan ExcelAddIn. Anda dapat mengonfigurasi proyek penyiapan untuk tugas ini dengan menambahkan output proyek ExcelAddIn ke proyek penyiapan.

Untuk menambahkan output proyek ExcelAddIn

  1. Di Penjelajah Solusi, klik kanan OfficeAddInSetup, klik Tambahkan lalu Output Proyek.

  2. Dalam dialog Tambahkan Grup Output Proyek, pilih ExcelAddIn dari daftar proyek, dan Output Utama.

  3. Klik OK untuk menambahkan output proyek ke proyek penyiapan.

    Cuplikan layar dialog Siapkan Proyek Tambahkan Grup Output Proyek

    Gambar 2: Dialog Siapkan Proyek Tambahkan Grup Output Proyek

Proyek penyiapan perlu menyebarkan manifes penyebaran dan manifes aplikasi. Tambahkan kedua file ini ke proyek penyiapan sebagai file mandiri dari folder output proyek ExcelAddIn.

Untuk menambahkan manifes penyebaran dan aplikasi

  1. Di Penjelajah Solusi, klik kanan OfficeAddInSetup, klik Tambahkan, dan klik File.

  2. Dalam kotak dialog Tambahkan File , navigasikan ke direktori output ExcelAddIn . Biasanya direktori output adalah subfolder bin\release dari direktori akar proyek, tergantung pada konfigurasi build yang dipilih.

  3. Pilih file ExcelAddIn.vsto dan ExcelAddIn.dll.manifest dan klik Buka untuk menambahkan kedua file ini ke proyek penyiapan.

    Cuplikan layar manifes Aplikasi dan penyebaran dalam Penjelajah Solusi

    Gambar 3: Manifes aplikasi dan penyebaran untuk Add-in Penjelajah Solusi

Mereferensikan ExcelAddIn menyertakan semua komponen yang diperlukan ExcelAddIn. Komponen-komponen ini harus dikecualikan dan disebarkan menggunakan paket prasyarat untuk memungkinkan mereka didaftarkan dengan benar. Selain itu, Ketentuan Lisensi Perangkat Lunak harus ditampilkan dan diterima sebelum penginstalan dimulai.

Untuk mengecualikan dependensi proyek ExcelAddIn

  1. Di Penjelajah Solusi, di simpul OfficeAddInSetup, pilih semua item dependensi di bawah item Dependensi Terdeteksi kecuali untuk Microsoft .NET Framework atau rakitan apa pun yang diakhir dengan *. Utilities.dll. Rakitan Utilitas dimaksudkan untuk disebarkan bersama dengan aplikasi Anda.

  2. Klik kanan grup dan pilih Properti.

  3. Di jendela Properti , ubah properti Kecualikan ke True untuk mengecualikan rakitan dependen dari proyek penyiapan. Pastikan untuk tidak mengecualikan rakitan Utilitas apa pun.

    Cuplikan layar Penjelajah Solusi memperlihatkan dependensi yang akan dikecualikan

    Gambar 4: Mengecualikan dependensi

Anda dapat mengonfigurasi paket Penginstal Windows untuk menginstal komponen prasyarat dengan menambahkan program Penyiapan, yang juga dikenal sebagai bootstrapper. Program penyetelan ini dapat menginstal komponen prasyarat, proses yang disebut bootstrapping.

Untuk ExcelAddIn, prasyarat ini harus diinstal sebelum Add-in dapat berjalan dengan benar:

  • Versi Microsoft .NET Framework yang ditargetkan Oleh Solusi Office.
  • Alat Microsoft Visual Studio 2010 untuk Office Runtime.

Untuk mengonfigurasi komponen dependen sebagai prasyarat

  1. Di Penjelajah Solusi, klik kanan proyek OfficeAddInSetup dan pilih Properti.

  2. Kotak dialog Halaman Properti OfficeAddInSetup muncul.

  3. Klik tombol Prasyarat .

  4. Dalam kotak dialog Prasyarat, pilih versi .NET Framework yang benar dan Microsoft Visual Studio Tools for Office Runtime.

    Cuplikan layar Kotak Dialog Prasyarat

    Gambar 5: Kotak Dialog Prasyarat

    Catatan

    Beberapa paket prasyarat yang dikonfigurasi di Visual Studio Setup Project bergantung pada konfigurasi build yang dipilih. Anda harus memilih komponen prasyarat yang tepat untuk setiap konfigurasi build yang Anda gunakan.

Microsoft Office menemukan Add-in dengan menggunakan kunci registri. Kunci di sarang HKEY_CURRENT_USER digunakan untuk mendaftarkan add-in untuk setiap pengguna individu. Kunci di bawah sarang HKEY_LOCAL_MACHINE digunakan untuk mendaftarkan add-in untuk semua pengguna komputer. Untuk informasi selengkapnya tentang kunci registri, lihat Entri registri untuk Add-in VSTO.

Untuk mengonfigurasi registri

  1. Di Penjelajah Solusi, klik kanan OfficeAddInSetup.

  2. Perluas Tampilan.

  3. Klik Registri untuk membuka jendela editor registri.

  4. Di editor Registri(OfficeAddInSetup), perluas HKEY_LOCAL_MACHINE lalu Perangkat Lunak.

  5. Hapus kunci [Produsen] yang ditemukan di bawah HKEY_LOCAL_MACHINE\Perangkat Lunak.

  6. Perluas HKEY_CURRENT_USER lalu Perangkat Lunak.

  7. Hapus kunci [Produsen] yang ditemukan di HKEY_CURRENT_USER\Perangkat Lunak.

  8. Untuk menambahkan kunci registri untuk penginstalan add-in, klik kanan kunci Apache Hive Pengguna/Mesin, pilih Kunci Baru. Gunakan teks Perangkat Lunak untuk nama kunci baru. Klik kanan pada kunci Perangkat Lunak yang baru dibuat dan buat kunci baru dengan teks Microsoft.

  9. Gunakan proses serupa untuk membuat seluruh hierarki kunci yang diperlukan untuk pendaftaran add-in:

    User/Machine Hive\Software\Microsoft\Office\Excel\Addins\SampleCompany.ExcelAddIn

    Nama Perusahaan sering digunakan sebagai awalan untuk nama add-in untuk memberikan keunikan.

  10. Klik kanan tombol SampleCompany.ExcelAddIn , pilih Baru, dan klik Nilai string. Gunakan Deskripsi teks untuk Nama.

  11. Gunakan langkah ini untuk menambahkan tiga nilai lagi:

    • FriendlyName dari jenis String
    • LoadBehavior jenis DWORD
    • Manifes jenis String
  12. Klik kanan nilai Deskripsi di editor registri dan klik Jendela Properti. Di Jendela Properti, masukkan AddIn Demo Excel untuk properti Nilai.

  13. Pilih kunci FriendlyName di editor registri. Di Jendela Properti, ubah properti Nilai menjadi AddIn Demo Excel.

  14. Pilih kunci LoadBehavior di editor registri. Di Jendela Properti, ubah properti Nilai menjadi 3. Nilai 3 untuk LoadBehavior menunjukkan bahwa add-in harus dimuat saat startup aplikasi host. Untuk informasi selengkapnya tentang perilaku beban, lihat Entri registri untuk Add-in VSTO.

  15. Pilih kunci Manifes di editor registri. Di Jendela Properti, ubah properti Nilai menjadi file:///[TARGETDIR]ExcelAddIn.vsto|vstolocal

    Cuplikan layar Editor Registri

    Gambar 6: Menyiapkan kunci registri

    Runtime VSTO menggunakan kunci registri ini untuk menemukan manifes penyebaran. Makro [TARGETDIR] akan diganti dengan folder tempat add-in diinstal. Makro akan menyertakan karakter \ berikutnya, sehingga nama file manifes penyebaran harus ExcelAddIn.vsto tanpa karakter \ . Postfix vstolocal , memberi tahu runtime VSTO bahwa Add-in harus dimuat dari lokasi ini alih-alih cache ClickOnce. Menghapus postfix ini akan menyebabkan runtime menyalin kustomisasi ke dalam cache ClickOnce.

Peringatan

Anda harus sangat berhati-hati dengan Editor Registri di Visual Studio. Misalnya, jika Anda secara tidak sengaja mengatur DeleteAtUninstall untuk kunci yang salah, Anda dapat menghapus bagian aktif dari registri, meninggalkan komputer pengguna dalam keadaan tidak konsisten, atau bahkan lebih buruk, rusak.

Office versi 64-bit akan menggunakan sarang registri 64-bit untuk mencari Add-in. Untuk mendaftarkan Add-in di bawah sarang registri 64-bit, platform target proyek penyiapan harus diatur ke 64-bit saja.

  1. Pilih proyek OfficeAddInSetup di penjelajah solusi.
  2. Buka jendela Properti dan atur properti TargetPlatform ke x64.

Menginstal Add-in untuk Office versi 32-bit dan 64-bit, akan mengharuskan Anda membuat dua paket MSI terpisah. Satu untuk 32-bit dan satu untuk 64-bit.

Cuplikan layar Jendela Properti memperlihatkan Platform Target untuk mendaftarkan Add-in dengan Office 64-bit

Gambar 7: Platform Target untuk mendaftarkan Add-in dengan Office 64-bit

Jika paket MSI digunakan untuk menginstal Add-in atau solusi, paket tersebut dapat diinstal tanpa prasyarat yang diperlukan yang diinstal. Anda dapat menggunakan Kondisi Peluncuran di MSI untuk memblokir Add-in agar tidak diinstal jika prasyarat tidak diinstal.

Mengonfigurasi kondisi peluncuran untuk mendeteksi Runtime VSTO

  1. Di Penjelajah Solusi, klik kanan OfficeAddInSetup.

  2. Perluas Tampilan.

  3. Klik Luncurkan Kondisi.

  4. Di editor Kondisi Peluncuran (OfficeAddInSetup), klik kanan Persyaratan pada Mesin Target, lalu klik Tambahkan Kondisi Peluncuran Registri. Kondisi pencarian ini dapat mencari registri untuk kunci yang diinstal runtime VSTO. Nilai kunci kemudian tersedia untuk berbagai bagian alat penginstal melalui properti bernama. Kondisi peluncuran menggunakan properti yang ditentukan oleh kondisi pencarian untuk memeriksa nilai tertentu.

  5. Di editor Luncurkan Kondisi (OfficeAddInSetup), pilih kondisi pencarian Cari RegistriEntry1, klik kanan kondisi, dan pilih Jendela Properti.

  6. Di jendela Properti , atur properti ini:

    1. Atur nilai (Nama) ke Cari Runtime VSTO 2010.
    2. Ubah nilai Properti menjadi VSTORUNTIMEREDIST.
    3. Atur nilai RegKey ke SOFTWARE\Microsoft\VSTO Runtime Setup\v4R
    4. Biarkan properti Root diatur ke vsdrrHKLM.
    5. Ubah properti Nilai menjadi Versi.
  7. Di editor Luncurkan Kondisi (OfficeAddInSetup), pilih kondisi peluncuran Condition1, klik kanan kondisi, dan pilih Jendela Properti.

  8. Di jendela Properti, atur properti ini:

    1. Atur (Nama) untuk Memverifikasi ketersediaan Runtime VSTO 2010.

    2. Ubah nilai Kondisi menjadi VSTORUNTIMEREDIST>="10.0.30319"

    3. Biarkan properti InstallURL kosong.

    4. Atur Pesan ke Alat Visual Studio 2010 untuk Office Runtime tidak diinstal. Jalankan Setup.exe untuk menginstal Add-in.

      Cuplikan layar Jendela Properti untuk kondisi peluncuran Verifikasi Ketersediaan Runtime

      Gambar 8: Jendela Properti untuk kondisi peluncuran Verifikasi Ketersediaan Runtime

Kondisi peluncuran di atas secara eksplisit memeriksa keberadaan runtime VSTO saat diinstal oleh paket bootstrapper.

Mengonfigurasi kondisi peluncuran untuk mendeteksi Runtime VSTO yang diinstal oleh Office

  1. Di editor Luncurkan Kondisi (OfficeAddInSetup), klik kanan Cari Mesin Target, lalu klik Tambahkan Pencarian Registri.

  2. Pilih kondisi pencarian Cari RegistriEntry1, klik kanan kondisi, dan pilih Jendela Properti.

  3. Di jendela Properti , atur properti ini:

    1. Atur nilai (Nama) ke Cari Office VSTO Runtime.
    2. Ubah nilai Properti menjadi OfficeRuntime.
    3. Atur nilai RegKey ke SOFTWARE\Microsoft\VSTO Runtime Setup\v4.
    4. Biarkan properti Root diatur ke vsdrrHKLM.
    5. Ubah properti Nilai menjadi Versi.
  4. Di editor Kondisi Peluncuran (OfficeAddInSetup), pilih kondisi peluncuran Verifikasi ketersediaan Runtime VSTO 2010 yang ditentukan sebelumnya, klik kanan kondisi, dan pilih Jendela Properti.

  5. Ubah nilai properti Kondisi menjadi VSTORUNTIMEREDIST >="10.0.30319" OR OFFICERUNTIME>="10.0.21022". Nomor versi mungkin berbeda untuk Anda tergantung pada versi runtime yang diperlukan Add-in Anda.

    Cuplikan layar Windows Properti untuk kondisi peluncuran

    Gambar 9: Properti Windows untuk kondisi Verifikasi Ketersediaan Runtime melalui Redist atau Office

Jika Add-in menargetkan .NET Framework 4, atau yang lebih baru, Jenis di dalam Rakitan Interop Utama (PIA), yang direferensikan, dapat disematkan ke dalam rakitan VSTO.

Untuk memeriksa apakah Jenis Interop akan disematkan di Add-in Anda dengan melakukan langkah-langkah berikut:

  1. Perluas Node Referensi di Penjelajah Solusi
  2. Pilih salah satu referensi PIA, misalnya, Office.
  3. Lihat jendela properti dengan menekan F4 atau memilih Properti dari menu konteks Rakitan.
  4. Periksa nilai properti Sematkan Jenis Interop.

Jika nilai diatur ke True, maka Jenis sedang disematkan dan Anda dapat melompat ke bagian Untuk membangun proyek penyiapan.

Untuk informasi selengkapnya, lihat Jenis Kesetaraan Jenis dan Jenis Interop Tersemat

Untuk mengonfigurasi kondisi peluncuran untuk mendeteksi bahwa untuk Office PIAs

  1. Di editor Kondisi Peluncuran (OfficeAddInSetup), klik kanan Persyaratan pada Komputer Target, lalu klik Tambahkan Kondisi Peluncuran Penginstal Windows. Kondisi peluncuran ini mencari Pia Office dengan mencari ID komponen tertentu.

  2. Klik kanan Cari Komponen1 dan klik Jendela Properti untuk memperlihatkan properti kondisi peluncuran.

  3. Di Jendela Properti, atur properti ini:

    1. Mengubah nilai properti (Nama) menjadi Mencari PIA Bersama Office
    2. Ubah nilai ComponentID menjadi Id Komponen untuk komponen Office yang Anda gunakan. Anda dapat menemukan daftar Id Komponen dalam tabel di bawah ini, misalnya {64E2917E-AA13-4CA4-BFFE-EA6EDA3AFCB4}.
    3. Ubah nilai properti Properti menjadi HASSHAREDPIA.
  4. Di editor Luncurkan Kondisi (OfficeAddInSetup), klik kanan Condition1 dan klik Jendela Properti untuk memperlihatkan properti kondisi peluncuran.

  5. Ubah properti Kondisi1 ini:

    1. Ubah (Nama) untuk Memverifikasi ketersediaan PIA Bersama Office.
    2. Ubah Kondisi menjadi HASSHAREDPIA.
    3. Biarkan InstallUrl kosong.
    4. Ubah komponen Pesan ke Yang diperlukan untuk berinteraksi dengan Excel tidak tersedia. Silakan jalankan setup.exe.

    Cuplikan layar Jendela Properti untuk kondisi peluncuran Pia Bersama Office

    Gambar 10: Jendela Properti untuk kondisi peluncuran Verifikasi PIA Bersama Office

ID komponen Rakitan Interop Utama untuk Microsoft Office

Rakitan interop utama Office 2010 Office 2013 Office 2013 (64-bit) Office 2016 Office 2016 (64-bit)
Excel {EA7564AC-C67D-4868-BE5C-26E4FC2223FF} {C8A65ABE-3270-4FD7-B854-50C8082C8F39} {E3BD1151-B9CA-4D45-A77E-51A6E0ED322A} {C845E028-E091-442E-8202-21F596C559A0} {C4ACE6DB-AA99-401F-8BE6-8784BD09F003}
InfoPath {4153F732-D670-4E44-8AB7-500F2B576BDA} {0F825A16-25B2-4771-A497-FC8AF3B355D8} {C5BBD36E-B320-47EF-A512-556B99CB7E41} - -
Outlook {1D844339-3DAE-413E-BC13-62D6A52816B2} {F9F828D5-9F0B-46F9-9E3E-9C59F3C5E136} {7824A03F-28CC-4371-BC54-93D15EFC1E7F} {2C6C511D-4542-4E0C-95d0-05d4406032F2} {7C6D92EF-7B45-46E5-8670-819663220E4E}
PowerPoint {EECBA6B8-3A62-44AD-99EB-8666265466F9} {813139AD-6DAB-4DDD-8C6D-0CA30D073B41} {05758318-BCFD-4288-AD8D-81185841C235} {9E73CEA4-29D0-4D16-8FB9-5AB17387C960} {E0A76492-0FD5-4EC2-8570-AE1BAA61DC88}
Visio {3EA123B5-6316-452E-9D51-A489E06E2347} {C1713368-12A8-41F1-ACA1-934B01AD6EEB} {2CC0B221-22D2-4C15-A9FB-DE818E51AF75} {A4C55BC1-B94C-4058-B15C-B9D4AE540AD1} {2D4540EC-2C88-4C28-AE88-2614B5460648}
Word {8B74A499-37F8-4DEA-B5A0-D72FC501CEFA} {9FE736B7-B1EE-410C-8D07-082891C3DAC8} {13C07AF5-B206-4A48-BB5B-B8022333E3CA} {30CAC893-3CA4-494C-A5E9-A99141352216} {DC5CCACD-A7AC-4FD3-9F70-9454B5DE5161}
Microsoft Forms 2.0 {B2279272-3FD2-434D-B94E-E4E0F8561AC4} {B2279272-3FD2-434D-B94E-E4E0F8561AC4} {A5A30117-2D2A-4C5C-B3C8-8897AC32C2AC} - -
Microsoft Graph {011B9112-EBB1-4A6C-86CB-C2FDC9EA7B0E} {52DA4B37-B8EB-4B7F-89C1-824654CE4C70} {24706F33-F0CE-4EB4-BC91-9E935394F510} - -
Tag Pintar {7102C98C-EF47-4F04-A227-FE33650BF954} {487A7921-EB3A-4262-BB5B-A5736B732486} {74EFC1F9-747D-4867-B951-EFCF29F51AF7} - -
Berbagi Office {64E2917E-AA13-4CA4-BFFE-EA6EDA3AFCB4} {6A174BDB-0049-4D1C-86EF-3114CB0C4C4E} {76601EBB-44A7-49EE-8DE3-7B7B9D7EBB05} {68477CB0-662A-48FB-AF2E-9573C92869F7} {625F5772-C1B3-497E-8ABE-7254EDB00506}
Project {957A4EC0-E67B-4E86-A383-6AF7270B216A} {1C50E422-24FA-44A9-A120-E88280C8C341} {706D7F44-8231-489D-9B25-3025ADE9F114} {0B6EDA1D-4A15-4F88-8B20-EA6528978E4E} {107BCD9A-F1DC-4004-A444-33706FC10058}

Cuplikan layar kondisi peluncuran akhir

Gambar 11: Kondisi peluncuran akhir

Anda dapat lebih menyempurnakan kondisi peluncuran untuk penginstalan ExcelAddIn. Misalnya, mungkin berguna untuk memeriksa apakah target aktual aplikasi Office likasi diinstal.

Untuk membangun proyek penyiapan

  1. Di Penjelajah Solusi, klik kanan proyek OfficeAddInSetup dan klik Bangun.
  2. Menggunakan Windows Explorer, navigasikan ke direktori output proyek OfficeAddInSetup dan buka folder Rilis atau Debug, tergantung pada konfigurasi build yang dipilih. Salin semua file dari folder ke lokasi yang dapat diakses pengguna.

Untuk Menguji penyetelan ExcelAddIn

  1. Navigasi ke lokasi tempat Anda menyalin OfficeAddInSetup .
  2. Klik dua kali pada file setup.exe untuk menginstal add-in OfficeAddInSetup . Terima Ketentuan Lisensi Perangkat Lunak apa pun yang muncul, dan selesaikan wizard penyetelan untuk menginstal add-in di komputer pengguna.

Solusi Excel Office harus menginstal dan menjalankan dari lokasi yang ditentukan selama penyiapan.

Persyaratan Tambahan untuk Solusi Tingkat Dokumen

Menyebarkan solusi tingkat dokumen memerlukan beberapa langkah konfigurasi yang berbeda dalam proyek penyiapan Penginstal Windows.

Berikut adalah daftar langkah-langkah dasar yang diperlukan untuk menyebarkan solusi tingkat dokumen:

  • Buat Proyek Penyiapan Visual Studio.
  • Tambahkan output utama solusi tingkat dokumen Anda. Output utama juga menyertakan dokumen Microsoft Office.
  • Tambahkan manifes penyebaran dan aplikasi sebagai file yang longgar.
  • Kecualikan komponen dependen dari paket alat penginstal (kecuali untuk rakitan utilitas apa pun).
  • Mengonfigurasi paket prasyarat.
  • Mengonfigurasi kondisi peluncuran.
  • Buat proyek penyiapan dan salin hasilnya ke lokasi penyebaran.
  • Sebarkan solusi tingkat dokumen di komputer pengguna dengan menjalankan penyiapan.
  • Perbarui properti dokumen kustom jika diperlukan.

Mengubah Lokasi Dokumen yang Disebarkan

Properti di dalam dokumen Office digunakan untuk menemukan solusi tingkat dokumen. Jika dokumen diinstal ke folder yang sama dengan perakitan VSTO, tidak ada perubahan yang diperlukan. Namun, jika diinstal ke folder yang berbeda, properti ini perlu diperbarui selama penyiapan.

Untuk informasi selengkapnya tentang properti dokumen ini, lihat Gambaran Umum Properti Dokumen Kustom.

Untuk mengubah properti ini, Anda perlu menggunakan tindakan kustom selama penyiapan.

Contoh berikut menggunakan solusi tingkat dokumen yang disebut ExcelWorkbookProject dan proyek penyiapan yang disebut ExcelWorkbookSetup. Proyek ExcelWorkbookSetup dikonfigurasi dengan menggunakan langkah yang sama yang diuraikan di atas, kecuali untuk mengatur kunci registri.

Untuk menambahkan proyek tindakan kustom ke solusi Visual Studio Anda

  1. Tambahkan proyek Konsol .NET baru ke solusi dengan mengklik kanan Proyek Penyebaran Dokumen Office di Penjelajah Solusi

  2. Perluas Tambahkan dan klik Proyek Baru.

  3. Pilih templat Aplikasi Konsol dan beri nama proyek AddCustomizationCustomAction.

    Cuplikan layar Penjelajah Solusi - AddCustomizationCustomAction

    Gambar 12: Penjelajah Solusi - AddCustomizationCustomAction

  4. Tambahkan Referensi ke rakitan ini:

    1. System.ComponentModel
    2. System.Configuration.Install
    3. Microsoft.VisualStudio.Tools.Applications
    4. Microsoft.VisualStudio.Tools.Applications.ServerDocument
  5. Salin kode ini ke Program.cs atau Program.vb

    using System;
    using System.IO;
    using System.Collections;
    using System.ComponentModel;
    using System.Configuration.Install;
    using Microsoft.VisualStudio.Tools.Applications;
    using Microsoft.VisualStudio.Tools.Applications.Runtime;

    namespace AddCustomizationCustomAction
    {
        [RunInstaller(true)]
        public class AddCustomizations : Installer
        {
            public AddCustomizations() : base() { }

            public override void Install(IDictionary savedState)
            {
                base.Install(savedState);

                //Get the CustomActionData Parameters
                string documentLocation = Context.Parameters.ContainsKey("documentLocation") ? Context.Parameters["documentLocation"] : String.Empty;
                string assemblyLocation = Context.Parameters.ContainsKey("assemblyLocation") ? Context.Parameters["assemblyLocation"] : String.Empty;
                string deploymentManifestLocation = Context.Parameters.ContainsKey("deploymentManifestLocation") ? Context.Parameters["deploymentManifestLocation"] : String.Empty;
                Guid solutionID = Context.Parameters.ContainsKey("solutionID") ? new Guid(Context.Parameters["solutionID"]) : new Guid();

                string newDocLocation = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), Path.GetFileName(documentLocation));

                try
                {
                    //Move the file and set the Customizations
                    if (Uri.TryCreate(deploymentManifestLocation, UriKind.Absolute, out Uri docManifestLocationUri))
                    {
                        File.Move(documentLocation, newDocLocation);
                        ServerDocument.RemoveCustomization(newDocLocation);
                        ServerDocument.AddCustomization(newDocLocation, assemblyLocation,
                                                        solutionID, docManifestLocationUri,
                                                        true, out string[] nonpublicCachedDataMembers);
                    }
                    else
                    {
                        LogMessage("The document could not be customized.");
                    }
                }
                catch (ArgumentException)
                {
                    LogMessage("The document could not be customized.");
                }
                catch (DocumentNotCustomizedException)
                {
                    LogMessage("The document could not be customized.");
                }
                catch (InvalidOperationException)
                {
                    LogMessage("The customization could not be removed.");
                }
                catch (IOException)
                {
                    LogMessage("The document does not exist or is read-only.");
                }
            }

            public override void Rollback(IDictionary savedState)
            {
                base.Rollback(savedState);
                DeleteDocument();
            }
            public override void Uninstall(IDictionary savedState)
            {
                base.Uninstall(savedState);
                DeleteDocument();
            }
            private void DeleteDocument()
            {
                string documentLocation = Context.Parameters.ContainsKey("documentLocation") ? Context.Parameters["documentLocation"] : String.Empty;

                try
                {
                    File.Delete(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), Path.GetFileName(documentLocation)));
                }
                catch (Exception)
                {
                    LogMessage("The document doesn't exist or is read-only.");
                }
            }
            private void LogMessage(string Message)
            {
                if (Context.Parameters.ContainsKey("LogFile"))
                {
                    Context.LogMessage(Message);
                }
            }

            static void Main() { }
            }
    }

Untuk menambahkan kustomisasi ke dokumen, Anda harus memiliki ID solusi solusi solusi tingkat dokumen VSTO Anda. Nilai ini diambil dari file proyek Visual Studio.

Untuk mengambil ID solusi

  1. Pada menu Build , klik Build Solution untuk membangun solusi tingkat dokumen dan menambahkan properti ID solusi ke file proyek.

  2. Di Penjelajah Solusi, klik kanan proyek tingkat dokumen ExcelWorkbookProject

  3. Klik UnloadProject untuk mengakses file proyek dari dalam Visual Studio.

    Cuplikan layar Penjelajah Solusi Membongkar Solusi Dokumen Excel

    Gambar 13: Membongkar Solusi Dokumen Excel

  4. Di Penjelajah Solusi, klik kanan ExcelWorkbookProject dan klik EditExcelWorkbookProject.vbproj atau Edit ExcelWorkbookProject.csproj.

  5. Di editor ExcelWorkbookProject, temukan elemen SolutionID di dalam elemen PropertyGroup.

  6. Salin nilai GUID elemen ini.

    Mengambil SolutionID

    Gambar 14: Mengambil SolutionID

  7. Di Penjelajah Solusi, klik kanan ExcelWorkbookProject dan klik Muat Ulang Proyek.

  8. Klik Ya dalam kotak dialog yang muncul untuk menutup editor ExcelWorkbookProject .

  9. ID Solusi akan digunakan dalam Tindakan Kustom Instal.

Langkah terakhir adalah mengonfigurasi tindakan kustom untuk langkah-langkah Instal dan Hapus instalan .

Untuk mengonfigurasi proyek penyiapan

  1. Di Penjelajah Solusi, klik kanan ExcelWorkbookSetup, perluas Tambahkan dan klik Output Proyek.

  2. Dalam kotak dialog Tambahkan Grup Output Proyek, di daftar Proyek , klik AddCustomizationCustomAction.

  3. Pilih Output Utama dan klik OK untuk menutup kotak dialog dan menambahkan rakitan yang berisi tindakan kustom ke proyek penyiapan.

    Cuplikan layar Tindakan Kustom Manifes Dokumen - Jendela Tambahkan Grup Output Proyek

    Gambar 15: Tindakan Kustom Manifes Dokumen - Tambahkan Grup Output Proyek

  4. Di Penjelajah Solusi, klik kanan ExcelWorkbookSetup.

  5. Perluas Tampilan dan klik Tindakan Kustom.

  6. Di editor Tindakan Kustom(ExcelWorkbookSetup), klik kanan Tindakan Kustom dan klik Tambahkan Tindakan Kustom.

  7. Dalam kotak dialog Pilih Item dalam Proyek , di daftar Lihat Di , klik Folder Aplikasi. Pilih Output Utama dari AddCustomizationCustomAction(aktif) dan klik OK untuk menambahkan tindakan kustom ke langkah Instal.

  8. Di bawah simpul Instal, klik kanan Output utama dari AddCustomizationCustomAction(Active), dan klik Ganti Nama. Beri nama tindakan kustom Salin dokumen ke Dokumen Saya dan lampirkan kustomisasi.

  9. Di bawah simpul Hapus instalan, klik kanan Output utama dari AddCustomizationCustomAction(Active) dan klik Ganti Nama. Beri nama tindakan kustom Hapus dokumen dari folder Dokumen.

    Cuplikan layar jendela Tindakan Kustom Manifes Dokumen

    Gambar 16: Tindakan Kustom Manifes Dokumen

  10. Di editor Tindakan Kustom(ExcelWorkbookSetup), klik kanan Salin dokumen ke Dokumen Saya dan lampirkan kustomisasi dan klik Jendela Properti.

  11. Di jendela Properti CustomActionData, masukkan lokasi DLL kustomisasi, manifes penyebaran, dan lokasi dokumen Microsoft Office. SolutionID juga diperlukan.

  12. Jika Anda ingin mencatat kesalahan penyiapan apa pun ke file, sertakan parameter LogFile. s

    /assemblyLocation="[INSTALLDIR]ExcelWorkbookProject.dll" /deploymentManifestLocation="[INSTALLDIR]ExcelWorkbookProject.vsto" /documentLocation="[INSTALLDIR]ExcelWorkbookProject.xlsx" /solutionID="Your Solution ID" /LogFile="[TARGETDIR]Setup.log"
    

    Cuplikan layar jendela Tindakan Kustom untuk Menyalin Dokumen ke Properti Dokumen Saya

    Gambar 17: Tindakan Kustom untuk Menyalin Dokumen ke Dokumen Saya

  13. Tindakan Kustom untuk Penghapusan Instalasi memerlukan nama dokumen, Anda dapat menyediakannya dengan menggunakan parameter documentLocation yang sama di CustomActionData

    /documentLocation="[INSTALLDIR]ExcelWorkbookProject.xlsx"
    
  14. Kompilasi dan sebarkan proyek ExcelWorkbookSetup .

  15. Lihat di folder Dokumen Saya, dan buka file ExcelWorkbookProject.xlsx.

Sumber Tambahan

Cara: Menginstal Alat Visual Studio untuk Office Runtime

Majelis Interop Utama Office

Entri registri untuk Add-in VSTO

Gambaran Umum Properti Dokumen Kustom

Menentukan Wilayah Formulir di Registri Windows

Memberikan Kepercayaan kepada Dokumen

Tentang Penulis

Wouter van Vugt adalah Microsoft MVP dengan teknologi Office Open XML dan konsultan independen yang berfokus pada pembuatan Aplikasi Bisnis Office (OBAs) dengan SharePoint, Microsoft Office, dan teknologi .NET terkait. Wouter adalah kontributor yang sering ke situs komunitas pengembang seperti MSDN. Dia telah menerbitkan beberapa laporan resmi dan artikel serta buku yang tersedia di baris berjudul Open XML: Dijelaskan e-book. Wouter adalah pendiri Code-Counsel, sebuah perusahaan Belanda yang berfokus pada pengiriman konten teknis mutakhir melalui berbagai saluran. Anda dapat mengetahui lebih lanjut tentang Wouter dengan membaca blognya.

Ted Pattison adalah SharePoint MVP, penulis, pelatih, dan pendiri Ted Pattison Group. Pada musim gugur 2005, Ted dipekerjakan oleh grup Evangelism Platform Pengembang Microsoft untuk menulis kurikulum pelatihan pengembang Naik untuk Layanan Windows SharePoint 3.0 dan Microsoft Office SharePoint Server 2007. Sejak saat itu, Ted sepenuhnya berfokus pada mendidik pengembang profesional pada teknologi SharePoint 2007. Ted telah selesai menulis buku untuk Microsoft Press berjudul Inside Layanan Windows SharePoint 3.0 yang berfokus pada cara menggunakan SharePoint sebagai platform pengembangan untuk membangun solusi bisnis. Ted juga menulis kolom yang berfokus pada pengembang untuk MSDN Magazine berjudul Office Space.