Wednesday, December 10, 2008

Vista x64

A new Dell Latitude E6500 with Vista x64 installed appeared in my office the other day. Its 4GB of RAM makes it a capable machine, but its black finish seems to attract dust and fingerprints. I'm always wiping it with my shirtsleeve to retain that shiny, brand-new look.

One of our applications exhibits unusual behavior when running on it. This application uses the 32-bit Oracle Data Provider. We've got several builds of this application available at any given time. Builds compiled with a 'Release' configuration have no problems. 'Debug' builds are a different matter. Certain 'modules', which are actually dynamically loaded assemblies, don't load at all. Examination of the Event Log reveals that BadImageFormatExceptions are being thrown from the Oracle.DataAccess assembly. This is mysterious because all of the modules use this assembly so I would think that none of them would load. This requires more investigation. There are some workarounds for this condition but I haven't had the time to yet implement them. I don't want to alter my OS setup so drastically that it dramatically differs from end-users' machines. Then again, none of the users are going to be running Vista x64.


<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>


I hope that Vista x64 will play nicer with Visual Studio 2008. Currently, VS2008 crashes when I return to the office in the morning if I leave it running overnight on my XP Pro machine.