Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Word Version (32 oder 64 bit) ermitteln (https://www.delphipraxis.net/176041-word-version-32-oder-64-bit-ermitteln.html)

gugelhupf 8. Aug 2013 09:52

Word Version (32 oder 64 bit) ermitteln
 
Tag zusammen :)

nachdem ich nun meine Google-Suchfähigkeiten ausgeschöpft habe und auch hier nichts passendes finde, Frage an die Allgemeinheit:

Ich habe das Problem, dass die ODBC-Datenquellen für die 64bit-Version von Word (Office) anders anzusprechen bzw. anzulegen sind als für die 32bit-Variante. Dies mache ich nun manuell über die Registry. Soweit, so schlecht.

Wie kann ich nun identifizieren, ob es sich bei dem installierten Office bzw. spezifisch Word um die 64bit-Variante handelt?

Ab W7 sicherlich einfach, da es vermutlich im Programmepfad mit der (x86) im Namen installiert ist (kann aber vllt. auch woanders installiert sein, oder?)
Wenn Outlook mitinstalliert wurde, könnte man es am Eintrag "Bitness" in der Registry festmachen - wenn Outlook aber nicht mit installiert wurde, wird dieser Wert nicht geschrieben.
Bis W7 könnte es ja in einem normalen Programmepfad liegen, wo keine "x86" im Namen enthalten ist. Daher die Problematik...

Jemand einen Tipp, wie man es sonst noch herausfinden könnte? :thumb:

RWarnecke 8. Aug 2013 10:55

AW: Word Version (32 oder 64 bit) ermitteln
 
Das Office 32Bit wird im 32Bit Schlüssel installiert und das 64Bit Office im 64Bit-Schlüssel der Registry. Für Office 2013 wäre das hier HKLM\SOFTWARE\Microsoft\Office\15.0\Common\Product Version.

gugelhupf 8. Aug 2013 11:06

AW: Word Version (32 oder 64 bit) ermitteln
 
Zitat:

Zitat von RWarnecke (Beitrag 1223995)
Das Office 32Bit wird im 32Bit Schlüssel installiert und das 64Bit Office im 64Bit-Schlüssel der Registry. Für Office 2013 wäre das hier HKLM\SOFTWARE\Microsoft\Office\15.0\Common\Product Version.

Ich hab Office 2010 (außerdem sollte es auch für Office-Versionen ab 2000 funktionieren!) und im 14.0er Office (2010) gibt es keinen Key "ProductVersion" :(

p80286 8. Aug 2013 12:17

AW: Word Version (32 oder 64 bit) ermitteln
 
Dann frag doch Word (oder Excel...)
Code:
Sub mm()
MsgBox "The version of Word is " & Application.Version
MsgBox "The system version is " & System.Version
MsgBox "The system version is " & System.OperatingSystem
System.MSInfo

End Sub
In Word2003 sind die Auskünfte etwas bescheiden, aber vielleicht Hilft's Dir trotzdem.

Gruß
K-H

RWarnecke 8. Aug 2013 13:06

AW: Word Version (32 oder 64 bit) ermitteln
 
Zitat:

Zitat von gugelhupf (Beitrag 1224001)
Zitat:

Zitat von RWarnecke (Beitrag 1223995)
Das Office 32Bit wird im 32Bit Schlüssel installiert und das 64Bit Office im 64Bit-Schlüssel der Registry. Für Office 2013 wäre das hier HKLM\SOFTWARE\Microsoft\Office\15.0\Common\Product Version.

Ich hab Office 2010 (außerdem sollte es auch für Office-Versionen ab 2000 funktionieren!) und im 14.0er Office (2010) gibt es keinen Key "ProductVersion" :(

Da muss ich Dich korrigieren, es gibt ab Version Office XP immer eine ProductVersion in der Registry. Die Office 2000 Version kannst Du über die mso9.dll abfangen. Eine 32Bit & 64Bit Version gibt es erst ab Office 2010.

gugelhupf 8. Aug 2013 13:31

AW: Word Version (32 oder 64 bit) ermitteln
 
Zitat:

Zitat von RWarnecke (Beitrag 1224023)
Zitat:

Zitat von gugelhupf (Beitrag 1224001)
Zitat:

Zitat von RWarnecke (Beitrag 1223995)
Das Office 32Bit wird im 32Bit Schlüssel installiert und das 64Bit Office im 64Bit-Schlüssel der Registry. Für Office 2013 wäre das hier HKLM\SOFTWARE\Microsoft\Office\15.0\Common\Product Version.

Ich hab Office 2010 (außerdem sollte es auch für Office-Versionen ab 2000 funktionieren!) und im 14.0er Office (2010) gibt es keinen Key "ProductVersion" :(

Da muss ich Dich korrigieren, es gibt ab Version Office XP immer eine ProductVersion in der Registry. Die Office 2000 Version kannst Du über die mso9.dll abfangen. Eine 32Bit & 64Bit Version gibt es erst ab Office 2010.

14.0.6029.1000 steht dort im Schlüssel "LastProduct" bei mir, sowohl bei der 32bit als auch bei der 64bit-Variante. Wie unterscheide ich nun zwischen 32 und 64bit?

Den Key finde ich übrigens unter HKLM\Software\Wow6432Node\Microsoft\Office\14.0\Co mmon\ProductVersion

gugelhupf 8. Aug 2013 13:32

AW: Word Version (32 oder 64 bit) ermitteln
 
Zitat:

Zitat von p80286 (Beitrag 1224012)
Dann frag doch Word (oder Excel...)
Code:
Sub mm()
MsgBox "The version of Word is " & Application.Version
MsgBox "The system version is " & System.Version
MsgBox "The system version is " & System.OperatingSystem
System.MSInfo

End Sub
In Word2003 sind die Auskünfte etwas bescheiden, aber vielleicht Hilft's Dir trotzdem.

Gruß
K-H

Version alleine bringt mir nix, ich muss wissen, ob es die 64bit oder die 32bit-Variante ist. Danach muss ich unterscheiden! :wink:

RWarnecke 8. Aug 2013 14:24

AW: Word Version (32 oder 64 bit) ermitteln
 
Zitat:

Zitat von gugelhupf (Beitrag 1224025)
HKLM\Software\Wow6432Node\Microsoft\Office\14.0\Co mmon\ProductVersion

32Bit Version

Zitat:

Zitat von gugelhupf (Beitrag 1224025)
HKLM\Software\Microsoft\Office\14.0\Common\Product Version

64Bit Version

Code-Library : Delphi-Referenz durchsuchenKEY_WOW64_64KEY

Mit diesen Angaben solltest Du die Unterscheidung hinbekommen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:10 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz