Category Archives: dotNET

VS2005 Windows Forms DataSource/TableAdapter Wizard wierdness

I recently whipped together a small tool for a client and because it was so small (and for only one person to use), I used some simple drag n’ drop wizardry for the form. I created a datasource pointing to a table in the SQL Server 2005 database on my develpment machine then dragged that datasource onto a form to create a navigation toolbar and a screenfull of text boxes and checkboxes.

When I finished it up and pointed it to the live SQL Server 2000 database I was having some strange issues with inserts and updates. Specifically, SQL Server was throwing this error: “Error converting data type varchar to bit.”

A little digging showed me that the TSQL being sent to the databse was passing “True” and “False” to the bit fields rather than 0 and 1.

SQL Server 2005 didn’t seem to mind this, but SS2000 sure did!

I looked at the dataset that was created by the wizard and the bit fields were properly identified as booleans.

But when I looked at the parameters collections of the Insert and Update statements that the wizard had built, I could see that the properties of my boolean values was set to DbType=AnsiString.

So even though I prefered to know why I was seeing a difference between SS2005 and SS2000, I modified the auto-generated Insert & Update statements to make the DbType “Boolean” which passed 0’s and 1’s up to the database and everyone was happy. Changint the DbType to Boolean automatically changed the ProviderType to “Bit”. 

I have seen a few threads where people pointed out this problem but never saw any suggest my solution or provide a reason for SS2000 rejecting it. If this wizard is meant to be used by newbies, I don’t know how they would deal with a problem like this.

 

Strange ClickOnce problems on Vista

[7/13/07: See this post for the solution!]

I have run into a bizarre problem with ClickOnce that is occuring with IE7 on both of my Vista computers.

Both computers have Visual Studio 2005 SP1 and the special vista version of VS2005 SP1. And on both of these, I can’t use clickonce to install apps from  Internet Explorer. The ClickOnce mechanism wants me to install .NET.

Firefox doesn’t have this problem. (Check out this earlier post.)

Here is a SIMPLE little nothing Hello World app. The only thing in it is this form which has ZERO .NET 3.0 stuff in it. It is pure .NET 2.0.

When I set the publish properties with NO prerequisites at all:

it still wants me to install .NET (on a Vista machine with .NET 2 and .Net 3 already there by default!)

I get the same effect if I run the publisher saying “yes, build a setup exe” with NO prerequisites installed.

If I give in and Install anyway, it gets stranger. It is installing WinFX Beta 2! I have actually let it go all the way through prior to this, which is why in this case it is saying “repair,etc…”.

Even if I follow through the installation, ClickOnce continues to insist that I install it (again and again) so I can never launch /install my application.

This partciular computer has a new hard drive that I bought a few months ago on which I installed Vista Ultimate RTM, VS2005 and the service packs. No beta software has ever touched this metal.

I have done the same tests on my 2 month old laptop which also has Vista. I get the exact same results.

I have been at DevTeach for most of this week. A number of very (very) smart people who were at the conference looked at this and were equally mystified.

Brian Noyes created a hello world app in front of me and ran it with no problems.

John Bristowe pointed out the fact that it says “The following preqrequisites are required:” with nothing listed below. WIth no pre-reqs, that statement shouldn’t exist. He checked the manifest and researched the schema of the manifest and still remained mystified.

Derek Hatchard spent some time looking at the page headers to see why IE and FF behaved differently.

Prior to DevTeach, I spent many hours trying to figure this out because it was having a pretty bad effect on the demos for one of my talks at DevTeach. At DevTeach, I spent every free minute trying to solve this problem (oh and another annoyance that has to do with IIS7 being super-secure…).

I left a post in the ClickOnce forum on Monday and it has qquickly gotten buried under two pages of questions that have been asked since then, and gone unanswered. It’s a little scary how many questions people are asking on that forum.

So, I am putting it here in case anyone recognizes this problem and knows what to do about it. It sure made doing my ClickOnce session at DevTeach challenging, to say the least!

Update: at this point, I can tell the problem is not about IIS7, but it must be my computers. Once the problem began on these boxes, it now happens when, from either of these computers, I try to hit a ClickONce deployment site that is on an IIS6 server.

Get the NEW Silverlight NOW (Go Live License)

ScottGu describes SilverLight as three parts.

We’ve seen the media capabilities of silverlight. That’s the first chunk of it.

The second is the .NET capabilites of the run time … from ScottGu’s lips “a cross platform runtime of the .NEt Framework”.

(IT IS ON THE WEB RIGHT NOW as Silverlight 1.1 Alpha!!!! Note that the Silverlight 1.0 Beta is also released today. 1.0 does not have the .NET run time but it does have a goLive license.)

The third is a new service called silverlight Streaming. You can push your silverlight assets (media etc. up to 4GB) onto a Microsoft server and it will push it out to your websites for you so you don’t have to worry about server capabilities or getting slash-dotted. 😉 (This of course will scare people… about putting their code on Microsoft’s servers… but that’s another story..)

Silverlight will be a first class .NET tool

Right now Silverlight (wpf/e) is not for the feint of heart – lots of javascript coding involved.

But Ray Ozzie just announced (as I’m sitting here in the keynote) at MIX that Silverlight will support .NET as a first class .NET development environment. So you can develop silverlight apps in .NEt. This means that the silverlight  runtime will include .NEt. And since sliverlight is targetted at macs also this means that .NET will run on Macs. I’m assuming that this will be a subset of .NET, but ….. pretty cool.