Debugging with Visual Studio 2005 and Vista#

How bummed out I was when I went to debug a web application locally and my debugger in Visual Studio 2005 did not work on my brand new Vista Machine I had just built.  What?  Was this a joke?  I come to find out it wasn't.  Visual Studio 2005 does not work well and even SP1 has the debugger issue.  After researching it a little bit I began to understand why this was an issue.  The debugger actually gets into the kernel I guess.  So how do you fix this?

Well there are a few ways to do this.  The easy one is when you start visual studio you can right click the icon and select run as administrator.

Also if you want it to just work every time, you can run as a real administrator by Turning User Account Control off.  This will also disable some of those sometimes annoying modal dialog boxes when you launch certain programs.  Here is an attempt at a 10 second demo of how to do it.

Tuesday, December 05, 2006 7:47:43 AM UTC #    Comments [0]  |  Trackback

 

New Features in Windows Vista#

So I have been playing around with my new computer, well it's not new, but feels like it after upgrading to Vista, all weekend discovering new features.  I came across this entry on the Wikipedia, Features new to Windows Vista and learned many new features that I did not know existed.  I am really excited to use the full functionality of this new OS and feel bad for those that will have to wait until Jan. 30th.  Only two more months.  Probably better anyway to wait because most of the software and driver vendors are still polishing up their code to work on Vista.  Several applications don't work and / or you need to download a beta to make it work.   My graphics card that is Vista ready is not quite ready yet.  The driver I am using is in beta and is not supported.  I have crashed once already but it was worth the upgrade now because the graphics are unbelievable.  Make sure to get a new graphics card that has at least 128 MB ram, but you might as well get a 256 or 512 card.  They are coming down in price.

Monday, November 27, 2006 2:21:21 AM UTC #    Comments [0]  |  Trackback

 

Windows Vista Upgrade Bliss and Miss#

I am still in awe as I write this.  My upgrade went unbelievable smooth and the graphics and speed of my computer is so enhanced, that I cannot believe it.

When I upgraded, it said that it would not be compatible with Visual studio and SQL 2005.  I just let it go anyway.  Well it seems that Visual Studio 2005 is fine, but SQL 2005 was not.  I still get incompatiblity alerts from Vista for VS 2005, but it seems to work fine. 

So this post has lasted a couple of days in Live Writer since I have been with family over the holidays, putting up all the Christmas lights and upgrading to Vista and Office 2007.  I actually went and bought a new graphics card which is what everyone should do if you have a relatively new computer.  It is worth it.  The graphics driver (which I had to download) is still in beta because they are coordinating it with the launch.  I hope it is the business launch and not the consumer one.  They already missed the developer launch which is us msdn subscribers.  Do not spend more that $100 - $200 though.  Unless you really want the kick ass stuff for games.

Since MSDN developers subscribers were the first one to feel the pain of this upgrade, I am very surprised that they did not have a simple download or fix to this issue with sql 2005 and Visual Studio 2005.  We are the early adopters.  At lease give us some consideration when testing this product.  We live in Visual Studio and Sql server as developers.  This was the miss.

After a few hours taking advice from others on what to do about SQL 2005, I installed service pack 2 ctp version of SQL 2005.  It did not work.  Luckily I found a comment somewhere where I could launch the new SqlProv.exe tool inside the SQL server executables directory and added my admin user over and now everything works fine now.  Thank god because I need to access my local SQL server for development. I think sp1 works also, but I jumped the gun a little and wen tight to sp2 since I had read a post about how sp2 ctp was the way to go for Vista.

I know I may drink the MS Kool-aid from time to time, but I have to honestly say that most Windows users will love to upgrade and should.  Never have I played with an OS that made me really enjoy the experience.  I know that I have a fast computer already, but the OS now matches what my computer can do.  So cool.  Now is the time to buy the dream machine if your's is a few years old.  Very much worth it!  You will be so much more productive, at least after you get over the initial awe of opening and closing windows.

Sunday, November 26, 2006 10:27:30 AM UTC #    Comments [0]  |  Trackback

 

Office 2007 Upgrade Issues and Expression Web Designer#

