Adsense

Monday, November 16, 2009

Visual Studio – Disable the Attach Security Warning

After installing Windows 7 I started to encounter a new popup when trying to debug the web application that I am currently working with.

Warning

This extra step is fairly annoying when you are debugging frequently. I heard rumor about a Registry Setting that could be updated or changed to get rid of this but could never track down the exact key or value. Luckily, there is a much simpler solution to getting rid of this error.

Navigate to: Control Panel->Administrative Tools->Local Security Policy->Security Settings->Local Policies->User Rights Assignment

Setting

Double click on Debug Programs and you’ll see the following screen where you can add your user. By adding your user, you will be a member of the debug programs group and this annoying error should disappear.

Setting2

Friday, October 16, 2009

The process cannot access the file because it is being used by another process. (Exception from HRESULT: 0x80070020) – IIS 7 – Internet Information Se

In IIS7 I was trying to start my Default Web Site and was getting the following error screen.
IIS - Skype - Error
The process cannot access the file because it is being used by another process. (Exception from HRESULT: 0x80070020)
A quick Google search turned up the following Microsoft Support Topic. Ok. Lets take a look at netstat and see what might be causing problems. Open a command prompt ([Windows Key + R] and enter cmd) and enter the command. After running netstat -ano, I noticed that there was indeed another process (with a process id of 796) accessing port 80. (You can enter netstat /? to see what the –ano flags are doing.)
netstat
The offending process that is using port 80 has a process id of 796. Now, how to find out what that process 796 is?
Using the tasklist command will show a list of all processes running in windows. You can use the /fi flags to filter the results. In this case I’m using a filter that will only show processes with a PID that equals 796. tasklist /fi “PID eq 796”
Tasklist Filter Command
The process with process id is Skype. Makes sense that it would be using port 80. I promptly closed down Skype and was then able to start my Default Web Site in IIS Manager. Hope this helps someone.

Monday, September 07, 2009

Adding a 2nd blog account in Windows Live Writer in Windows 7 gets stuck on “Detecting blog icon”

I’m currently running Windows 7 and I tried to add my 2nd blog account to Windows Live Writer today. Unfortunately, Live Writer would get stuck on the “Detecting blog icon…” message when setting up the new account.

I did a bit of poking around on Google and found a couple of posts about this same issue.

This post mentions that running Live Writer as Administrator fixed the issue for them. (You can do this by right clicking on the Live Writer icon and choosing Run as administrator, btw.) Running live writer as Administrator did not work for me. I still got stuck on the “Detecting blog icon…” message,

This answer from Yahoo Answers mentions trying to close Live Writer and re-open it. Closing and Reopening Live Writer didn’t solve the problem for me. The next suggestion on this question was to reboot windows.

After rebooting Windows 7, I was able to successfully add my 2nd live writer blog account.

Directory "X" associated with feature 'XXX’ in the solution is used by feature 'XXX' installed in the farm. All features must have unique directories

I copy and pasted a feature/module in my VWeWSS solution and updated the module.xml file. Unfortunately, I missed an edit in the file and caused  a problem. After fixing my module.xml file, I got the following error message in visual studio.

“Directory "X" associated with feature ‘GUID1’ in the solution is used by feature ‘GUID2’ installed in the farm. All features must have unique directories to avoid overwriting files.”

This seemed like a straight forward error, but I had a bit of trouble tracking down what exactly to do to be able to use the Deploy command again. I was able to fix the error eventually by retracting my solution. You can retract a solution by performing the following step.

  1. Go to Central Administration
  2. Click on Operations
  3. Click on Solution Management under Global Configuration
  4. Click on the name of the problem solution
  5. Click on Retract Solution
  6. Choose Now for Rectract When?
  7. Click OK
  8. Wait for the retraction to complete and then try to deploy again from VWeWSS

Hope this can save someone a bit of time.

Friday, September 04, 2009

“Value does not fall within the expected range” when deploying WSP with VSeWSS's deploy command

I started to get a Value does not fall within the expected range error when trying to use the VSeWSS Deploy command from within Visual Studio 2008.
Error
Value does not fall within the expected range.
I spent almost an hour trying to track down what exactly was causing my problem. There are tons of posts about this error message, but it seems like there can be many causes. Unfortunately, none of these solutions worked for me.
After banging my head on my keyboard for a while longer, I started to systematically exclude elements/folders of my VSeWSS project and then trying to run the Deploy command again. Seems desperate, I know, but it ended up helping me find out what exactly was causing this error. Excluding my project Features didn’t fix the error, but by excluding the whole TEMPLATES folder the error went away. I was onto something. I started to exclude sub folders and after playing around with this for a while, I narrowed the problem down to the nav folder within my IMAGES folder. After looking in the folder, the cause was obvious… /Facepalm.
Cause
Earlier this morning I had recreated some of my navigation images and replaced the old jpgs with pngs. Unfortunately, my project was still referencing the missing files. By removing the missing references, the error went away. Too bad the error wasn’t a tad-bit more helpful instead of being completely obscure.
In conclusion. If you’re experiencing the Value does not fall within the expected range error. Double-check your VSeWSS project for any references files or folders that no longer exist or any that exist in your folders but are not referenced by your project. Remove any that you find and it might solve your problems.

Thursday, September 03, 2009

“A World Wide Web browser, such as Windows Internet Explorer, is required to use this feature” in Microsoft Office SharePoint Designer

In Microsoft Office SharePoint Designer when I Check In a file to my website and choose to Publish a Major Version.

Save Dialog

SharePoint Designer shows the following Dialog.

Approval Status dialog

This document requires content approval. Do you want to view or modify its approval status?

When I click Yes, I get the following error dialog.

Error Dialog

A world Wide Web browser, such as Windows Internet Explorer, is required to use this feature.

