Saturday, 29 December 2007

Ajax and Converted VS2003 Web Apps

We couldn't get AJAX to work on any applications converted from VS2003 to VS2008 (running .Net 3.5). All the code made post backs instead of running AJAX in update pannels. After a line by line rip apart of the web.config we tracked it down to
. Searching the net Scott Guthrie has written a post explaining this.

Tuesday, 11 December 2007

Install Vista from External USB Harddisk or Memory Stick

I was working on a new machine which needed Vista installing but it had no DVD drive.

You can install Vista directly from external media either a USB drive or an external USB hard disk. The install is at least twice as fast from a USB hard disk. Taking around 10-15 minutes including making a coffee.

  1. Anyway-firstly configure your target machine to boot from USB, set the boot order after your internal drive, otherwise you'll need to unplug the installation drive when the installer reboots the machine.
  2. On another Vista machine, pop your USB stick (it needs to be 4GB as the Vista DVD is 2.6GB) or USB harddisk into the USB port.
  3. Run a commend prompt and run the utility diskpart
  4. Retrieve a list of drives attached to the system using 'list disk', make a note of the number corresponding to your external media. Make sure you get the right one as picking another drive will lead to data loss.
  5. Run 'select disk <x>' where x is your drive number e.g. 'select disk 4'
  6. Run the following commands

    create partition primary 3096
    select partition 1
    format fs=fat32
  7. The assign command will give the drive the next available drive letter so it will now appear in My Computer
  8. Copy the contents of a Vista DVD onto the new drive. You can use XCOPY to do this e.g.
    xcopy :\*.* /s /e /f :\
    Where is the drive letter containing the Vista DVD and externaldriveis your newly assigned drive letter. e.g. xcopy e:\*.* /s /e /f f:\
  9. Plug the USB device into the target machine and boot it. Assuming your boot order is set correctly in the BIOS the Vista installation will run from the external media.

Saturday, 28 April 2007

New Site

We've launched a new site which focuses on our eCommerce and retail solutions.

Missing ASP.NET tab on Windows x64 Servers

We've been creating ASP 2.0 applications and the first a new version of our eCommerce to RMS link software was ready to be deployed from our development servers to our production machines. We use a pair of AMD based IBM x326 servers as our front end web servers. Once we'd installed the x64 .net runtime, we realised that the ASP.NET pane had not appeared in the IIS management console when viewing a virtual directory. We've seen this before on x86 and normally running aspnet_regiis.exe -i from the .Net 2.0 framework directory would resolve this problem.
However further digging around made us realise that the 'snap in' which makes this appear does not work on x64, and at the current point in time Microsoft have no intention of fixing this. As such you need to install the scripts manually using the aspnet_regiis -sn command.

e.g. aspnet_regiis -sn

This is documented in some more detail here. However being more of a developer than an IIS admin the 'path to application' threw us. We have in the region of a hundred sites on this server so finding the path is a little tricky. I couldn't find all the steps required to get ASP 2.0 working in one place.

Firstly create a new virtual directory in IIS and create an application. You also need to specify and application pool, this must be an application pool which does not contain any .Net 1.1 applications as they can't both exist in the same pool. Whichever is called first (1.1 or 2.0) will lock the application and the other applications will fail with a cryptic service not available error.

To find the path of the application Microsoft recommend you use METAEdit

To find it the path we installed META Edit 2.2. Browsed to LM, W3SVC and then our site identifier (which can be found in IIS see screenshots below), then the virtual directory name in this case rmsLinkv3WebService.

As such you end up with aspnet_regiis -sn W3SVC/102785756/ROOT/rmsLinkv3WebService. This will install the ASP2.0 scripts and you can happy install your application.

Wednesday, 25 April 2007

Vista Network Printing UAC - Windows cannot connect to the printer. The specified print monitor is unknown

More vista woes - We've been installing network printers on our Vista machines and on some machines we recieve the following error "Windows cannot connect to the printer. The specified print monitor is unknown". Yet on other machines it works fine. We pinned this down to developer machines, we disable UAC to get Visual Studio to work properly.

Searching the net it became clear that network printers can't install unless UAC is enabled, which requires a two reboots. One to enable UAC and install the printer, the second to disable UAC and continue work in Visual Studio 2003. Frustrating, but there seems to be no other work around.


Friday, 13 April 2007

.Net 1.1 vs .Net 2.0 Performance

We've been on the hunt for information on the performance differences between ASP 1.1 and ASP2.0. I've hunted around the Internet for information on the differences in speed between the two architectures, however very little information seems to be available.

The closest I've found is the following Microsoft article however this seem a little like PR (reads like a Gartner "rent a quote" report) rather than real life observations. Is anyone aware of articles with independent testing of the throughput of a 'normalish' web based application. For example an eCommerce or CMS system. We are aware that 2.0 applications start far faster, but our sites are constantly accessed so this is less of an issue. More importantly are we likely to increase or decrease load on our server farm as we migrate to 2.0. Are our customers going to get a faster experience or is it much of a muchness with better controls and development environments?


Thursday, 12 April 2007

Froogle UK Woes and Solutions

We've been working on listing products for Board-Lifestyle on Froogle. We have several feeds to Froogle for other UK companies and all have been fairly painless to setup other than writing the SQL to extract products records from our eCommerce system which is based around a UK customised version of Storefront. This has lead to a good volume of business for our clients.

This time its been very frustrating as we've had to work around some of the new features in Base (which is Froogle's underlying technology).

Firstly its important to stay on the UK version of base, as some of the links inside Base actually hard link to the US site. This makes it appear as if your products are appearing and disappearing from the Base system as you hop between the two sites. This has caused us no small amount of grief as we've uploaded the same bulk upload to both the US and UK systems. The upshot is to make sure have the address in the address bar at all times, and keep and eye out for changes as it will revert to the .com domain as you navigate around the user interface. Submission of a UK feed to the US base site will see it disapproved.

The other areas which have caught us out are the new attributes which Base suggests. Location appears as a recommended field, however reading posts on the Google Groups, this seems to setup the feed as a Froogle.local feed and excludes them from the main Froogle results. We have reworked the file and we'll see how we get on!

I'm a hugh fan of Google, but some of their technology has a decidedly half finished feel to it, with items remaining in Beta for extended periods of time and lacking key features. If they really are to threaten Microsoft and deliver 'software as a service' they have a lot to learn about easy of use and debugging. For example the SSL certificate on the .uk URL's is a .COM SSL certificate which drives IE and Firefox crazy with security warnings and its been like this for at least a year!