İzlenecek yol: Birden çok Office çözümleri tek ClickOnce Installer dağıtma
Kurulum ve güncelleştirme işlemlerini kolaylaştırmak için tek bir pakette birden çok Office çözümü dağıtabilirsiniz. Bu, yayımlamadan sonra ve kurulumdan önce uygulama ve dağıtım bildirimini değiştirme ve yeniden imzalama gerektirir.
Uygulama alanı: Bu konudaki bilgiler Microsoft Office 2013 Önizleme ve Microsoft Office 2010'un belge düzeyi projelerine ve uygulama düzeyi projelerine yöneliktir. Daha fazla bilgi için bkz. Office Uygulamalarında Kullanılabilir Özellikler ve Proje Türü.
Bu örneklerde aşağıdaki görevler gösterilir:
Birden Çok Office Çözümü Oluşturma.
Uygulama Bildiriminde Değişiklik Yapma.
Bildirimleri Yeniden İmzalama.
Not
Bilgisayarınız, aşağıdaki yönergelerde yer alan Visual Studio kullanıcı arabirimi öğelerinden bazıları için farklı adlar veya konumlar gösterebilir. Bu öğeleri bilgisayarınızdaki Visual Studio sürümü ve kullandığınız ayarlar belirler. Daha fazla bilgi için bkz. Visual Studio ayarları.
Önkoşullar
Bu örneği tamamlamak için aşağıdaki bileşenler gerekmektedir:
-
Microsoft Office geliştirici araçlarını içeren bir Visual Studio 2012 sürümü. Daha fazla bilgi için bkz. [Office Çözümeri Geliştirmek İçin Bilgisayarı Yapılandırma](https://msdn.microsoft.com/tr-tr/library/bb398242\(v=vs.110\)).
Word 2013 Önizleme
Outlook 2013 Önizleme
Excel 2013 Önizleme
Word 2010
Outlook 2010
Excel 2010
Test bilgisayarı.
Birden Çok Office Çözümü Oluşturma
Biri yükleyici olarak işlev görecek şekilde üç Office projesi yaratmakla başlayın. Diğer iki proje, son kullanıcı bilgisayarına dağıtılacaktır.
Yeni bir Word, Outlook ve Excel projesi oluşturmak için
Word belge düzeyi projesi oluşturun. Projeyi ContosoInstaller olarak adlandırın ve %KULLANICIPROFİLİ%\Belgelerim\Visual Studio 2012\Projeler dizinine kaydedin.
ContosoInstaller projesi, yükleyici olarak kullanılacaktır. Daha fazla bilgi için bkz. Nasıl yapılır: Visual Studio Office projeler oluşturmak.
ContosoInstaller çözümünde, ContosoOutlookAddIn ismi ile Outlook uygulama düzeyi projesi ekleyin ve kodunuzu Outlook projesine ekleyin.
ContosoInstaller çözümünde, ContosoExcelWorkbook ismi ile Excel belge düzeyi projesi ekleyin ve kodunuzu Excel projesine ekleyin.
Office Çözümlerini Yayımlama
Office çözümlerini geliştirme bilgisayarında yayımlamak için Proje Tasarımcısı'nda Yayımlama Sihirbazı'nı veya Proje Sayfası'nı kullanın.
Word, Outlook ve Excel projesini yayımlamak için
ContosoInstaller projesini c:\yayımla klasöründe yayımlayın. Daha fazla bilgi için bkz. Nasıl yapılır: Office çözüm ClickOnce kullanılarak yayımlama.
ContosoOutlookAddIn projesini c:\yayımla klasöründe yayımlayın.
ContosoExcelWorkbook projesini c:\yayımla klasöründe yayımlayın.
Uygulama Bildiriminde Değişiklik Yapma
Yükleme bağımlılıkları, dosyaları, giriş noktaları ve derlemeler uygulama bildirimini eklemek için Visual Studio'daki xml düzenleyicisini kullanın. Bir kutu tüm içeriğini listeleyen bir ürün reçetesi, için bir uygulama bildirimi içeriği benzer; uygulama bildirimini bağımlı tüm listeler ve dosyaların yanı sıra, önkoşul derlemeler uygulama tarafından gerekli. Bir Office çözümü için uygulama bildirimini de uygulama düzeyi eklentileri ve belge düzeyi özelleştirmeleri için Office uygulaması tarafından yüklenen derlemeleri listeler.
Yükleme Bağımlılıkları Ekleme
ContosoOutlookAddIn ve ContosoExcelWorkbook derlemelerini yüklemek için uygulama bildirimini değiştirin ve ContosoInstaller derlemesine yapılan referansları kaldırın.
Uygulama bildirimine yükleme bağımlılıkları eklemek için
c:\yayımla\Uygulama Dosyaları klasöründen ContosoOutlookAddIn_1_0_0_0 ve ContosoExcelWorkbook_1_0_0_0 dizinlerinin içeriğini ContosoInstaller_1_0_0_0 dizinine taşıyın.
ContosoInstaller.dll.manifest, ContosoOutlookAddIn.dll.manifest ve ContosoExcelWorkbook.dll.manifest dosyalarını XML düzenleyicisinde açın.
Dan ContosoOutlookAddIn.dll.manifest de dahil olmak üzere tüm yükleme ve dosya bağımlılıkları kopyalamak, dosya ContosoOutlookAddIn.dll. Yani, kopyalama ile başlayan tüm bağımlılıkları <dependentAssembly dependencyType="install" veya <file name="app.config">. Aşağıdaki kod benzemelidir: yalnızca <dsig:DigestValue> öğesi değişir.
<dependency> <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="Microsoft.Office.Tools.Common.v4.0.Utilities.dll" size="30816"> <assemblyIdentity name="Microsoft.Office.Tools.Common.v4.0.Utilities" version="10.0.0.0" publicKeyToken="B03F5F7F11D50A3A" language="neutral" processorArchitecture="msil" /> <hash> <dsig:Transforms> <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" /> </dsig:Transforms> <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <dsig:DigestValue>Ki0…</dsig:DigestValue> </hash> </dependentAssembly> </dependency> <dependency> <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="Microsoft.Office.Tools.Outlook.v4.0.Utilities.dll" size="47200"> <assemblyIdentity name="Microsoft.Office.Tools.Outlook.v4.0.Utilities" version="10.0.0.0" publicKeyToken="B03F5F7F11D50A3A" language="neutral" processorArchitecture="msil" /> <hash> <dsig:Transforms> <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" /> </dsig:Transforms> <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <dsig:DigestValue>050...</dsig:DigestValue> </hash> </dependentAssembly> </dependency> <dependency> <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="ContosoOutlookAddIn.dll" size="10240"> <assemblyIdentity name="ContosoOutlookAddIn" version="1.0.0.0" language="neutral" processorArchitecture="msil" /> <hash> <dsig:Transforms> <dsig:Transform Algorithm= "urn:schemas-microsoft-com:HashTransforms.Identity" /> </dsig:Transforms> <dsig:DigestMethod Algorithm= "http://www.w3.org/2000/09/xmldsig#sha1" /> <dsig:DigestValue>i4e</dsig:DigestValue> </hash> </dependentAssembly> </dependency> <file name="ContosoOutlookAddIn.dll.config" size="77"> <hash> <dsig:Transforms> <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" /> </dsig:Transforms> <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <dsig:DigestValue>w7W...</dsig:DigestValue> </hash> </file>
ContosoInstaller.dll.manifest dosyasında, bağımlılık bölümünün sonuna ContosoOutlookAddIn.dll yükleme bağımlılığını yapıştırın.
Dan ContosoExcelWorkbook.dll.manifest de dahil olmak üzere tüm yükleme ve dosya bağımlılıkları kopyalamak, dosya ContosoExcelWorkbook.dll ve Microsoft.Office.Tools.Common.v4.0.Utilities.dll. Yani, kopyalama ile başlayan tüm bağımlılıkları <dependentAssembly dependencyType="install" veya <file name="app.config">. Aşağıdaki kod benzemelidir: yalnızca <dsig:DigestValue> öğesi değişir.
<dependency> <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="ContosoExcelWorkbook.dll" size="12800"> <assemblyIdentity name="ContosoExcelWorkbook" version="1.0.0.0" language="neutral" processorArchitecture="msil" /> <hash> <dsig:Transforms> <dsig:Transform Algorithm= "urn:schemas-microsoft-com:HashTransforms.Identity" /> </dsig:Transforms> <dsig:DigestMethod Algorithm= "http://www.w3.org/2000/09/xmldsig#sha1" /> <dsig:DigestValue>i4e</dsig:DigestValue> </hash> </dependentAssembly> </dependency> <dependency> <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="Microsoft.Office.Tools.Common.v4.0.Utilities.dll" size="30816"> <assemblyIdentity name="Microsoft.Office.Tools.Common.v4.0.Utilities" version="10.0.0.0" publicKeyToken="B03F5F7F11D50A3A" language="neutral" processorArchitecture="msil" /> <hash> <dsig:Transforms> <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" /> </dsig:Transforms> <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <dsig:DigestValue>Ki0A9wOpes1YX5NaAvjmUeFSh0g=</dsig:DigestValue> </hash> </dependentAssembly> </dependency> <dependency> <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="Microsoft.Office.Tools.Excel.v4.0.Utilities.dll" size="235104"> <assemblyIdentity name="Microsoft.Office.Tools.Excel.v4.0.Utilities" version="10.0.0.0" publicKeyToken="B03F5F7F11D50A3A" language="neutral" processorArchitecture="msil" /> <hash> <dsig:Transforms> <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" /> </dsig:Transforms> <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <dsig:DigestValue>Te/...</dsig:DigestValue> </hash> </dependentAssembly> </dependency> <file name=" ContosoExcelWorkbook.dll.config" size="77"> <hash> <dsig:Transforms> <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" /> </dsig:Transforms> <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <dsig:DigestValue>w7W...</dsig:DigestValue> </hash> </file>
İçinde ContosoInstaller.dll.manifest dosya, bağımlılık bölümünün sonunda yükleme bağımlılıkları yapıştırın.
İçinde ContosoInstaller.dll.manifest dosya, kaldırma ContosoInstaller.dll ve Microsoft.Office.Tools.Word.v4.0.Utilities.dll bağımlılıkları yükleyin. Ayrıca yinelenen tüm bağımlılıklarını kaldırın. Örneğin, Microsoft.Office.Tools.Common.v4.0.Utilities.dll için birden çok yükleme bağımlılıkları kopyalamış olabilirsiniz.
Not
Bir Word belge düzeyi Office çözümünü dağıtıyorsanız, bırakın Microsoft.Office.Tools.Word.v4.0.Utilities.dll son bildiriminde.
Giriş Noktaları Ekleme
ContosoOutlookAddIn ve ContosoExcelWorkbook derlemelerini <vstav3> isim uzayına yüklemek için uygulama bildirimini değiştirin.
Uygulama bildirimine vstav3 isim uzayında giriş noktaları eklemek için
ContosoInstaller.dll.manifest dosyasında, <vstav3:entryPointsCollection> ve </vstav3:entryPointsCollection> ögeleri arasındaki metni kaldırın.
ContosoOutlookAddIn.dll.manifest dosyasından, <vstav3:entryPointsCollection> ve </vstav3:entryPointsCollection> ögeleri arasındaki metni kopyalayın. Kodunuzu aşağıdakine benzer olmalıdır.
<vstav3:entryPoints> <vstav3:entryPoint class="ContosoOutlookAddIn.ThisAddIn"> <assemblyIdentity name="ContosoOutlookAddIn" version="1.0.0.0" language="neutral" processorArchitecture="msil" /> </vstav3:entryPoint> </vstav3:entryPoints>
Not
Outlook uygulama düzeyi eklentisindeki bir form bölgesini kullanıyorsa, Outlook giriş noktası listelenen son olması <vstav3:entryPoints> bölüm.
ContosoInstaller.dll.manifest dosyasında, <vstav3:entryPointsCollection> ögesinden sonra kodu yapıştırın.
Ekleme id özniteliğini <vstav3:entryPoints> bu giriş noktasını diğerlerinden ayırt etmek için öğe.
<vstav3:entryPoints id="ContosoOutlook">
ContosoExcelWorkbook.dll.manifest dosyasından, <vstav3:entryPointsCollection> ve </vstav3:entryPointsCollection> ögeleri arasındaki metni kopyalayın. Aşağıdaki kodu kodunuzu benzemelidir.
<vstav3:entryPoints> <vstav3:entryPoint class="ContosoExcelWorkbook.ThisWorkbook"> <assemblyIdentity name="ContosoExcelWorkbook" version="1.0.0.0" language="neutral" processorArchitecture="msil" /> </vstav3:entryPoint> <vstav3:entryPoint class="ContosoExcelWorkbook.Sheet1"> <assemblyIdentity name="ContosoExcelWorkbook" version="1.0.0.0" language="neutral" processorArchitecture="msil" /> </vstav3:entryPoint> <vstav3:entryPoint class="ContosoExcelWorkbook.Sheet2"> <assemblyIdentity name="ContosoExcelWorkbook" version="1.0.0.0" language="neutral" processorArchitecture="msil" /> </vstav3:entryPoint> <vstav3:entryPoint class="ContosoExcelWorkbook.Sheet3"> <assemblyIdentity name="ContosoExcelWorkbook" version="1.0.0.0" language="neutral" processorArchitecture="msil" /> </vstav3:entryPoint> </vstav3:entryPoints>
ContosoInstaller.dll.manifest dosyasında, <vstav3:entryPointsCollection> ögesinden sonra kodu yapıştırın.
Bu giriş noktasını diğerlerinden ayırt etmek için <vstav3:entryPoints> ögesine id özniteliğini ekleyin.
<vstav3:entryPoints id="ContosoExcel">
Derleme ekleme
ContosoOutlookAddIn ve ContosoExcelWorkbook derlemelerini <vstov4> isim uzayına yüklemek için uygulama bildirimini değiştirin.
Uygulama bildiriminde vstov4 isim uzayına derleme eklemek için
ContosoInstaller.dll.manifest dosyasında, <vstov4:customizations xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4"> ve </vstov4:customizations> ögeleri arasındaki her metni kaldırın.
ContosoOutlookAddIn.dll.manifest dosyasında, <vstov4:customizations xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4"> ve </vstov4:customizations> ögeleri arasındaki metni kopyalayın. Kodunuzu aşağıdaki gibi görünmelidir.
<vstov4:customization> <vstov4:appAddIn application="Outlook" loadBehavior="3" keyName="ContosoOutlookAddIn"> <vstov4:friendlyName> ContosoOutlookAddIn </vstov4:friendlyName> <vstov4:description> ContosoOutlookAddIn - Outlook add-in created with Visual Studio Tools for Office </vstov4:description> </vstov4:appAddIn> </vstov4:customization>
ContosoInstaller.dll.manifest dosyasında, <vstov4:customizations xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4"> ögesinden sonra kodu yapıştırın.
Bu özelleştirmeyi diğerlerinden ayırt etmek için <vstav3:customization> ögesine id özniteliğini ekleyin. Önceki işlemde <vstav3:entryPoints> ögesine eklenmiş kimlik ile bu kimlik aynıdır.
<vstov4:customization id="ContosoOutlook">
ContosoExcelWorkbook.dll.manifest dosyasından, <vstov4:customizations xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4"> ve </vstov4:customizations> ögeleri arasındaki metni kopyalayın. Aradığınız aşağıdaki kodu benzer: yalnızca <solutionId> öğesi değişir.
<vstov4:customization> <vstov4:document solutionId="73e" /> </vstov4:customization>
ContosoInstaller.dll.manifest dosyasında, <vstov4:customizations xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4"> ögesinden sonra kodu yapıştırın.
Bu özelleştirmeyi diğerlerinden ayırt etmek için <vstov4:customizations xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4"> ögesine id özniteliğini ekleyin. Önceki işlemde <vstav3:entryPoints> ögesine eklenmiş kimlik ile bu kimlik aynıdır.
<vstov4:customization id="ContosoExcel">
Belge düzeyi projesi değiştirme
Çoklu proje dağıtımı tüm belge düzeyi projeleri için kimlik için append gerekir _AssemblyLocation özel belge özelliği. Bu bölüm nasıl güncelleştirileceğini gösterir _AssemblyLocation özelliği ContosoExcelWorkbook.xlsx dosyasını ve bu adım tüm belge düzeyi projeleri için yinelenen gerekir.
Excel veya Word 2010 _AssemblyLocation değiştirmek için
Excel'de, seçim Dosya sekme.
Seçim bilgi düğmesi.
Seçin özelliklerini aşağı açılan oku ve sonra seçim Gelişmiş Özellikler.
Seçim özel sekme.
İçinde özelliklerini bölmesinde seçin _AssemblyLocation.
İçinde değeri textbox, kaldırmak için metni düzenleme |vstolocal (metin varsa) ve |id=ContosoInstaller.
Tamam düğmesini seçin.
Bildirimleri Yeniden İmzalama
Uygulama ve dağıtım bildirimlerini sertifika ile imzalama. Bu, dosyaların değiştirilmediğinden emin olmanızı sağlar.
Uygulama ve dağıtım bildirimlerini yeniden imzalama
Copy Contosoınstaller_temporarykey.pfx gelen sertifika dosyasını Studio 2012\Projects\ContosoInstaller\ContosoInstaller %USERPROFILE%\Documents\Visual çözüm dizine Dosyaları\ContosoInstaller_1_0_0_0 c:\publish\Application dizin.
Visual Studio Komut istemini açın.
the c:\yayımla\Uygulama Dosyaları\ContosoInstaller_1_0_0_0 dizinine değiştirin.
Değiştirilmiş uygulama bildirimini aşağıdaki komut ile imzalayın:
mage -sign ContosoInstaller.dll.manifest -certfile ContosoInstaller_TemporaryKey.pfx
"ContosoInstaller.dll.manifest başarıyla imzalandı" iletisi görüntülenir.
c:\publish dizinine geçin.
Dağıtım bildirimini aşağıdaki komut ile güncelleştirin ve imzalayın:
mage -update ContosoInstaller.vsto -appmanifest "Application Files\ContosoInstaller_1_0_0_0\ContosoInstaller.dll.manifest" -certfile "Application Files\ContosoInstaller_1_0_0_0\ContosoInstaller_TemporaryKey.pfx"
"ContosoInstaller.vsto başarıyla imzalandı" iletisi görüntülenir.
ContosoInstaller.vsto dosyasını c:\yayımla\Uygulama Dosyaları\ContosoInstaller_1_0_0_0 dizinine kopyalayın.
Birden Çok Proje Dağıtımını Test Etme
Aşağıdaki işlem, bildirimin Outlook eklentisine ve Excel çalışma kitabına yüklenmesini sağlar.
Birden çok proje dağıtımını test etmek için
c:\publish dizinini test bilgisayarına kopyalayın.
Birden çok proje dağıtımı yüklemek için Setup programını çalıştırın.
Microsoft Office Özelleştirme Yükleyicisi görüntülenir.
Seçim Yükleme.
Microsoft Office Özelleştirme Yükleyicisi iletişim kutusu aşağıdaki iletiyi gösterir: "Microsoft Office özelleştirmesi başarıyla yüklenmiştir."
Eklentinin çalıştığını doğrulamak için Outlook’u açın.
Belge düzeyinde özelleştirmenin çalıştığını doğrulamak için Excel çalışma kitabı dosyasını açın.
Yüklenen uygulamaların listesinde birden çok proje dağıtımının tek bir girdiye sahip olduğunu doğrulayın.
Windows XP'de Denetim Masası'ndaki Program Ekle/Kaldır veya Windows Vista'da Programlar ve Özellikler ContosoInstaller'ı gösterir.
Yayımlama Dizinini Temizleme
Aşağıdaki işlem, yayımlama dizinindeki bütün gereksiz dosyaları kaldırır.
Yayımlama dizinini temizlemek için
c:\yayımla\Uygulama Dosyaları\ContosoInstaller_1_0_0_0 dizininden aşağıdaki dosyaları kaldırın.
ContosoExcelWorkbook.dll.manifest
ContosoExcelWorkbook.vsto
ContosoInstaller.dll.deploy
ContosoInstaller.docx
ContosoInstaller_TemporaryKey.pfx
ContosoOutlookAddIn.dll.manifest
ContosoOutlookAddIn.vsto
Aşağıdaki dosyaları c:\yayımla dizininden kaldırın.
ContosoExcelWorkbook.vsto
ContosoInstaller.docx
ContosoOutlookAddIn.vsto
Ayrıca bkz.
Görevler
Nasıl yapılır: uygulama ve dağıtım bildirimleri yeniden imzalamaya
Kavramlar
ClickOnce Uygulamaları Güvenliğini Sağlama