My first instinct was to make Internet Explorer my default browser *shudder*. I did this by opening Internet Explorer, clicking on Tools and selecting Internet Option. I then clicked the Programs tab and clicked on Make Default. Unfortunately, it didn’t make this silly error go away.

A little more digging into the issue presented something interesting. By bringing up Default Programs (Press your Windows Key and enter Default Programs into the search box) and then clicking on Set your default programs, you can see settings for Firefox, Chrome and Internet Explorer web browsers.

By selecting and application on the left, you can set it to be the default program by clicking Set this program as default (clicking this for Internet Explorer didn’t work either, btw) or you can choose some specific defaults for the selected application by clicking on Choose defaults for this program. The latter is basically managing the extensions and protocols associated with the program.

The list of default settings for my web browser are displayed in the 3 images below.

Chrome Default Settings Chrome Associations

FireFox default settings

Firefox Associations

IE Default Settings

Internet Explorer 8 Associations

Looking at the differences between the associated extensions, Internet Explorer doesn’t have entries for .shtml, .xht, or .xhtml by default while both Firefox and Chrome do. Thought I’d try to manually associate these three extensions with Internet Explorer to see if it fixed the issue, thinking that one of these extensions was being routed to Firefox or Chrome even with Internet Explorer set to be the default browser. You can do this by going back to Default Programs and clicking on Associate a file type or protocol with a program. Unfortunately, the error wasn’t affected by this change.

To get rid of this error, I actually had to uninstall Firefox and Chrome. I was able to re-install Firefox without checking the Make my default browser checkbox and the error was still gone, but any installation of Chrome would cause the error to come back.

It looks like the only fix for this is to remove Firefox and Chrome if they are installed. If anyone else knows of a valid work-around that allows you to keep Chrome installed, please let me know.

Thanks.

Thursday, August 27, 2009

Minimum configuration to get ride of 'Server farm configuration not complete' message in SharePoint 2007

Setup SharePoint for the 1st time today and was annoyed to see the following message staring at me with no clear idea of what I was expected to do to get rid of it.

! Server farm configuration not complete !

So. My obvious question was what needs to be configured to get ride of this message. It wasn’t until I had completed the following from Central Administration that the message disappeared.

  1. Clicked  on Shared Services Administration and added configured my Shared Services Providers
    1. This required me to create an associated Web Application (if your web application list is empty after creating a new one, see This Post about a potential fix.)
  2. Configuring and starting the services below from the Central Administration –> Operations -> Topology and Services -> Services on Server screen
    1. Office SharePoint Server Search
    2. Windows SharePoint Services Help Search
  3. Setup Outgoing Email Settings from the Central Administration –> Operations -> Topology and Services –> Outgoing e-mail settings

After configuring the above items, the message went away.

Web Application list is empty in SharePoint 2007 – New Shared Services Provider and Application Pool identity

After creating a web application in SharePoint and then trying to configure a new Shared Service Provider (SSP), I was dismayed to find my web application list was empty. Because of this, there was no way to select my my web application and I was unable to create a new SSP.

After doing some digging I found out that the list will not show web applications that have a built-in account (such as Network Service) associated with the application pool assigned to the web application. After configuring the application pool associated with my web application to use my domain user account instead, the Web Application list on the Shared Services Provider screen was correctly showing my web applications. I was then able to successfully create my new SSP.

Tuesday, August 25, 2009

'HTTP Error 503. The service is unavailable' message in IIS7 – Application Pools

One of my IIS7 virtual directories wigged out today and started to give me the following error screen.
Error Screen
Service Unavailable – HTTP Error 503. The service is unavailable.
I found a post from Rich Strahl that pointed me in the right direction. When I brought up my Internet Information Services Manager and clicked on Application Pools, my DefaultAppPool was stopped.
app pools
Unfortunately, my application pools were already set to auto-start and restarting the application pool didn’t solve my problem. As soon as I tried to bring up my website, the application pool would immediately stop again and give me the same error screen. After spending the next 10 minutes or so restarting Windows 7 and starting and re-staring my application pools to no avail, I decided to re-install my IIS7 and Windows Process Activation Service features.
After re-installing these windows features, everything was back in order. Unfortunately, I did have to add ALL of my virtual directories again, but I expected as much. You can re-install these features from the Programs and Features screen by clicking on Turn Windows features on or off.
Programs and Features
On the Windows Features screen, you can uninstall any feature by removing the check next to it and then clicking OK. You can then return to this screen after restarting windows to reinstall them.
Windows Features Windows Features 2
Hope this helps someone. If anyone knows how to correct this without reinstalling the features, please comment!

Wednesday, August 12, 2009

Windows 7 New Taskbar Review

I’m starting to like the Windows 7 taskbar more and more. The application grouping takes a bit of getting used to, but I love how nice and clean it is. Rather than just showing you your open windows, the Windows 7 taskbar serves as more of an application launcher. I’ll share a few of my favorite features of the new and improved Windows 7 taskbar below!

Taskbar Overview

taskbar

The layout is nice and clean. No more text labels to clutter up the bar. You can pin applications to the task bar for easy launching (good bye quick launch bar!) You can easily tell which application I have open and which are just pinned to the task bar but not open (In the image above Chrome is open, while Firefox and Internet Explorer are pinned but not open.) You can see that I have multiple Live Messenger windows open just by looking at the icon. You can also tell that I have an new message/alert by the yellow highlight on the icon itself.

Taskbar Icons

hover

If you hover oven the Live Messenger icon with the mouse you get a popup window that will show all of my conversation windows along with the messenger itself. From this popup you can select a window by clicking on it, or close it by clicking on the red X. I was very delighted to find that clicking the middle mouse button on one of the conversation windows closed it, just like I had hoped and expected it to.

*PSA* If you don’t use you middle mouse button for more than scrolling, you really should. You can middle-click web links to open them a new tab in your browser or middle-click a tab to close it. I’m happy to see that you can now middle-click in the new Windows 7 Taskbar to close some things. */PSA*

