Feed
Google+
Contact
XING
LinkedIn
Twitter
ICQ
meebo.com

C# – 64Bit oder 32Bit OS?

by Roland Schumacher alias GENiALi 23. September 2009 -- 173 words  -- 6975 mal gelesen

Wenn das bestimmt werden soll wird es schwierig. Ich musste einem Problem nachgehen das auftaucht wenn man mit der VSTO unter Excel in einem 64Bit OS arbeitet. Gewisse Operationen verursachen folgende Fehlermeldung:

Old format or invalid type library. (Exception from HRESULT: 0x80028018 (TYPE_E_INVDATAREAD))

Abhilfe schafft der Artikel KB320369. Der Fehler wird offensichtlich auf einen Fehler in der VSTO zurück geführt.

Ich wollte den Hack aber nicht auch unter 32Bit OS anwenden. Aber dafür muss ich irgend wie bestimmen ob der Code unter einem 64Bit oder 32Bit OS ausgeführt wird. Das .NET Framework scheint da keine Methode anzubieten um das einfach zu lösen. Im Internet sind  einige kuriose Lösungen für das Problem zu finden.

Ich habe jetzt folgende umgesetzt die unter Vista 64Bit und Windows 7 32Bit funktioniert.

//Nicht vergessen
using System.Runtime.InteropServices;


[DllImport("kernel32.dll")]
private static extern uint GetSystemWow64Directory(StringBuilder lpBuffer, uint uSize);
internal static byte GetOSBitness()
{
    StringBuilder lpBuffer = new StringBuilder(260);
    uint uSize = GetSystemWow64Directory(lpBuffer, 260);
    if (uSize > 0) return 1; //64-bit
    return 0; //32-bit
}

Gefunden –> HOWTO: Detect Process Bitness

Diese Lösung funktioniert aber nur ab Windows XP (MSDN).

kick it on dotnet-kicks.de

Tags: , , , ,

Entwicklung

Kommentare (2) -

thmas woelfer
thmas woelfer Germany
23.09.2009 17:14:35 #

using System;

namespace PostBuildTool.Infrastructure
{
  internal static class PlatformInfo
  {
    internal static bool RunningAsX64 { get { return (IntPtr.Size == 8); } }
  }
}

Antwort

GENiALi
GENiALi Switzerland
23.09.2009 19:40:13 #

Danke. Habs irgend wo gelesen aber keine Umsetzung gefunden.

Antwort

Pingbacks and trackbacks (1)+

Kommentar schreiben

  Country flag

biuquote
  • Kommentar
  • Live Vorschau
Loading

Statistik

Gesamte Posts: 1018
Dieses Jahr: 0
Diesen Monat: 0
Diese Woche: 0
Kommentare: 922
Total Bewertungen: 84
Ø Bewertung: 4,37
Meisten Kommentare
Google+ ... (28)
Beste Ø Bewertung
Tryton - Teil 6 - Installation ... (5)
Meiste Bewertungen
Windows 7 und die ersten Erfah ... (5)

Buttons

Benutzerprofil von GENiALi connection speed test network connection Bloggeramt.de Slug.ch Blog Verzeichnis und Blog Webkatalog Schumacher Roland Seitwert Valid XHTML 1.0 Transitional