İzlenecek Yol: ClickOnce Yüklemesinden Sonra Bir Belgeyi Kullanıcı Bilgisayarına Kopyalama
ClickOnce dağıtım sonrası eylemi kullanarak belge düzeyi Office çözümleri yükleyip belgeyi son kullanıcı bilgisayarına kopyalayabilirsiniz. Bu, kurulumdan önce uygulama bildirimini değiştirmeyi, uygulama ve dağıtım bildirimlerinin ikisini de yeniden imzalamayı gerektirir.
Uygulama alanı: Bu konudaki bilgiler, Microsoft Office 2010 ve 2007 Microsoft Office sisteminin 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 anlatım aşağıdaki görevleri gösterir:
Dağıtmak üzere bir Office çözümü oluşturma.
Bir belgeyi son kullanıcının masaüstüne kopyalayan bir dağıtım sonrası eylemi meydana getirme.
Dağıtım sonrası eylemini çalıştırmak için için yükleyici projenin uygulama bildirimini değiştirme.
Uygulama ve dağıtım bildirimlerini yeniden imzalama.
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.
Ön Koşullar
Bu anlatımı tamamlamak için aşağıdaki bileşenlere ihtiyacınız vardır:
-
Microsoft Office geliştirici araçlarını içeren bir Visual Studio 2010 sürümü. Daha fazla bilgi için bkz: [Office Çözümeri Geliştirmek İçin Bilgisayarı Yapılandırma](bb398242\(v=vs.100\).md).
Excel 2007 veya Excel 2010.
Test bilgisayarı.
Yeni Bir Proje Oluşturma
İlk başta bir Excel Çalışma Kitabı Projesi oluşturun.
Yeni bir Excel projesi oluşturmak için
Bir Excel belge düzeyi projesi oluşturun. Projeyi ExcelWorkbook olarak adlandırın ve %USERPROFILE%\Documents\Visual Studio 2010\Projects dizinine kaydedin. Daha fazla bilgi için bkz. Nasıl Yapılır: Visual Studio'da Office Projeleri Oluşturma.
Visual Studio tasarımcıda yeni Excel çalışma kitabını açar ve Çözüm Gezginine ExcelWorkbook projesini ekler.
Dağıtım Sonrası Eylemini Tanımlayan Sınıf Kitaplığı Projesi Oluşturma
Dağıtım sonrası eylemini ayrı bir sınıf kitaplığında tanımlamanız gerekir. Bu dağıtım sonrası eylemi, belgeyi son kullanıcının masaüstüne kopyalar.
Dağıtım sonrası eylemi için bir sınıf kitaplığı oluşturmak için
Dosya menüsünde Ekle'ye gelin ve sonra Yeni Proje'yi tıklayın.
Yeni Proje Ekle iletişim kutusunda, Yüklü Şablonlar bölmesinde, Windows'a tıklayın.
Şablonlar bölmesinde, Sınıf Kitaplığı'nı tıklatın.
Ad alanına FileCopyPDA yazın ve Tamam'ı tıklatın.
Çözüm Gezgininde, FileCopyPDA'i tıklayın.
Proje menüsünde, Başvuru Ekle'yi tıklatın.
Başvuru Ekle iletişim kutusunda .NET sekmesine aşağıdaki başvuruları ekleyin:
Eğer Excel projeniz .NET Framework 3.5'i hedefliyorsa başvuruları Microsoft.VisualStudio.Tools.Applications.Runtime.v10.0'a ve Microsoft.VisualStudio.Tools.Applications.ServerDocument.v10.0'a ekleyin.
Eğer Excel projeniz .NET Framework 4'i hedefliyorsa başvuruları Microsoft.VisualStudio.Tools.Applications.Runtime'a ve Microsoft.VisualStudio.Tools.Applications.ServerDocument'a ekleyin.
Class1 kod dosyasının üst kısmına aşağıdaki using veya Imports ifadelerini ekleyin.
Imports Microsoft.VisualStudio.Tools.Applications.Deployment Imports Microsoft.VisualStudio.Tools.Applications
using Microsoft.VisualStudio.Tools.Applications.Deployment; using Microsoft.VisualStudio.Tools.Applications; using System.IO;
Sınıfı FileCopyPDA olarak yeniden adlandırın ve ardından bu FileCopyPDA sınıfına aşağıdaki kodu ekleyin. Bu kod, FileCopyPDA sınıfının IAddInPostDeploymentAction sınıfından türetildiğini belirtir.
Public Class FileCopyPDA Implements IAddInPostDeploymentAction
public class FileCopyPDA : IAddInPostDeploymentAction
Aşağıdaki kodu IAddInPostDeploymentAction.Execute yöntemini uygulamak için ekleyin. Bu kod aşağıdaki görevleri gerçekleştirir:
Çözüm yüklenmiş veya güncelleştirilmişse Excel çalışma sayfası dosyasını kullanıcının masaüstüne kopyalar.
Dağıtım bildirimi için _AssemblyLocation özelliğini göreli yoldan tam yola çevirir. Bu, AddCustomization ve RemoveCustomization yöntemleri kullanılarak yapılır.
Çözüm kaldırılmışsa, dosyayı siler.
Not
Dağıtım sonrası eylem için kaldırma adımı sırasında çalıştırılır.net Framework 3.5.
Sub Execute(ByVal args As AddInPostDeploymentActionArgs) Implements IAddInPostDeploymentAction.Execute Dim dataDirectory As String = "Data\ExcelWorkbook.xlsx" Dim file As String = "ExcelWorkbook.xlsx" Dim sourcePath As String = args.AddInPath Dim deploymentManifestUri As Uri = args.ManifestLocation Dim destPath As String = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) Dim sourceFile As String = System.IO.Path.Combine(sourcePath, dataDirectory) Dim destFile As String = System.IO.Path.Combine(destPath, file) Select Case args.InstallationStatus Case AddInInstallationStatus.InitialInstall, AddInInstallationStatus.Update System.IO.File.Copy(sourceFile, destFile) ServerDocument.RemoveCustomization(destFile) ServerDocument.AddCustomization(destFile, deploymentManifestUri) Exit Select Case AddInInstallationStatus.Uninstall If System.IO.File.Exists(destFile) Then System.IO.File.Delete(destFile) End If Exit Select End Select End Sub
public void Execute(AddInPostDeploymentActionArgs args) { string dataDirectory = @"Data\ExcelWorkbook.xlsx"; string file = @"ExcelWorkbook.xlsx"; string sourcePath = args.AddInPath; Uri deploymentManifestUri = args.ManifestLocation; string destPath = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory); string sourceFile = System.IO.Path.Combine(sourcePath, dataDirectory); string destFile = System.IO.Path.Combine(destPath, file); switch (args.InstallationStatus) { case AddInInstallationStatus.InitialInstall: case AddInInstallationStatus.Update: File.Copy(sourceFile, destFile); ServerDocument.RemoveCustomization(destFile); ServerDocument.AddCustomization(destFile, deploymentManifestUri); break; case AddInInstallationStatus.Uninstall: if (File.Exists(destFile)) { File.Delete(destFile); } break; } }
Çözümü Derleme ve Yayımlama
Office çözümlerini geliştirme bilgisayarınızda derleyip yayımlamak için Yayımlama Sihirbazı'nı veya Proje Sayfası'nı kullanın.
Excel projesini yayımlamak için
Çözüm Gezgini'nde, FileCopyPDA projesine sağ tıklayın ve sonra Derle'yi tıklayın.
Çözüm Gezgini'nde, ExcelWorkbook projesine sağ tıklayın ve sonra Derle'ye tıklayın.
Çözüm Gezgini'nde ExcelWorkbook projesini sağ tıklayın ve Başvuru Ekle'yi tıklayın.
Başvuru Ekle iletişim kutusunda Projeler sekmesini tıklayın.
FileCopyPDA'i ve ardındanTamam'ı tıklayın.
Çözüm Gezgini'nde ExcelWorkbook projesini tıklayın.
Proje menüsünde, Yeni Klasör'ü tıklatın.
Data yazın ve Enter tuşuna basın.
Çözüm Gezgini'nde, Veri dosyasına tıklayın.
Proje menüsünden Varolan Öğe Ekle'yi tıklayın.
Varolan Proje Ekle iletişim kutusunda, ExcelWorkbook projesinin çıktı konumunu bulun.
ExcelWorkbook.xlsx'yi ve sonra da Ekle'yi tıklayın.
Çözüm Gezgini'nde ExcelWorkbook.xlsx projesini tıklayın.
Not
Bu dosya daha sonra değiştirirseniz, dosya dosyasının en son sürümünü ekleyerek güncelleştirdiğinizden emin olun.
Özellikler penceresinde, Derleme Eylemi özelliğini İçerik, Çıktı Dizinine Kopyala özelliğini Yeniyse kopyala olarak değiştirin.
ExcelWorkbook projesini c:\publish klasöründe yayımlayın. Daha fazla bilgi için bkz. Nasıl Yapılır: Office Çözümünü ClickOnce Kullanarak Dağıtma.
Uygulama Bildiriminde Değişiklik Yapma
Uygulama bildirimini File Copy dağıtım sonrası eylemini çalıştırması için değiştirmek amacıyla Visual Studio'daki XML düzenleyicisini kullanın. Bir uygulama bildirimi içeriğini bir kutu tüm içeriğini listeleyen bir ürün reçeteleri için benzer; bir uygulama bildirimi tüm ön koşul ve bağımlı derlemelerin listeler. Uygulama listesi Office çözüm için de uygulama düzeyinde eklentileri ve belge düzeyinde özelleştirmeleri için Office uygulaması tarafından yüklenmesi gereken derlemeler listeler.
Uygulama bildirimine yükleme bağımlılıklarını eklemek için
c:\publish klasörünü doğrudan Windows Explorer ile açın.
Application Files klasörünü, ardından ExcelWorkbook_1_0_0_0 klasörünü açın.
ExcelWorkbook.dll.manifest dosyasını bir metin düzenleyicisinde açın.
</vstav3:update> öğesinden sonra aşağıdaki kodu ekleyin. <vstav3:entryPoint> öğesinin sınıf özniteliği için aşağıdaki sözdizimini kullanın: İsimUzayıAdı.SınıfAdı. Bu örnekte, isim uzayı ve sınıf adları aynıdır; bu yüzden, oraya çıkan giriş noktasının adı FileCopyPDA.FileCopyPDA'dir.
<vstav3:postActions> <vstav3:postAction> <vstav3:entryPoint class="FileCopyPDA.FileCopyPDA"> <assemblyIdentity name="FileCopyPDA" version="1.0.0.0" language="neutral" processorArchitecture="msil" /> </vstav3:entryPoint> <vstav3:postActionData> </vstav3:postActionData> </vstav3:postAction> </vstav3:postActions>
Bildirimleri Yeniden İmzalama
Aşağıdaki yordamda uygulama bildirimi imzalanır ve dağıtım bildirimi güncellenir. Bu işlem, son kullanıcı bilgisayarları üzerinde değiştirilen dosyaların yüklenmediğini garanti eder.
Uygulama ve dağıtım bildirimlerini yeniden imzalama
ExcelWorkbook_TemporaryKey.pfx sertifika dosyasını %USERPROFILE%\Documents\Visual Studio 2010\Projects\ExcelWorkbook\ExcelWorkbook çözüm dizininden c:\publish\Application Files\ExcelWorkbook_1_0_0_0 dizinine kopyalayın.
Visual Studio Komut istemini açın.
c:\publish\Application Files\ExcelWorkbook_1_0_0_0 dizinine geçin.
Değiştirilmiş uygulama bildirimini aşağıdaki komut ile imzalayın:
mage -sign ExcelWorkbook.dll.manifest -certfile ExcelWorkbook_TemporaryKey.pfx
"ExcelWorkbook.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 ExcelWorkbook.vsto -appmanifest "Application Files\Ex celWorkbook_1_0_0_0\ExcelWorkbook.dll.manifest" -certfile "Application Files\ExcelWorkbook_1_0_0_0\ExcelWorkbook_TemporaryKey.pfx"
"ExcelWorkbook.vsto başarıyla imzalandı" iletisi görüntülenir.
ExcelWorkbook.vsto dosyasını c:\publish\Application Files\ExcelWorkbook_1_0_0_0 dizinine kopyalayın.
Dağıtım Sonrası Eylemini Sınama
Aşağıdaki işlem, güncellenmiş bildirimin Excel çalışma kitabını yüklemesini ve çalışma kitabını son kullanıcının masaüstüne kopyalamasını sağlar.
Dağıtım sonrası eylemini sınamak için
c:\publish dizinini test bilgisayarına kopyalayın.
Setup.exe programını çalıştırın veya önkoşullar test bilgisayarında yüklü ise ExcekWorkbook.vsto dağıtım bildirimini çift tıklayın.
Microsoft Office Özelleştirme Yükleyicisi görüntülenir.
Yükle’yi tıklatın.
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." Excel çalışma kitabı son kullanıcının masaüstüne kopyalanır.
Masaüstünden ExcelWorkbook.xlsx dosyasını açın.
Ayrıca bkz.
Görevler
Nasıl Yapılır: Uygulama ve Dağıtım Bildirimlerini Yeniden İmzalama.
Kavramlar
Gelişmiş Office Çözümleri Dağıtımı
Diğer Kaynaklar
Değişiklik Geçmişi
Tarih |
Geçmiş |
Nedeni |
---|---|---|
Eylül 2010 |
Değiştirilen Studio 10\Projects %USERPROFILE%\Documents\Visual için %USERPROFILE%\Documents\Visual Studio 2010\Projects. |
İçerik hata düzeltmesi. |