Jump Lists

swipe up

The above window (or Jump List as Microsoft calls them) is displayed when you right click an application’s icon on the taskbar. As you can see, this popup is customized for the application (Live Messenger) and gives you quick access to its features without actually activating the application. This window gives you access to frequently used options or other features that might be specifically programmed for the specific application. Very handy! (Note: You can also left click and move the mouse up quickly on the application’s icon to display this same window. Feature?)

Launching Apps

launch

One thing that wasn’t immediately obvious to me was how to launch another instance of an application when I already had one open. In this screenshot I already have an instance of Visual Studio 2008 open. To open another, you right click the application’s icon and then click on the application button from the popup. You can also launch new instances of an open app by Shift + Clicking the icon (Thank BlackTigerX.)

Hold Shift to Open Files With Taskbar Apps

open with

If you have a file that you would like to “Open with” one of your open applications, you can drag the file over the taskbar icon for the application while holding [Shift Key] down. You will notice that the popup label changes from “Pint to…” to “Open with…”. When you release your mouse button, the file will be opened with the application rather than pinning it to the taskbar.

Pinned Folders

Explorer

Another initial annoyance was the way pinned folders work with the task bar. In Vista, I had a couple of work directories that I opened many times daily pinned to my quick launch bar. In windows 7 you can only have a single system folder pinned to your taskbar. Any additional folders that try to drag to the taskbar is then pinned to the single windows explorer/folder icon. By default, clicking this icon bring up your Libraries window (another handy Windows 7 feature that we wont get into yet.)

folders

The additional folders that you pin to the taskbar are accessible by right clicking on the explorer/folder icon. Just like the paulf folder above. This screen also gives you quick access to a list of your frequently accessed directories.

notification

Other Taskbar Improvements

The notification area of the taskbar is more customizable and allows you to decide which notifications you are interested in and which icons you would like to see. I like how I don’t have to look at 300 tiny icons for every app that wants to notify me about something (most of them doing nothing at all.)

network

The network icon on the taskbar has been greatly improved as well. Just by clicking on the icon I have direct access to information about the network I’m currently connected to, connect/disconnect to my VPN connection, and all wireless networks within range. There’s also a link to the Network and Sharing Center.

windows

The button that I’ve outlined in red in the screenshot above will show/hide your desktop. Basically it opens or closes all of your currently opened windows. There is also another option that will allow you to “Peek” at your desktop which makes your windows transparent instead of hiding them completely. Nothing that the [Windows Key] + D shortcut didn't already do, but a feature none-the-less.

Tip

You can use the [Windows Key] + 1-9 as shortcuts to launch your taskbar applications. My 1st icon is my Windows Explorer, so I can easily launch it by pressing [Windows Key] + 1. Chrome is my 2nd taskbar app, so it’s [Windows Key] + 2, etc.

After spending the initial time getting used to the new taskbar, I think most people will agree that all of the new features are worth the new learning curve. I haven’t found any deal-breakers that might make me want to revert to the old windows taskbar! Hope someone find this useful.

Drag and Drop files in Windows 7 with User Account Control (UAC) enabled causes issues.

I took the plunge and updated to Windows 7 x64 on my development machine. It has been a fairly pleasant experience for the most part. No major problems with installation, setup, drivers, or getting my development environment configured correctly so that I can get back to working!

I’ve been enjoying Windows 7 so much that I decided to leave the User Account Control (UAC) active. The implementation seems to be MUCH less annoying in Windows 7 than it was in Windows Vista. You even have access to options to configure just how annoying (err, I mean secure) you want it to be.

Unfortunately, I found a deal-breaker that finally led me to disable the UAC in Windows 7. The problem started out when I was unable to drag an aspx file from my Windows Explorer window into my Visual Studio window like I’ve always done. I ended up figuring out the problem. I had the “Run as Administrator” option set for my instance of Visual Studio 2008 while my Windows Explorer was running with default permissions for my User Account. >_<

UAC is trying to protect me from processes running with lesser privileges from sending messages to processes running with Administrator privileges. Probably a valid concern, but considering that I generally NEED to run my Visual Studio as an Administrator and I really like the ability to drag an drop files into it… UAC has gone the way of the Dodo once more (at least on my machine.) I also ran into this issue when trying to drag files into my SQL Server 2008 Management Studio. This one isn’t as critical since it really doesn’t need to be run as Administrator, but annoying just the same.

Hope this might help someone else figure out why Dragging and Dropping between processes no longer works for them in some instances!

~ Paul

Saturday, July 18, 2009

Facebook changed my language setting on me - Unrequested Language Change

While I was checking my Facebook today, I ran into a strange issue. All of my menus, status updates, recent updates, requests, suggestion, and pretty much everything else changed to another language. I didn’t change any settings or update anything, i was just reading the updates on my home page. See the screenshot below.

Asian Facebook

Seeing that everything was in this new and interesting language, I couldn’t exactly get into my facebook settings and find out where to change the language back. Fortunately I found a direct link to the Facebook language settings page so that I could change it back to my native English. You can click the link below to check it out and fix this issue.

Facebook Language Settings Direct Link

Hopefully Facebook find out how my setting suddenly and randomly changed and I hope this helps someone else out if it happens to them.
~ Paul

Wednesday, July 01, 2009

Encountering a Black Screen after logging into another computer with Window Remote Desktop Connection

I had to Remote Desktop into a Windows Server 2008 machine for a client today and encountered a Black Screen after successfully logging in. No matter what I did, I couldn’t get the screen to go away. I tried all my normal tricks such as spamming ctrl+alt+delete and yelling at the screen, but nothing seemed to work. The next step was to Google it…

