Saturday, March 10, 2007

Updating VOA to version 4.3.2

Today I downloaded a new version of VOA from Vanatec´s site. Vanatec´s support had told me, they had fixed some stuff I complained about in this blog. Well, let me see...

 1. The "installation experience" was better than last time. They indeed put all install files in a directory tagged with the version number. This makes for less clutter on my hard disk, I´d say.

2. Installation was smooth. The setup process detected I already had a VOA version installed and even a VS2005 instance running which used it. I closed VS and OpenAccess was patched instead of reinstalled.

3. After re-opening my VOA sample solution in VS2005, though, I was unable to recompile it. The OpenAccess.20 assembly referenced was out of sync with the newly installed version. Since I like to keep all my libs local to a project [download samples], I now finally copied the new VOA files to my libs folder: OpenAccess.20.dll, OpenAccess.20.xml, and OpenAccess.20.kernel.netmodule. In the future I will reference the assembly from there so I need to replace it just in one location after installing a new version.

4. The ADO.NET |DataDictionary| placeholder now works for VOA. So I set the Copy Local switch to "Copy Always" for my local databases. Now the VOA enhancer first applies all necessary changes to the database schema to the mdf residing in the project directory, then VS2005 copies this mdf to the output directory. That way my sample programs always start with a fresh database copy.

5. There was indeed a problem with the AttachDbFilename option I talked about earlier. At first I did not realize it, but then it became obvious: VOA registered the local database with the global SQL Server Express instance. That way the local database stayed attached even though the application process finished. VOA did not use the User Instance for SQL Server connection strings. But now it does! So AttachDbFilename works as expected now. My App.Config for the CRUD sample now looks like this:

    8 <connections>

    9   <connection id="DatabaseConnection1">

   10     <databasename>VOASimpleCRUDDB</databasename>

   11     <servername>.\SQLEXPRESS</servername>

   12     <integratedSecurity>True</integratedSecurity>

   13     <backendconfigurationname>mssqlConfiguration</backendconfigurationname>

   14     <connectionParams>AttachDbFilename=|DataDirectory|\VOASimpleCRUDDB.mdf</connectionParams>

   15   </connection>

   16 </connections>

I´m impressed by how fast Vanatec´s support reacted. Great! Thank you, guys!

No comments: