2009-07-01 9 views
5

Office makinemde Office 2007 var. Küçük bir uygulamam var, Office 2003 ile bir arada çalışan bir istemci sunucusu için bir araya getirmem gerekiyor. Programım, bir gecelik parti işleminde zamanlanmış bir görev olarak çalışacaktır.Office birlikte çalışma: Office 2007 ile bir makinede 2003 PIA'ları ile geliştirme

Ne yaptığım önemli değil, Access birlikte çalışabilirlik derlemesinin 11.0 sürümünü sunucuda çalışacak şekilde bulamıyorum.

Açıkça indirerek ve makineme yükleyerek denedim. 2007 interop derlemelerini sunucuya yüklemeyi denedim (tam Office 2007 yüklemesi söz konusu değil). Birkaç farklı COM referansını denedim. Görsel stüdyo projesinde referans vermek için sunucudaki COM nesnesini aramayı denedim. Ve hepsini burada listelemek için çok fazla küçük şeyler denedim.

Neler oluyor burda? Bunu nasıl çalıştırabilirim?

+0

C: \ WINDOWS \ assembly \ GAC \ Microsoft.Office.Interop.Access? –

+0

Evet, yaptım. –

+0

Programlamakta olduğunuz ortam hakkında bir şey bilmiyorum, ancak erken bağlama kullanmanız gerekiyor mu? Office sürümünden bağımsız olarak kullanabileceğiniz hiçbir geç bağlama biçimi yok mu? –

cevap

1

Bunu yapmak için tek bir yol buldum, her iki sürümü de yan yana kurulu .Net v2 ve üstü, PIA'ya (COM lib yerine) bir başvuru eklemek oldu. Frameork v1.1, yan yana mevcut olsaydı, doğru sürüme bağlanırdı.

+0

PIA dosyasını hiçbir yerde bulamıyorum. –

+0

Tamam: Ben bir aptalım.Dosyayı sunucunun GAC'sinde bulamadım, ancak 2007 sürümü (ve 2003 PIA'larını açıkça yüklediğim halde yalnızca 2007 sürümü) yerel GAC'mde. Ne yazık ki, bu hala sunucu üzerinde çalışmıyor ve Access dosyasını açmaya çalıştığımda sadece askıda kalıyor. Ama bu tamamen farklı bir soru –

+0

Kabul etmeliyim ki, PIA'ları ilk etapta almak için, onları GAC'tan çıkardık (Office XP PIA'leri, onları daha kolay elde etmelerini sağlayan güzel bir ZIP'de geldi). Lisansla ilgili etkilerden emin değil misiniz, ancak PIA yan yana olabilir misiniz? (Açıkçası oraya hala Erişime ihtiyaç duyacaktır) –

0

PIA'yi sunucudan makinenize (yerel bir klasöre) kopyalayıp o kopyaya bir başvuru ekleyemez misiniz?

Başka bir yoldan gitmek isterseniz, PIA'ları kullanmaktan kaçının ve bunun yerine ComImport'u kullanın.

Add-ins for Multiple Office Versions without PIAs

Güncelleme (yorumun): sunucuda Erişim PIA bulamazsanız aşağıdaki deneyebilirsiniz:

Andrew Whitechapel onun blog detaylara sahip
  • İndir buradan Office 2003 PIA kurulumu: Office 2003 Update: Redistributable Primary Interop Assemblies

  • Kendi kendine ayıklanan yürütülebilir dosyayı komut satırında ayıkla (/? Tam günlük kaydı etkin

    >O2003PIA.exe /C /T:C:\PIA 
    
  • çıkarılan MSI çalıştırın:

    >msiexec -i O2003PIA.msi /l*vx log.txt 
    

    ve bir şey yüklemeyi yanlış gidip gitmediği Erişim birlikte çalışma derlemesi ve daha fazla ipuçları için günlüğünü kontrol edin) seçenekleri listelenir. Bu adımda alternatif olarak, montajı gçlendirmek için bir MSI unpacker yardımcı programını kullanabilirsiniz.

+0

Hayır, PIA dosyası el ile indirildikten ve yükledikten sonra bile, herhangi bir yerde sunucuda mevcut değil. –

+0

BTW: Linkte ilginç bir çözüm, ancak böyle bir şey kullansaydım, kod gözden geçirme zamanında odadan güldüm. Şimdi görebiliyorum: "WTF bütün bu saçmalık mı?" –

+0

Gerçekten. Sizin için tüm ComImports işleyecek VS 2010 için bekliyorum ... –

İlgili konular