none
Ist Word in 64-Bit-Version installiert ? RRS feed

  • Frage

  • Hallo,

    mein Programm arbeitet unter Word2000 bis Word2010 (32Bit). Das Installationsprogramm habe ich mit Innosetup geschrieben. Mittels com-Schnittstelle ermittle ich, ob Word auf dem Rechner installiert ist und in welcher Version. Außerdem werden die entsprechenden Pfade (Vorlagenordner, Startup-Ordner) ermittelt. Wie kann ich ermitteln, ob Word in der 64-Bit-Version installiert ist ? Wie kann ich ermitteln, ob es sich nur um die Starter-Version von Word handelt ? Welchen Aufwand bedeutet es eigentlich ein umfangreiches VBA-Projekt (ca. 1,5 Mbyte) auf 64-Bit umzustellen ?

    Viele Grüsse

    Thomas !

     

    Mittwoch, 31. August 2011 05:13

Antworten

Alle Antworten

  • Hallo Thomas,

    Wegen Word 2010 Version, ob 32 bit oder 64 bit ist:

    Man könnte die Application.ProductCode abfragen. Product Code ist unterschiedlich für 32 und 64 Bit Versionen: Product Codes

    [quote]

    The 32-bit and 64-bit versions of an application's package must have different product codes.

    [/quote]

    Word 2010 32 Bit hat: {90140000-0011-0000-0000-0000000FF1CE}

    Word 2010 64 Bit hat: {90140000-000F-0000-1000-1000000FF1CE}

     

    Grüße,

    Bogdan

    Donnerstag, 1. September 2011 07:40
  • Hallo Bogdan,

    das ist erstmal prinzipell eine gute Idee. Über Application.Version fragt man zuerst die Version ab und wenn Version 14 installiert ist wird zusätzlich Application.ProductCode abgefragt.

    Bei mir kam allerdings für Word2010 (Home and Student) 32 Bit ein anderer ProductCode

    90140000-003D-0000-0000-0000000FF1CE

    Hat da jedes Paket von Office einen anderen ProductCode - wenn ja wo kriegt man die her ?

    Oder reicht vielleicht der vergleich des letztes Code-Blockes ?

    Vielen Dank

    Thomas !

     

    Donnerstag, 1. September 2011 08:24
  • Hallo Thomas,

    Gefunden! Hier findet man die ProductCode Teile genau beschrieben:

    Beschreibung des Nummerierungsschemas für Produktcode-GUIDs in Office 2010

    Das bedeutet, dass genau diese Position (21) mir die Bit Info zurück gibt:

    {BRMMmmmm-PPPP-LLLL-p000-D000000FF1CE}

    p=0 für 32 bit Version

    p=1 für 64 bit Version

    If Mid(Application.ProductCode,21,1)=0 then

    ’32 bit

    Else

    ’64 bit

    End If

    Grüße,

    Bogdan

    Donnerstag, 1. September 2011 13:24
  • Hallo Bogdan,

    super das ist genau das was ich benötige - vielen Dank !

    Nun noch zum 2. Teil meiner Frage, hast du auch schon Projekte von der 32-Bit-Version in die 64-Bit-Version übertragen und hast Erfahrungen damit was dies für einen Aufwand benötigt ?

    Viele Dank nochmal und schöne Grüsse

    Thomas !

     

    Donnerstag, 1. September 2011 13:41
  • Hallo Thomas,

    gern geschehen!

    Alle Unterschiede zwischen 32 bit VBA Programme und 64 bit VBA Programme sind hier dargestellt:

    Kompatibilität zwischen der 32-Bit-Version und der 64-Bit-Version von Office 2010

    Es gibt sogar ein Tool, das die 64bit - 32bit Inkompatibilitäten zeigt.

    Benutzerhandbuch für Microsoft Office Code Compatibility Inspector

     

    Viele Grüße,

    Bogdan


    Donnerstag, 1. September 2011 14:21
  • Hallo Bogdan,

    das sieht erst mal nach viel Arbeit aus - ich denke ich werde irgendwann die Unterstüzung für Word2000-2003 einstellen müssen und dann eine 32-Bit und eine 64-Bit-Version für die neuen Word-Versionen unterstützen. Ansonsten müsste ich parallel 3 Versionen pflegen. Aber vielen Dank ist ein hilfreicher Link !

    Viele Grüsse

    Thomas !

    Samstag, 3. September 2011 05:38