If you have scenario like this:
- In your C# / VB.NET application you are using Microsoft Access database (MDF file)
- Target machines are 64 bit machines (Vista 64 or some of the Windows Operating System flavors
- On target machines, where you plan to deploy solution, you installed Microsoft 2007 Office System Driver: Data Connectivity Components
- And still, you are experiencing error like this:
System.InvalidOperationException: The 'Microsoft.Jet.OLEDB.4.0' provider is
not registered on the local machine.
Check if your application is setup for any CPU (Properties / Build / Platform target) which is default. If that is the case, change it to x86 - at the moment, there are no 64bit drivers for Microsoft Office, so only 32bit applications will work as expected.
24.6.2008
.Net, Database, Microsoft
Dejan VesićComments (0)
One nice improvement in Vista is enhanced Task Manager - apart from very good Resource Monitor tool, there are a lot of new attributes which you can select for running processes (View / Select Columns); especially interesting are:
- Image Path Name
- Command Line:

However, Microsoft can make some tasks much complicated that they should be; reasonable expectation is that each standard application (and Task Manager is one - it is part of Windows operating system) supports at least basics of Copy / Paste - getting data displayed in a grid in some text format.
For Task Manager that is not case
- there is no way (to my knowledge) to get displayed data from grid in some text form which you can use later.
Solution for this particular problem (and many other related) is in excellent SysInternals package: ProcessExplorer will display full information about selected process and allow you to copy that info on Clipboard:

Best of all, this nice tool is not tied for any particular Windows version - it will work in Windows 2000, XP or Vista.
4.5.2008
Microsoft, Tools, Windows
Dejan VesićComments (0)
I am (happily) using Vista 32 bit for a year, both on my home (desktop) computer and on laptop. Both machines are mostly used for development (Visual Studio 2005 & 2008 and Visual Studio 2003 via Microsoft Virtual PC 2007) and usual Office tasks.
One of my tasks on work is to test new technologies - so, I decided that it is time to try new Vista: Vista 64 bit.
Hardware configuration used is pretty much standard one:
Dell Dimension E520 with Intel Core 2 Duo E4300 @ 1.8 Ghz and 2 GB RAM. Graphic card was NVIDIA GeForce 7300 LE.
Installation
Despite all my worries, installation went smoothly (apart for having 150Mb of fixes to download
) - all drivers were found and installed ok:

Basics
Once when all drivers are in place, you need software which will use your new operating system to the max. Most of 32bit software will work w/o any problems, via WOW64 technology, and it will benefit from better memory organization (you can utilize full 4Gb under Vista 64, which is not possible under XP) and more registers availabile.
You do need some native 64bit applications, for example, when mounting ISO image under Vista 64:
Mounting ISO image under Vista 64
While there is plethora of ISO software in 32 bit world (highly recommending Virtual Clone Drive, freeware), things are gloomy in 64 bit world.
There are some programs that state 64bit compatibility (MagicISO for example) but only one which proved as working under Vista 64 is Daemon Tools.
However, BIG WARNING - Daemon Tools comes with spyware / searchware! Good part is that you can select NOT TO INSTALL IT - so please do not follow click-click-click install logic but make sure to DESELECT following two options on this screen:

as well as SELECT DECLINE on next screen:

After that, you are fine.
Adding Vista 64 to network domain
There is no magic around this step; I just had little trouble to find right screen for adding computer to domain:
Control Panel -> System or even easier using keyboard shortcut: Win + Break (Pause):

(click for larger image)
Network printing (over HP LaserJet 4100)
There was a bit of a problem setting up network printer (ours is HP LaserJet 4100). There are 64 bit drivers on HP site, but Vista refused to get those installed from network location.
I even tried to fool it by installing ghost LPT1: printer and than to add network one - failed.
Finally, I installed network printer as “local” one, using TCP/IP connection and install program from HP. After that, printing is fine.
Applications
Microsoft Visual Studio 2008 Installation
This was, by far, most frustrating experience
- with number of errors, stating that it can’t install .Net Framework 3.0, than it can’t install Web Authoring Component … all red, and apparently no solution

In despair, I switched to local administrator account and all went fine! So, use your local administrator account when installing Microsoft Visual Studio 2008 on Vista 64 - it is not enough to be member of Administrators group (my initial attempts were with domain user which is member of Administrators group)
Paint.Net is brilliant example of quality program (and it is free) - elegant, efficient and does exactly what is intended for: various tasks around image editing; it is not Photoshop, but I found that I do not need anything “stronger” than Paint.Net - I highly recommend it.
I did not expected any problems with installation; however, I was getting error:
“Another installation is already in progress (Error 1618)” and failed installation; of course I used “Run as Administrator” option over Paint.NET.3.22.exe - that did not help.
Solution: start CMD prompt as Administrator, and run EXE file from there - installation will go smoothly.

QUEST Toad and Oracle
If your target database for applications is Oracle and main development tool Quest’s TOAD make sure to install 32bit Oracle client prior TOAD installation - TOAD does not support connection over native 64bit Oracle client.
Moreover, if you get cryptic error on a first connect:
Can’t initialize OCI. Error -1
make sure that you have correct version of Oracle Client; current good one is 10.2.0.3 Patch2 for Vista
Conclusion
Vista 64 is stable operating system, although it demands bit more of CPU and RAM than Windows XP/Vista 32. It has decent driver base, and if you have more than 2Gb RAM, or your primary application has native 64bit version and/or you are engaged in processing objects which require a lot of memory, it is good OS for you.
For more standard usage, I still recommend staying on Vista 32 or Windows XP - there is a wast support for drivers, software and games all around.
17.2.2008
Installation, Microsoft, Software, Vista
Dejan VesićComments (2)
If you are lucky enough
to have not one, but two alphabets in daily use, your regular task in programming will be transliteration - transformation of text from one script (alphabet) to another.
In Serbia, we are using Latin as well as Cyrillic alphabet (and that is not same Cyrillic as Russian one) and common task is conversion from one to another and vice-versa.
This is not too complicated request; you can easily create necessary procedures; however, there is a better way:
Microsoft Transliteration Utility (MTU) is not widely known, but very useful tool for just that purpose: transliteration. It can easily transliterate text either typed in a text box or from one file to another.
There is set of predefined translations:
- Serbian Cyrillic to Latin / Serbian Latin to Cyrillic
- Bosnian Cyrillic to Latin / Bosnian Latin to Cyrillic
- Hangul to Romanization
- Inuktitut to Romanization / Romanization to Inuktitut
- Malayalam to Romanization / Romanization to Malayalam
You are not limited to above set; you can easily create your own translations, using Module Development Console:

(click on image for larger version)
Creating simple textual file, you can use full power of MTU’s parsing engine: definitions of input and output characters, rules for transliteration including definitions of new states for translation state machine.
This is not the end - you can even use MTU programmatically (although please check EULA for commercial usage):
- Add reference to MSTranslitTools.DLL (it can be found in %programfiles%\Microsoft Transliteration Utility)
- Add using System.NaturalLanguage.Tools;
- Current translation files (.tms) can be found in %CommonProgramFiles%\Transliteration\Modules\Microsoft\
- Here is simple code fragment to demonstrate:
TransliteratorSpecification specification =
TransliteratorSpecification.FromSpecificationFile("Serbian Latin to Cyrillic.tms");
Transliterator transliterator = Transliterator.FromSpecification(specification);
string rezultat = transliterator.Transliterate("Vesic.Org");
Console.WriteLine(rezultat);
3.2.2008
.Net, C#, Microsoft, i18n
Dejan VesićComments (0)