Category Archives: Tools

Lots of news from SourceGear

geesh – just when I’ve got my new server stable and had long talks with Steve Smith about how phenomenal SourceGear Vault is and was about to install my personal edition of Vault and was prepared to be very impressed and then blog about it and then thanks to my millions of readers, SourceGear would get a sudden huge burst of sales…

Eric Sink goes and makes SourceGear Single User a FREE PRODUCT, drops the price of the flagship product and releases a list of all the cool new things in 2.0.

Well!

Now here is just what’s so cool, what’s so Eric, about all of this.

(my read on this) Their sales are so good, so much more than expected, that they can afford, with volume discounts, to sell the main products for 1/4 of what they were previously. How unAmerican! (kidding)

His post on this is a must read.

I have a sister who is a phenomenal sales person and learned a similar lesson from her. It’s in the volume. Then if the price is right, your sales will be so high, that the volume makes up for the “loss“. And there is huge value to having mass quantities of your product out there. Which is probably what will happen now with Vault.

And Eric and his company will be loved and cherished by all of those lone-coders.

Go get em!!!

A thought about Reporting Services / Crystal/ Active Reports

My client and I are getting ready to start sharing reports via the web with clients.

These are the same reports we have in windows apps (VB6 and Winforms).

I want to generate the reports dynamically because there will be so many. There are thousands of clients (though only maybe 50 active at a time) and each client could have a number of projects and depending on the type of project, a *huge* variety of possible reports to choose from. We looked at this a few years ago with a company that had a whole management front end written that would juggle pdf or other doc types. But we would have had to export and send every single report for every single client. Egads. Dynamic generation please

So I seem to have these choices

Reporting Services
Win/Web Report Design: Web reports created with Microsoft’s VS.NET based design tool
Still need to create my Windows reports with Crystal or ActiveReports
Management: built in
If we keep our current set up of webserver and sql server on the same box, we are golden with no extra licensing fees

Crystal Reports (this link may come as a surprise to some…)
Win/Web Report Design: Likely will get two for one creating report that can be viewed in WinForms or ASP.NET
Management:Will have to write my own asp.net app for report management
$$: Pay through the nose to license Crystal for use on the web

ActiveReports
Win/Web Report Design:Two for one report creation for Winforms/ASP.NET
Management:Will have to write my own asp.net app for report management
$$: Affordable Licensing

Other thoughts

I can easily have an ASP.NET front end to get at a report and a WinForms front end to get at the same report.

But I have a lot of pro/con weighing to do now.

I’d be curious to hear from anyone who has gone through this thought process to solve this same type of problem…

IIS6 and Visual Studio/Interdev 6

Oh no. Here we go again. My client asked me to make a minor change in their old website which I did in InterDev. I never updated it to asp.net since it is a rarity to make a change.

I couldn’t open up my project in VI6 because I don’t have the FrontPage98 server extensions on the new box.

After googling for a quick fix (for over a quick 90 minutes) I just finally went into notepad on the live machine and modified the damned file (late at night – not a problem).

 

ASP.NET, IIS6, NETWORK SERVICE and SQL Server

Hooo whee did I have fun yesterday and once again learned a lot about something that was low on my list of things to learn! This is about solving the problem of the default IIS6 security account not having access to SQL Server and some lessons in managing that security account.

I have a new Win2003 Server with IIS6 set up. I’m not sure in Windows creates this account or IIS6 does, but IIS6 defaults to using the account “NT Authority/Network Service“ as it’s main security account. You can actually change this if you want. In the Application Pool you see in IIS, you have an option to change the identity of the main security account for IIS. There are 3 defaults or you can select your own account.

I have a domain controller. In Win2000 Server, I had to use the IWAM_Server as my main security account. That means I had to give this account NTFS permissions on my web folders and also in SQL Server. I don’t know if there was a way to change the account in IIS5, but if there was, it was elusive. In fact, I had to deal with this when I made some changes to my Win2000 Server and suddenly couldn’t debug ASP.NET, etc. It’s because I now had to give taht IWAM account access to everything. In fact, here is the post where I learned that lesson – the real lesson was thanks to a comment by Mark Pearce.

On to Windows2003 and IIS6. I was able to debug, but my asp.net apps now didn’t have access to SQL Server.

Googling, I saw that I could via TSQL, just add the Network Service account to SQL Server. Through Enterprise Manager, that account is not exposed, but you can do it through TSQL (and then see it in Ent. Mgr). But I didn’t do it correctly the first time. I added it to a user database (Users), and not to the “master” database, which is the same as adding it to Security/Logins. So thinking that it just hadn’t worked, I looked a little harder which is where I got my big lesson. What I did not want to do (even though this is just my development environment and used only by me) was just switch over to mixed authentication. I was bound and determined to use integrated security!

Remember, I am a developer, not a “real“ dba or sysadmin!

What I learned, thanks to some help from a Dave Burke post and also a conversation with Brad Kingsley from Orcsweb on the ASPAdvice security listserv, was how to change the security account in IIS (Application Pool/Identity). Not only can you choose from one of the defaults, but you can also choose any of the server accounts (well, they may be filtered) but my IWAM_server account was what I wanted and knew how to work with so that’s what I chose. This cleared up all of my sql access problems, because I had set up that account when I installed SQL Server on that box. But, it was the NETWORK SERVICE account that had been given all of the appropriate permissions on my application folders. I started getting errors left and right when trying to run/debug my asp.net app. Not even on the folders where the application was, but the windows/.net framework/v…/aspnet temp  folder and other folders on my system drive (my app folders are on a separate drive.)

I started hacking – permission here permmission there, but the problem didn’t go away AND I did NOT like that I was doing this manually because I might have been creating another bad effect elsewhere. I did think later that maybe some tool like IISReg might have done this for me. I’m not saying this is a bad option. The nice thing here is that if you need to, you can have this type of granular control over IIS. Me – I don’t happen to need them, gimme those defaults and thank you for all of the automated setup!!!

But instead, I set everything back to the defaults, including the IIS security account, and went back to SQL Server. This time, in TSQL, I went to the master database and typed

sp_grantlogin ‘NT AUTHORITY\NETWORK SERVICE’

Problem solved. Now my asp.net was allowed to talk to SQL Server, then I just had to go into my database and give that account (now available in Ent. Mgr) access to what I wanted it to have access to.

UI – Resizing grid columns in Infragistics UltraWinGrid

I am working on a form and have to make sure that the columns all are the correct width for the maximum data that can be entered. Some cols may have data like “111” (which will require a wider column for “333”. Some cols may have “9999.9”. So in order to properly set the sizes, I created a handly little function that will not be on in run time, only design time. It just tells me what I have resized the column widths to, so that I can go back and apply the correct widths in my grid formatting code.

Private Sub UltraGrid1_AfterColPosChanged(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.AfterColPosChangedEventArgs) Handles UltraGrid1.AfterColPosChanged

MessageBox.Show(“col width=” & e.ColumnHeaders(0).Column.Width)

End Sub

If you have a boolean that indicates you are loading the form, you might want to wrap that around the messagebox function so you don’t get a popup for each cell as the form is rendering.

Not earth shattering, but a nice trick instead of guessing!

Norton Anti-Virus users – Intelligent Updater for up to the minute definitions

Update: Even after doing the intelligent updater, my NAV continued to say that I was only running the 1/18 definitions. I finally checked my activity log and saw that indeed, since I ran the Updater, NAV has been catching “W32.Novarg.A@mm“ which is one of the names of this virus.

I could not figure out why my latest virus definitions kept saying 1/18 even after I manually ran live update. Here’s why!!

LiveUpdate
LiveUpdate is the easiest way to obtain virus definitions. These virus definitions have undergone full quality assurance testing by Symantec Security Response and are posted to the LiveUpdate servers once each week (usually Wednesdays) unless there is a major virus outbreak. This is the easiest option for most home and small business users, and it provides a very high level of protection along with ease of use.

Intelligent Updater
Intelligent Updater virus definitions have undergone full quality assurance testing by Symantec Security Response. They are posted on U.S. business days (Monday through Friday). They must be downloaded from the Symantec Security Response
download virus definitions page and installed manually.

hahahahahaha (a SQL Server Joke)

Just because I have had one or ten roadblocks every step of the way of rebuilding my server, I thought that this was very funny (thank goodness my sense of humor has returned after a good nights’ sleep!)

When trying to install SQL Server 2000 Ent from my 12/03 MSDN Universal CD on to a Windows 2003 server with all updates applied:

“SQL Server 2000 SP2 is not supported by this version of windows”

hahahahahahahaha

Of course I’m not the first person to see this, but it was a little suprising and the  solution is really just to ignore the message as I see in the many posts that google showed me.