The Google results were plentiful and recommended that I disable Bitmap Caching from the Experience tab of the Remote Desktop Connection window. I do so and re-connected. No luck for me, but many others reported that this fixed it for them.

The next most common Google result was to check firewall, router MTU, and other router settings. Since my remote desktop connection have never had trouble before and I was able to successfully log into the same machine under a different user name, I figured I’d skip that one.

My next idea was to try and log in with another account. I logged in with the administrator account and found that it was working fine. My immediate thought was to try to find my other logged in session and force a log out. Supposedly, you can view logged on user by opening your  Server Manager, expanding File Services, clicking on Share and Storage Management, and then clicking on Manage Sessions in the action pane to the right. This did not work for me (my other session wasn’t listed,) but it might for you. =)

After trying all of these “fixes” I decided to just do what I needed to do from the Administrator account that I was logged onto. By the time I was finished, I switched back to my other Remote Desktop Connection screen and was surprised to see that it was no longer black, but was showing the login window again. The session must have timed out and locked. I logged in and everything seemed to be working correctly again.

I’m not sure if allowing the session to time out and lock was what fixed it or if Remote Desktop just needed some extra time… But hopefully something in this post helps you out if you encounter a Black Screen after logging into a Remote Desktop session.

~ Paul

Wednesday, May 27, 2009

‘The configuration section 'connectionStrings' cannot be read because it is missing a section declaration’ message in IIS7

I spent the better part of this morning trying to figure out what was wrong with a 3rd party blogging utility that we recently started using. I was getting and error message stating that “The configuration section 'connectionStrings' cannot be read because it is missing a section declaration” when setting up my development environment.
The ONLY reference to this error that I could find was from MSDN HERE. No sections of the web.config were encrypted so, none of the recommended causes and resolutions helped.The web.config file for the 3rd party project was pretty large and I thought it might have been due to mal-formed xml somewhere. I validated the xml and scanned for anything obvious, but it all looked like everything was fine.
I eventually tracked down the problem with the web.config file. The problem was in the <configSections> section of the web.config. The 1st line within this section was <clear/>. The <clear/> tag can be used to removes all sections and section groups that were already defined (either earlier in the given configuration file or higher in the configuration hierarchy.) This is helpful in other sections when you want to clear a default provider before registering a new one, etc…
It looks like <clear/> is a valid tag for this section, so I’m not sure why it would be causing the error. Either way it solved my problem for my development environment. Hope this helps someone else in the future.
~ Paul

Tuesday, May 26, 2009

How to Import your Delicious Bookmarks into Google Bookmarks

So, like many of you, I’ve finally switched to Google Chrome as my web browser of choice (It has finally reached Default Browser status.) I still use Firefox for web development since Chrome lacks a lot of the tools I use day-to-day (Thanks firebug,) but the speed and usability of Chrome finally won me over.

Other than my development tools, the only other Add-on that I really miss is my trusty Del.icio.us Bookmark bar. It is great to have immediate access to my bookmarks in Firefox with tag support. To help remedy this situation I started to look at what options I have for accessing my Del.icio.us bookmarks from Chrome. You can do the obvious and just access them from http://delicious.com/, but that’s boring.

The 2nd option is to use bookmarklets. You can add these to any browser and they are basically bookmarks that give you access to your bookmarks. Not as good as a direct bookmark bar, but better than browsing there yourself 100 times a day. You can even get delicious bookmarklets that make it easy to pop-up the “Save bookmark” screen for the current page you’re on to add new bookmarks. Read about delicious bookmarklets..

The 3rd option (and the one I’m actually trying out.) Convert to Google Bookmarks. Unlike delicious, google bookmarks keeps your bookmarks private and makes them and their contents searchable. You can manage your bookmarks from the site or using Google toolbar. You can also manage them in Firefox using Add-ons. For users of iGoogle (Google’s home/startup pages), you can also get a Google Bookmarks Gadget that lets you interact with your bookmarks.

The next question is how to get ALL of your precious bookmarks out of Del.icio.us and into Google Bookmarks. Well, that’s easier than you might think. Mihai Parparita from Google has created a script that will import all of your Delicious bookmarks into Google Bookmarks automatically. You can perform the import at http://persistent.info/delicious2google or read more on their site..

You can also use a Google Bookmarks bookmarklet.

Does anyone else have a better solution for managing and accessing your bookmarks from Chrome?

Monday, December 22, 2008

Databinding an asp:ListBox has no selected items (selected = false)

If you are working with a Data Bound ASP.Net ListBox control (or a similar control) and are having trouble with all of your ListItem.Selected calls are returning false even though you KNOW you selected one or more of them. You might have an issue with the way you're Data Binding.

Consider the following code. In my example I am using a DataBindControls method that will retrieve some data and then bind it to a ListBox.

private void DataBindControls() {
ArrayList roles = RoleProvider.Instance().GetRoles();

lbRoles.DataSource = roles;
lbRoles.DataTextField = "RoleName";
lbRoles.DataValueField = "RoleId";
lbRoles.DataBind();
}

I just so happen to be calling this method in the Page_Load even of my page. Unfortunately, I forgot to wrap this call in a "IsPostBack" check. What is happening is that my control is being databound again before I access the selected values from the previous request.

protected void Page_Load(object sender, EventArgs e) {
DataBindControls();
}

You can easily remedy this issue by wrapping the call in an if statement that makes sure to only databind your controls on the initial call to the page. (when it's not a post back)

protected void Page_Load(object sender, EventArgs e) {
if (!IsPostBack) {
DataBindControls();
}
}

Just another one of those "Palm to Forhead" issues. Hope it helps someone. =)

Tuesday, October 14, 2008

Internet Explorer 6 (IE6) has extra white space gap after a empty, fixed size div with a background-image

I was trying to fix a small display issue with one of our pages in IE6. I had an unordered list that we set the background color on and wanted to add rounded images to the top and bottom to give it a nice look.

The rounded top image

storesubnav-selected-top

The HTML

<div class="container">
<
div style="height: 6px; width: 190px; background-image: url(../images/top.gif); background-repeat: no-repeat;">
</
div>
<
ul style="background-color:#763000;">
<
li><a href="#">Item 1</a></li>
<
li><a href="#">Item 2</a></li>
<
li><a href="#">Item 3</a></li>
</
ul>
<
div style="height: 6px; width: 190px; background-image: url(../images/bottom.gif); background-repeat: no-repeat;">
</
div>
</
div>

Simple enough. Everything works great in IE7, Firefox, Chrome, etc... I get a report of extra white space after the top rounded image. I track down a system running Windows XP with IE6 and I fire it up. Sure enough, a bit of white space after the top div. But why....

The Problem

With White Space

I tried everything that seemed to make sense. Checked margins, padding, etc... Everything was either good or changing it did nothing. Unfortunately in IE6 I didn't have access to my favorite tools like Firebug, so it was even more frustrating. Eventually I figured it out and I think I know what's going on.

IE6 assumes a font-size of 20px. Since my background-image was only 6px in height, when I set the height on the div it was ignored. The div would try to shrink to my set height, but would end up limited by the assumed font-size of 20px. By setting the font-size to something smaller in height than my desired 6px, it would solve the problem. Remember this when dealing with empty divs IE6. Hope it helps someone.

The HTML that works

By setting the font-size style in the "empty" div, IE6 allows the div to shrink to my desired height of 6px.

<div class="container">
<
div style="height: 6px; font-size:0em; width: 190px; background-image: url(../images/top.gif); background-repeat: no-repeat;">
</
div>
<
ul style="background-color:#763000;">
<
li><a href="#">Item 1</a></li>
<
li><a href="#">Item 2</a></li>
<
li><a href="#">Item 3</a></li>
</
ul>
<
div style="height: 6px; font-size:0em; width: 190px; background-image: url(../images/bottom.gif); background-repeat: no-repeat;">
</
div>
</
div>

Without White Space

Google's Chrome displays saved passwords in plain text

Google's new web browser "Chrome" is pretty nice. I used it for a full day and found quite a few things that I really liked about it. As soon as the few plug-ins that I use daily get equivalents in Chrome, I will possibly use it for every day use. I was sad to learn that one of my biggest web browser pet-peeves is present in Chrome, and it seems to be an even worse implementation of it than Firefox 3's (Firefox 3 Saved Password Security.)

The Saved Password feature of any browser can be invaluable. It saves a great deal of time for passwords that you would otherwise have to enter many times a day. Unfortunately, most web browser make it WAY too easy to gain access to the web site URL, username and plain-text passwords to your accounts. Someone with only a few minutes access to your machine can easily gain access to this information.

In Google's Chrome, all someone (with several seconds alone with your computer) needs to do to steal your information is...

  1. Open Chrome
  2. Click customize(the wrench)
  3. Select Option
  4. Click the Minor Tweaks tab
  5. Click Show saved passwords
  6. Select one of your "secure" sites
  7. Click Show password

Chrome

BAM! Someone just stole the web site address, username and password to one of your accounts? I hope it wasn't something important... In Firefox's defense, at least they have a "Master Password" that will require you to enter a password prior to them showing your passwords in plain-text. But no such feature is present in Chrome.

I'm always blown away by people's responses to this problem. People that I show in person are usually shocked when we're both staring at their bank account password in plain-text right before their eyes. People online usually say that no one ever has access to their computer, so their safe, or that they always lock their system when they're away. That's a great practice to get into, but I know the vast majority of users aren't so diligent.

At the very least, the Chrome team needs to add a master password for an added layer of security. I think both Firefox and Chrome should warn the user about this danger and prompt them to setup a master password by default, rather than having saved passwords turned on by default.

Tuesday, September 09, 2008

Reporting Services is grayed out after adding reporting services to an existing MS SQL install

You can add Reporting Services to an existing install of MS SQL in Windows Vista (not sure how different the step would be in XP) by following these steps.

  1. Open Programs and Features (press the windows key, type in Programs and Features and press enter)
  2. Right-Clicking on Microsoft SQL Server 2005  and click Change.
  3. Under SQL Server 2005 instances:  select the instance you want to add reporting services to and click Next
  4. Click on To install a new component, click here
  5. Browse to the Setup.exe file on your installation disk and click OK
  6. Click through the wizard until you get to the Components to Install screen
  7. Select Reporting Services  and finish the wizard.

It's that simple... Unless Reporting Services  happens to be Grayed Out. If this is the case for you, you are probably missing requirements that Reporting Services needs. During the above process, you came to a screen called System Configuration Check and you probably got a yellow exclamation point on IIS Feature Requirements. Basically, you need to add some features to your IIS installation before you can install reporting services.

 

To enable these IIS features, follow the steps below.

  1. Open Programs and Features (press the windows key, type in Programs and Features and press enter)
  2. Click on Turn Windows features on or off to bring up the Windows Features window
  3. Expand the Internet Information Services option and place check marks next to all the features you want to install
  4. Click OK to install the features.

Here is a list of features that are required before you can add Reporting Services to your existing MS SQL Server installation. (Reference here.)

Component Folder
Static Content Common HTTP Features
Default Document Common HTTP Features
HTTP Redirection Common HTTP Features
ASP.Net Application Development
ISAPI Extension Application Development
ISAPI Filters Application Development
Windows Authentication Security
IIS Metabase Management Tools
IIS 6 WMI Management Tools

 

After adding these features, try to perform the steps above for adding Reporting Services to an existing MS SQL Installation and Reporting Services should not be grayed out. Hope this helps.

Tuesday, August 19, 2008

How to Enable/Disabled Recording Devices in Windows Vista

I had some strange sounds coming over my speakers and thought it might be one of my recording devices (my built in mic, etc) acting up. To troubleshoot this I brought up the Sound window, clicked on the Recording Tab and right-clicked on each of my recording devices to disable them. It turns out my problem was caused by something else and was easily fixed, but now I have a new issue. How to I enable my recording devices. If you check the Recording Tab in the Sound window, there are no devices listed. Maybe I can enable them directly from the Device Manager. Nope, nothing listed there either...

The solution is fairly simple, but seems to be completely non-standard for windows. Go back to the Recording Tab in the Sound window and right-click in the now blank tab. You should get a context menu that has two options (Show Disabled Devices and Show Disconnected Devices.) Click on Show Disabled Devices and you should now be able to see and enable your devices.

Not a huge issue, but fairly annoying since it is done differently than most other places in Windows (i.e. The network device screen. Disabled devices are still visible but are disabled...)

Monday, August 11, 2008

How to Replace/Remove Blank/Empty Lines in Visual Studio using Regular Expressions

I'm mainly just posting this so that I don't forget it. I find myself needing this every now and again and need an easy place to find it. Hope it helps someone else. =)
If you want to remove or replace the Empty Lines in a Visual Studio file, you can perform the following.
  • Press Control + H on your keyboard to bring up the replace window.
  • In the Find What: field, enter ^$\n
  • In the Replace With: field, enter nothing
  • Check the Use: checkbox and then select Regular Expressions from the drop-down
  • Click Replace All
Note: If you want to remove the blank lines from just a part of your file, select/highlight it prior to performing the step above and make sure Selection is selected in the Look in: field.
Hope this helped. =)

Thursday, July 10, 2008

Firefox shows saved passwords in plain text!

I finally got around to updating to Firefox 3 yesterday. With all the new features being touted around the web, I was hoping that they would have gotten around to addressing my biggest pet-peeve with the browser. It seems that they didn't! You can read my original post about this issue HERE. Firefox 2 - Saved Password Security.

I'm sure you are diligent about security. Every time you get up to take a walk, hit the restroom or refill your <Insert the caffeinated beverage of your choice>, you always hit [Windows + L] to lock windows. You then leave your system, secure in the knowledge that all your secrets are safe and secure while you're away. What's that?!? You NEVER lock your computer when away from it...? If this is you, and you use Firefox as your main browser, this post might be of great interest.

When you install Firefox and log into a web site, such as MySpace, you might get a popup asking if you would like Firefox to save your password for you. What a great idea. If I let Firefox remember my passwords, I wont have to remember and enter them every time I visit a site. Handy! Better yet, this feature is turned on by default. Thanks Firefox. I, like most of you, probably just assume that my passwords are being handled securely and continue using Firefox for months adding more and more passwords to Firefox for my favorite sites as I go.

How secure are my saved passwords in Firefox 3?

In Firefox 3, it looks something like this.

myspace

You try to sign into your favorite Social Network. MySpace in this case.

Remember

Firefox is so helpful. Sure! Remember my MySpace password.

security

What exactly happens with my MySpace passwords in Firefox 3? They're secure, right? You can click [Tools > Options > Security (Tab) > Saved Passwords] to find out.

password

Well, Well. What do we have here? The URL to the web site and my username. Seems harmless enough. But what's this? A [Show Passwords] button? Lets click it and see what happens...

show

Gulp. There it is. Everything that someone would need to log into my MySpace account. The site address, my username, and my password in PLAIN TEXT! Anyone with about 20 seconds alone with your computer could easily get this information for themselves.

Try it for yourself and see just how scary it is when you see all the passwords for your banking accounts, your E-Trade account, etc. Better yet, walk your friends and co-workers through this on their own workstations and see the shock on their faces when they see their PLAIN TEXT passwords visible to the world in 3 easy steps that take 10 seconds to perform. I've gotten some pretty startled expressions showing people this.

I definitely think that Firefox should have the Master Password functionality enabled by default and should show the user a warning the first time they try to save a password. It seems like such an innocent thing, but having access to passwords in Plain Text is bad in my opinion.

How to protect yourself

Option 1. Turn off the "Remember passwords for sites" feature on the Tools > Options > Security Tab

Option 2. You can actually protect yourself from this flaw pretty easily, but it makes the feature a tad-bit more annoying. There is a "Use a master password" checkbox on the Security Tab too. If you check this box, you will be required to supply a password to be able to view saved passwords, or before you can use them to log into any web sites. Definitely worth it in my opinion even if the chance of someone having access to your workstation is slim.

Option 3. You should really consider locking your workstation when you are away from it anyway. If this isn't a habit that you already have, its really not that hard to start now. Just press the [Windows Key + L] to lock windows before you leave your computer.

Disclaimer

I'm always torn about writing about this kind of thing. Most of you will use the information to protect yourself, your friends and your co-workers. If nothing else, I've always felt that it is better to be aware of something even if a small percentage of people will use it negatively. For those of you thinking of using this to STEAL other people's passwords. Shame On You!

Just to save you a few seconds of attempting to log into my MySpace account. The email address, user names and passwords in the screen shots above have been altered to protect the innocent. =)

Monday, June 02, 2008

MSDTC on server 'SERVER NAME' is unavailable

MSDTC Error

You might encounter this error when trying to interact with a Microsoft SQL Server whose hosting environment doesn't have the Distributed Transaction Coordinator service turned on. To correct this problem, turn on the Distributed Transaction Coordinator service on the server hosting your SQL Server instance using the following steps.

  1. Press your 'Windows Key + R' to bring up the run window
  2. Enter 'Services.msc' in the run box and press ENTER
  3. Look for the service named 'Distributed Transaction Coordinator' and right click on it.
  4. Click on 'Start'

Services

The service should now be started, and if the SQL Gods smile upon you, your error should be gone.

Tuesday, May 27, 2008

How to Sort a generic IList or List

A while back I wrote a post on How to sort a Generic IList. Here is another approach.
To sort a generic List<T>, you can create a class that implements IComparer<T> and tells the list how to sort itself. Its fairly straight forward and the example below shows how to sort Widgets.
A Widget is a simple class that has a public string Name and a public int Size. I want to be able to sort generic lists of widgets (List<Widget>) by name and by size. You can see my code below.
The widget and sorter implementations
public class Widget {
    public string Name = string.Empty;
    public int Size = 0;

    public Widget(string name, int size) {
this.Name = name;
this.Size = size;
}
}

public class WidgetNameSorter : IComparer<Widget> {
    public int Compare(Widget x, Widget y) {
        return x.Name.CompareTo(y.Name);
}
}

public class WidgetSizeSorter : IComparer<Widget> {
    public int Compare(Widget x, Widget y) {
return x.Size.CompareTo(y.Size);
}
}
And application to create the list and sort it
class Program {
static void Main(string[] args) {
List<Widget> widgets = new List<Widget>();
widgets.Add(new Widget("Zeta", 6));
widgets.Add(new Widget("Beta", 3));
widgets.Add(new Widget("Alpha", 9));

OutputWidgets(widgets);
widgets.Sort(new WidgetNameSorter());
OutputWidgets(widgets);
widgets.Sort(new WidgetSizeSorter());
OutputWidgets(widgets);

Console.ReadLine();
}

public static void OutputWidgets(List<Widget> widgets) {
foreach (Widget w in widgets) {
Console.WriteLine(string.Format("{0} - {1}", w.Name, w.Size));
}
Console.WriteLine(string.Empty);
}
}
Running the application above results in the following output.
output
Straight forward enough? =)
So what do you do if you have a generic IList<T> and want to sort it? Since you only have the interface reference that can't make assumptions about what's implementing it, you have no Sort method. You can use the ToList() method to convert the IList<T> into a List<T>, and then call the Sort() method. See the updated example below. (Note: I previously blogged about a way to sort a generic IList using the ArrayList.Adapter. You can read about it HERE.)
class Program {
static void Main(string[] args) {
IList<Widget> widgets = new List<Widget>();

widgets.Add(new Widget("Zeta", 6));
widgets.Add(new Widget("Beta", 3));
widgets.Add(new Widget("Alpha", 9));

OutputWidgets(widgets);
widgets.ToList().Sort(new WidgetNameSorter());
OutputWidgets(widgets);
widgets.ToList().Sort(new WidgetSizeSorter());
OutputWidgets(widgets);

Console.ReadLine();
}

public static void OutputWidgets(IList<Widget> widgets) {
OutputWidgets(widgets.ToList());
}

public static void OutputWidgets(List<Widget> widgets) {
foreach (Widget w in widgets) {
Console.WriteLine(string.Format("{0} - {1}", w.Name, w.Size));
}
Console.WriteLine(string.Empty);
}
}

Saturday, March 08, 2008

How To Fix Dead/Stuck Pixels on a Playstation Portable (PSP)

So, I broke down and bought a Playstation Portable (PSP) this weekend. Lo and behold, it has a single stuck pixel. I didn't even notice it until I fired up a game for the first time, but there it is... A little, constantly red, annoying little bastard!

I really hate confronting retailers with returns, especially when its a single pixel that I'm complaining about. This wouldn't be the first time that I've done it though. But before I packed the PSP back up and headed for Best Buy, I figured I'd check online to see if this was a common problem. Unfortunately, it is a very common problem with PSPs and many people that have exchanged a PSP due to dead pixels, reports that their new unit has even more. So I count myself somewhat lucky to only have a single stuck pixel.

Luckily, I happened upon a post that talked about a little movie that that was originally distributed to help fix dead/stuck pixels on LCD TVs and monitors. The video is a series of screen that flash repeatedly in each of the colors that a pixel supports (Red, Greed, Blue.) The idea being that you can coax a stubbornly stuck pixel into working (or raise a dead pixel from the grave) by constantly forcing all of the pixels of the display to cycle through all of their possible states. (great idea!)

(Note: A stuck pixel is a pixel that only displays a single color (red in my case) and doesn't cycle to any other color. A dead pixel is a pixel that is black and never displays a color. The success rate seems to be higher with stuck pixels over dead ones.)

I downloaded the PSP version and have it currently running on my PSP, but some people have reported success in minutes, while other have had to let the video run for several hours. The consensus seems to be, that if the video doesn't fix your stuck/dead pixel in 24 hours, you might just be stuck with it.

I post this here, because I know of a lot of people that have stuck/dead pixels on their LCD monitors or laptop screen, and I figure that this might be worth a try on those as well. I'll post a follow up and let everyone know how it worked on my PSP. =)

You can download the movie file here, and read about it here.

Good luck and let me know if it works for you (especially when not used on a PSP.)

UPDATE

Well, I ran the video for probably 7 hours on my new PSP with no luck. The red little bastard pixel remained. Luckily, Best Buy was great at letting me return my unit for a new one. And I haven't been able to find any other stuck/dead pixels.

Hope you have better luck.


Thursday, March 06, 2008

'Logon failure: unknown user name or bad password.' message in Windows Vista on a Dell D830 with a Fingerprint Scanner and Embassy Security Center. Bl

I received a new laptop for work (a Dell D830) and had a fairly easy time getting it setup for development. To my dismay, I notice periodic Blue Screens of Death (BSOD) while booting into Windows Vista. I looked up the error codes and was unable to find a cause and since my system always seemed to boot normally the next time.

Talking with a co-worker of mine that got a new laptop when I did, we both experienced seemingly random BSODs and were always a bit suspect of the Fingerprint scanner. I didn't really worry about it too much. That is, until this morning.

While booting this morning, I got another BSOD. When my system booted again, I was unable to logon to Windows Vista. Every time I would put in my username and password I would get the following error message.

"Logon failure: unknown user name or bad password."

I also noticed that I wasn't given the option to use my D830's Fingerprint scanner to logon either. I tried logging onto domain accounts and local account with no luck. I rebooted multiple times. I used Vistas startup repair tool with no luck. It was looking like I might have to hit a restore point or restore an image of my laptop.

Luckily for me, my boss had experienced a similar issue. The fix is a mixture of disabling your Fingerprint scanner and Dell's Embassy Security Center. The first step is to boot into Safe Mode by pressing F8 before windows boots and selecting it from the boot menu. You should be able to logon to windows in safe mode (if not, you might have a different issue.) Once you are logged on, perform the following.

Disable the Fingerprint scanner

(this step might be optional, since the second step might do it automatically.)
  1. Press your Windows Key and type "Device Manager" and hit Enter to bring up the device manager.
  2. Under Biometrics, right click on your fingerprint scanner and select Disable
  3. Close the device manager

Turn off Secure Windows Login in Embassy Security Center

  1. Press your Windows Key and type "Embassy Security Center" and press Enter (if you don't have this application, you probably have a different issue going on.)
  2. Click on Windows Logon
  3. Uncheck Enable Secure Windows Logon
  4. Click Apply and close Embassy Security Center

After performing these steps, reboot your machine normally and try to login again. Worked great for us on our Dell D830 and was a bit of a pain to track down. I might post an update and let you know if this also clears up my random BSODs.

Hope this helps someone. =)

Wednesday, February 27, 2008

How To safely shutdown and restart Windows Explorer (Explorer.exe) in Windows Vista

There are few things more frustrating than having Windows Explorer (Explorer.exe) FUBAR while you're working or playing in windows (not to mention when it crashes completely and unexpectedly.) If you ever find yourself in a situation where you want to restart the explorer process, you can follow these steps to restart it in a safe manner.

Step 1. Shutdown Windows Explorer

  • Click on the start button
  • Press and hold Ctrl+Shift then Right-Click on a blank spot on the start menu

right-click

  • You should see the following dialog. Click on Exit Explorer

dialog

Step 2. Restart Windows Explorer

  • Open the task manager by pressing the ctrl+shift+esc keys
  • Click on File > New Task(Run)
  • Enter Explorer next to Open: and press Enter

This process will safely shutdown and then restart the Windows Explorer process.

Wednesday, January 30, 2008

Samsung Blackjack - Windows Mobile 6 - FINALLY!

I clearly remember the salesman telling me that I should be able to download and install Windows Mobile 6 "AS SOON AS ITS RELEASED" onto my sleek new Blackjack last fall when I purchased it. After many months, a million false alarms, several leaked versions of WM6, I finally have an official version installed on my Blackjack.

Get the OFFICIAL release from Samsung below, and Enjoy!

Get Windows Mobile 6 for your Black Jack!

Detailed Update Information

  • Microsoft Windows Mobile 6.0
  • Microsoft Office Mobile (allows you to view & edit XLS and DOC files on the fly)
  • Video Share Calling Technology (allows you with supported plan and devices, to transmit live or recorded video to a recipient)
  • TeleNav & MobiTV capable
  • Modified UI with updated text & icons in several areas
  • Enhancements to improve call quality
  • Fixed, Contact lookup doesn’t work when saving embedded SMS phone number
  • Fixed, Several Bluetooth issues
  • Fixed, VCML count not displayed properly
  • Fixed, Media player issue
  • Fixed, Embedded URL in MMS could not be saved
  • Fixed, CV does not play in full screen mode
  • Fixed, Converter for currency now supports Canada
  • Fixed, Handset would sound tone when charger was inserted in Silent Mode
  • Integrated Daylight Savings Time Patch
  • Enhanced international roaming support (originally included in GB4 S/W)

Monday, January 21, 2008

"Error: SQL Server does not exist or access denied" - SQL Server 2005 - .Net 1.1 - Specifying ip,port

I recently picked up a project that was written using Visual Studio 2003 and .Net 1.1. The application connects to a SQL Server 2005 database, and I didn't have the connection string that was used previously and had to create my own. I added a ConnectionString key to the appSettings section of my App.config, and fired her up. The connection string pointed to a freshly generated copy of the database needed for the application. After a few seconds, I was presented with the following error "Error: SQL Server does not exist or access denied". Joy.

Because this error is so generic, there is a lot of information returned by Googling the message. Unfortunately there are a million things that might be the cause. I couldn't find a solution online, but ended up finding a fix for my specific situation.

If you are working with a project created using .Net Framework version 1.1, against a SQL Server 2005 DB, and trying to connect without specifying the ip and port of your db engined, you might get this error. What you might want to try is to replace your "data source" with the "ip,port" of your db engine and see if it fixes your issue.

OLD/Broken: <add key="ConnectionString" value="data source=.; initial catalog=YourDB; user id=YourUsr; password=YourPwd;" />

NEW/Working: <add key="ConnectionString" value="data source=127.0.0.1,1433; initial catalog=YourDB; user id=YourUsr; password=YourPwd;" />

Just one more thing to try when dealing with this very generic Error Message.

Wednesday, November 14, 2007

DNN Forums Upgrade - The type initializer for DotNetNuke.Modules.Forum.DataProvider

I was getting this error after trying to upgrade my DotNetNuke Forums module from a 3.* version to a 04.04.03. The error refers to a dll that is no longer valid from the old version. After spending some time trying to figure the error out, I ended up having to uninstall the old version and then install a fresh copy of the new version.

(WARNING - Unless you do some backing up and restoring of your Forums data, you will probably lose your existing posts. Keep this in mind.)

Anyone know of an easier way of getting the new version installed without having to uninstall the old one?