Ironically, right before I was ready to install the RTM of Office 2007 Professional, I saw a post titled, Office 2007 won't upgrade from a prerelease version of the 2007 Office System - Office 2007 Setup Spelunking from Scott Hanselman about some issues he had had with upgrading Office 2003 to 2007. 

He had some great information about how to uninstall some things from beta versions of office 2007 that do not necessarily appear in the standard Add / Remove programs feature in XP.  He used a tool called MyUnInst which I ended up having to download also because I ran into a similar problem.  But my problem even went further which was very frustrating.  Even after removing anything that had to do with Office 2007 beta, which I never installed on my system anyway's, but found some of the same files Scott did, I still could not install. 

So I thought well, I have this program called Expression Designer Beta 1, maybe that needs to be removed also.  So when I tried to remove it, it said I could not uninstall it because of some language thing.  What?  So I downloaded and reinstalled the Expression Designer Beta 1 and then uninstalled it fine.  Then Office 2007 installed.

Well all that frustration ended up being worth it.  I love the new outlook 2007.  That alone is worth the upgrade for me.  I really do like having feeds integrated in and the integration of ie7 and office for adding feeds could not be more seamless.

Now I doubt many consumers will have the problems I had, but for other early adopters beware of the betas you have installed and make sure to remove them all to get a nice install of Office 2007.  It is definitely worth it.

Monday, November 20, 2006 6:01:46 AM UTC #    Comments [0]  |  Trackback

 

Codesmith 4.0 Released#

This is by far by favorite release of Codesmith.  It has NetTiers as part of it, which is what I use for almost every project I create.  Why would I do such a thing?  Well to save time of course.  I am not trying to sell Codesmith, but if it was my job, I would probably do very well.  You see any time a developer can save time, be more productive and write code the proper way, you feel more empowered.  For years I have known that you can create prototypes very quickly using code generation, but the code generation tools I created were just the way I write code.  This can be good, but also bad. You see, with code generation you can automate creating code that is inherently bad also.  It depends on your style and how you adapt to change.  I have learned many lessons with code gen and have learned that the one that is best is the one that is easiest to change.  NetTiers is not always the best way, but nothing is always the best way.

NetTiers should be use when you need an admin to your application especially.  If your app is constantly changing and you want more dynamic control, then code gen may not be for that project.  Also if you have a team where you want to control the way they access the data layer, then code gen is great because it standardizes the way all of the team accesses data.

Thursday, November 16, 2006 8:35:47 AM UTC #    Comments [0]  |  Trackback

 

Multiple Forms and the Enter Button in ASP.NET 2.0#

If you are using ASP.NET 2.0 and have multiple forms or submit buttons, you may have found out that you can only have one form tag in the master page and are not allowed to have another form tag in the page. 

If you want to have the user press the enter button on the keyboard to cause any of your multiple submit buttons to submit, you have to use the <asp:Panel control and set the DefaultButton property equal to the button id that is in that panel. 

For example, I had an asp:Login control in a master page and also a search form.  When the user wanted to search and hit the enter key, it would try to login.  You could set the DefaultButton property in the master form element, but that is also dangerous if you have other forms throughout your site.  Also if you want to have it work depending on where the user has focus, then you have to use the panel control.

Tuesday, November 07, 2006 8:48:58 AM UTC #    Comments [7]  |  Trackback

 

Microsoft, Novell and Zend Partnerships#

I have to say that I am impressed with Microsoft this week.  They not only partnered with Zend to help PHP to run as fast if not faster on Windows than Linux and the LAMP stack, but  Microsoft also partnered with Novell to support their SuSe Linux distribution as an alternative deployment platform to Windows.  This partnership seems to be mostly about the virtualization and interoperability of the two operating systems along with some sort of coupon for Intellectual Property rights that only lawyers can describe.

Also note that Novell bought the company that started the Mono Project 4 or 5 years ago, which is the open source Linux version of the .NET framework.  I have always thought that Novell bought into the Mono project to eventually partner with Microsoft.  I also think that the only reason Microsoft made .NET open is so that this very moment would happen.  Wow are they smart. 

This is going to get very interesting.  Go to this Webcast of it in case you want to hear it from the horse's mouth.

Friday, November 03, 2006 9:39:00 AM UTC #    Comments [0]  |  Trackback

 

Why use VS 2005 Web Application Projects?#

So I have been using several applications lately that use the Web Application Projects method lately and I have also created some.  One in particular is driving me crazy because the source code is not on the server and I cannot fix the problem unless I find the source code and can compile it.  Well I found a new version and cannot compile it.  Where is the old version?  I wish I just had the source on the server so that I could make a simple modification without having to try to find and recompile the entire project and upload it again. 

The next thing that pops up in my head is when I used to use Visual Studio 2003 and I would be replacing the DLL on the server and the site would go down for that 20 - 30 seconds or how ever long it takes to upload the new DLL.  Sometimes I would have to check that the file made it up there at all.  Sometimes this can cause permission issues, sometimes if the upload does not complete and you do not realize it then your site is down.  Imagine your entire site goes down all night because you did not check to make sure the DLL uploaded completely.   Anyway this does not happen that often, but does at the wrong times it seems.

So far it seems as though WAP might be a bad idea anyway to do this, but it does have it's added benefits.  It is nice to have one library to push up to the server that is compiled and locked down.  This works great for applications that you do not want to have someone else, especially on a multi-hosted server that you do not own, look at or steal your source code.  Also it is great when trying to make a quick upgrade from 1.1 to 2.0.

Here is some great information from ScottGu's blog about when it is good to use the WAP method.  If you are upgrading from VS 2003 and have not realized the benefits of the default asp.net 2.0 model or want to upgrade from .NET 1.1 without too much work, then you will be more comfortable with the WAP method.  You will also own that code and will have to figure out where the specific bugs exist.   I have been in similar situations where I wish the old code I wrote 3-4 years ago was a little bit more dynamic like asp.net 2.0 and PHP.  That way anyone who needs to edit that code in the future can do it from whatever environment they are best suited with and the source code is on the server.  The dynamic compilation method allows you to edit files on the server to fix problems if it comes to needing to do that.  In an ideal world you would never want to do that, but we don't live in an ideal world.  This has been the way it is for fixing poorly written PHP and Perl applications on Linux for years.

At the end of the day, make sure that when you leave that project, that it is easy for the next guy to pick up where you left off.  If that is well documented processes, then good for you.  If you don't have time to do it, then please leave the source on the server where they can modify it when something needs to change.

Friday, November 03, 2006 7:55:13 AM UTC #    Comments [0]  |  Trackback

 

ASP.NET AJAX Beta 1.0 Release#

You can now download the new Atlas or shall I say ASP.NET AJAX.  They have several downloads including the toolkit with a ton of cool controls for asp.net Ajax and also a library for non asp.net users.  Pretty cool stuff. 

You know they say they are going to commit to this for 10 years.  I don't know about you, but anyone who is going to support this type of technology for 10 years is one that you should be getting to know now.  This is not going anywhere and you know Microsoft will always be adding features to this stuff.

 |  | 
Tuesday, October 24, 2006 8:13:16 AM UTC #    Comments [0]  |  Trackback

 

Turning a Linksys WRT54G Router into a Wireless Client Access Point#

I just got Verizon FIOS (15 MB down and 2MB up), fiber to the house!  They actually wired cat5 from the outside to my kitchen from the fiber connection.  So I wanted to have my 3 computers in my office be able to communicate wirelessly to the wireless router that was given to me from Verizon.  I had an old linksys WRT54G and decided to search on hacking this router.  By the way you can buy these for like $50 now if you need one.  I wanted to get my WRT54G running in client mode.  Well what do you know, I pulled up this killer open source software that turns your router into a client access point and a nice firewall.  Unbelievable.  It actually works.  I am going to post how to do it here in case this link goes bad.  Follow the instructions exactly and this will work first time.

Instructions:

1. Download the "wrt54g alchemy firmware" (google this, or go here) version 6rc5 from the Internet (it is the only one compatible with the new models wrt54g V2.2 & wrt54gs V1.1).
2. Upload the firmware to the wrt54g via the "Administration->Firmware Upgrade" option in the router's web interface.
3. Reset the device (press reset button until power led flashes - this could take 20 seconds or more). In the following steps, leave all settings which are not mentioned in the description at their default (only change the ones specifically mentioned in the step).
Note: We will use addresses that end in 128-255 for the wrt54g router and it's attached PCs. To make sure there is no overlap in the addresses assigned by the two routers, we have to make sure that your main router only assign addresses below 128 to its own clients. For example, if your main router address is 192.168.0.1, its DHCP address range could be 192.168.0.50 - 192.168.0.120. Another important note regarding the main router: some routers allow you to disable the broadcast of the SSID, but for this setup to work properly the SSID broadcast MUST BE ENABLED (which is usually the default behavior).
4a. In "Setup::Basic setup" screen, set Internet Connection Type to "Automatic Configuration - DHCP".
4b. Set the local IP to 192.168.0.129, assuming your main router is 192.168.0.x (in general, if your main router is a.b.c.d set the wrt54g to a.b.c.129).
4c. Set the Subnet Mask to 255.255.255.128.
4d. Set the "Gateway" to the IP address of your main router (e.g. 192.168.0.1).
4e. Set the DHCP Server to Enabled, and starting IP Address to something above 129 (e.g. 140).
4f. Save the settings on this page. You should reboot the attached PC, since the subnet mask has changed. Note: from now on you have to use the new local IP you set in step 4b (e.g. http:// 192.168.0.129) to connect to the router from your PC.
5. In "Setup::Advanced Routing" screen, make sure operating mode is "Gateway".
6. In "Wireless::Basic Settings" screen, set Wireless mode to "Client", wireless network mode to "mixed", and SSID to your main wireless router's SSID.
7. In "Wireless::Security" screen, set your WEP/WPA settings which match the main wireless router. You should now be connected to the main wireless router. Note: if you have MAC filtering set up on the main router (which allows only specific clients to connect), then obviously you have to add the client router to the list of allowed clients.
To verify that you've established a connection to the main router, you can check the "Status::Router" screen, which should show an IP Address assigned by the main router (which would end with a number below 128), and the "Status::Wireless" page should show the AP Signal strength together with the mac address of the main router. Also you should now be able to ping the main router and even log in to it (using h ttp://192.168.0.1) from the PC attached to the client router (the wrt54g).
8. In "Security::Firewall" screen, disable firewall protection, as this subnet is already behind your main router's firewall. Also make sure that "Block Anonymous Internet Requests" is unchecked.
9. In "Administration::Management" screen, you can leave all settings at their default. You may want to enable remote management and Telnet or SSHD, especially if you want to be able to log in to the wrt54g from a computer which is not directly attached to it.
10. To enable PCs attached to the main router to be able connect to PCs attached to the wrt54g: Login into the wrt54g using telnet or ssh by running the command "telnet 192.168.0.129" and use same root/passwd as for the web interface. Then type this command (copy it exactly):
# echo 1 > /proc/sys/net/ipv4/conf/`route | grep default | awk '{print $NF}'`/proxy_arp
Now you should be able to ping/telnet to any PC attached to the wrt54g from any PC attached to the main router. Btw, this assumes that the subnet mask of the main router is the default 255.255.255.0.

Important note about the last step : The last step (which is an optional step) allows PCs attached to the main router to be able to connect to PCs attached to the client router, by specyfing the IP of the destination PC, for example "telnet 192.168.0.150". But they are still on two different subnets which do not share their broadcast messages, therefore when browsing PCs on the local network you will not automatically see the PCs attached to the other router. But you can always connect to them by explicitly specyfing the IP. Btw, this step was added after the initial posting of this HOWTO and solves a lot of the issues people discussed later in this thread, so don't worry if you read posts in this thread about problems with communicating between PCs attached to different routers. Also note that this proxy_arp setting is not saved in the WRT54G non-volatile memory like all the other settings, so when the router is rebooted (like after a power outage), it will be cleared and you will need to repeat step 10 to set the proxy_arp back on.
Done !!! That's it !!!!

Friday, October 13, 2006 5:29:09 AM UTC #    Comments [40]  |  Trackback

 

 

All content © 2010, Jim Zimmerman
Book
New Book
Links to me
On this page
Sponsors
Calendar
<December 2006>
SunMonTueWedThuFriSat
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456
Archives
Tags
Blogroll OPML
Technorati
Favorite Links
Disclaimer

Powered by: newtelligence dasBlog 1.9.6264.0

The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

Send mail to the author(s) E-mail