İ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

  1. 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.

  2. ContosoInstaller çözümünde, ContosoOutlookAddIn ismi ile Outlook uygulama düzeyi projesi ekleyin ve kodunuzu Outlook projesine ekleyin.

  3. 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

  1. 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.

  2. ContosoOutlookAddIn projesini c:\yayımla klasöründe yayımlayın.

  3. 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.

Dd465290.collapse_all(tr-tr,VS.110).gifYü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

  1. 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.

  2. ContosoInstaller.dll.manifest, ContosoOutlookAddIn.dll.manifest ve ContosoExcelWorkbook.dll.manifest dosyalarını XML düzenleyicisinde açın.

  3. 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>
    
  4. 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.

  5. 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>
    
  6. İç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.

  7. İç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.

Dd465290.collapse_all(tr-tr,VS.110).gifGiriş 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

  1. ContosoInstaller.dll.manifest dosyasında, <vstav3:entryPointsCollection> ve </vstav3:entryPointsCollection> ögeleri arasındaki metni kaldırın.

  2. 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.

  3. ContosoInstaller.dll.manifest dosyasında, <vstav3:entryPointsCollection> ögesinden sonra kodu yapıştırın.

  4. Ekleme id özniteliğini <vstav3:entryPoints> bu giriş noktasını diğerlerinden ayırt etmek için öğe.

          <vstav3:entryPoints id="ContosoOutlook">
    
  5. 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>
    
  6. ContosoInstaller.dll.manifest dosyasında, <vstav3:entryPointsCollection> ögesinden sonra kodu yapıştırın.

  7. Bu giriş noktasını diğerlerinden ayırt etmek için <vstav3:entryPoints> ögesine id özniteliğini ekleyin.

          <vstav3:entryPoints id="ContosoExcel">
    

Dd465290.collapse_all(tr-tr,VS.110).gifDerleme 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

  1. 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.

  2. 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>
    
  3. ContosoInstaller.dll.manifest dosyasında, <vstov4:customizations xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4"> ögesinden sonra kodu yapıştırın.

  4. 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">
    
  5. 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>
    
  6. ContosoInstaller.dll.manifest dosyasında, <vstov4:customizations xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4"> ögesinden sonra kodu yapıştırın.

  7. 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

  1. Excel'de, seçim Dosya sekme.

  2. Seçim bilgi düğmesi.

  3. Seçin özelliklerini aşağı açılan oku ve sonra seçim Gelişmiş Özellikler.

  4. Seçim özel sekme.

  5. İçinde özelliklerini bölmesinde seçin _AssemblyLocation.

  6. İçinde değeri textbox, kaldırmak için metni düzenleme |vstolocal (metin varsa) ve |id=ContosoInstaller.

  7. 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

  1. 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.

  2. Visual Studio Komut istemini açın.

  3. the c:\yayımla\Uygulama Dosyaları\ContosoInstaller_1_0_0_0 dizinine değiştirin.

  4. 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.

  5. c:\publish dizinine geçin.

  6. 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.

  7. 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

  1. c:\publish dizinini test bilgisayarına kopyalayın.

  2. 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.

  3. 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."

  4. Eklentinin çalıştığını doğrulamak için Outlook’u açın.

  5. Belge düzeyinde özelleştirmenin çalıştığını doğrulamak için Excel çalışma kitabı dosyasını açın.

  6. 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

  1. 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

  2. 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

Diğer Kaynaklar

Office Çözümlerini Dağıtma