Aug 9 2010
Many applications uses Microsoft .NET Framework 3.5 as development platform, and thus requires .NET Framework to be installed beforehand, else the installation will request to download and install .NET Framework from Internet. On offline system without Internet access or online server with slow downloading speed, the requirement to download setup files through web may hit the wall – a no go.
Microsoft initially just provides a minimal size dotnetfx35setup.exe download which is a bootstrapper that will still need to download more files via Internet. For users who prefer to perform offline installation or install .NET Framework 3.5 SP1 without waiting for download to complete will have to download and save a copy of full complete standalone or redistributable Microsoft .NET Framework 3.5 SP1 setup installer, which is finally published by Microsoft.
Microsoft .NET Framework 3.5 SP1 (Service Pack 1) is a full cumulative update that contains many new features building incrementally upon .NET Framework 2.0, 3.0, 3.5, and includes cumulative servicing updates to the .NET Framework 2.0 and .NET Framework 3.0 subcomponents. See KB951847 for list of changes and fixed issues in the .NET Framework 3.5 Service Pack 1.
Download full package of Microsoft .NET Framework 3.5 SP1: dotnetfx35.exe (231 MB)
For known issues and release notes, refer to Microsoft .NET Framework 3.5 SP1 Readme.
Mar 17 2009
Unable to start debugging on the web server. Debugging failed because integrated Windows authentication is not enabled
Recently, I was trying to get a .Net 2.0 web application I am working on, running from IIS 7 under my Vista Ultimate workstation so it could be remotely debugged. I went and changed the appropriate project settings, but when ran the web app, it said:
Error while trying to run project: Unable to start debugging on the
web server. Debugging failed because integrated Windows authentication
is not enabled.
After some poking arround in IIS 7, which I am quite unfamiliar with, I found a very easy solution.
- Right-click on "My Computer" and select "Manage"
- Under "Services and Appliccations" select "Internet Information Services"
- Find the appropriate website (probably called "Default Web Site")
- Find the icon named "Authentication" and double-click it.
- Make sure "Windows Authentication" is in the list, and enable it.
Your Visual Studio should now works as advertised.
Dec 22 2008
One of the main projects I have been working on recently has been a .Net 3.5 web project. While I have always liked the agile development and IDE which .Net and Visual Studio provide, The Setup Project template (which creates MSI installation files) has always been hard to use, difficult to customise and very restrictive.
In the past, I've used the NSIS (Nullsoft Scriptable Install System), which:
... is a professional open source system to create Windows installers. It is designed to be as small and flexible as possible and is therefore very suitable for internet distribution.(http://nsis.sourceforge.net).
However, despite the great number of resources and example scripts to do anything you can pretty-well imagine, a simple straight up installer script to modify IIS using NSIS to install the web application seems to be quite a challenge.
I did, however, stumble across a blog faced with a similar issue, wanting an installer system to perform the following tasks:
- Show ‘Hello’ page
- Ask to select virtual directory name and installation folder
- Ask about database connection string (user name, password etc)
- Copy working files to destination folder
- Create Virtual Directory
- Create Database
- Show ‘Installation complete’ page
- Open installed application in web browser
They provided an example script which I repost here should the direct link ever go down. They do mention on their blog a number of future enhancements missing from the installer script:
There are many things should be improved in installer. First is improvement of virtual folder creation. User should have possibility to choose between different virtual servers. Also correct default installation directory should be suggested (now it hardcoded as “C:\Inetpub\wwwroot\TargetProcess2”). Installer should detect if .Net 2.0 is installed and help to download and install it. Installer should upgrade old version of TargetProcess to new.
Given that I have quite a bit of experience with NSIS, I think those points should be mostly trivial and I will be sure to post the updated example script to this blog once it's complete.
This url http://weblogs.asp.net/krobertson/archive/2004/04/01/106002.aspx looks promising, not exactly what I want to do but a useful reference never-the-less.
Nov 13 2008
After getting my Amazon EC2 imaged created, I quickly discovered that the default image is as bare-as-bare-as-can-be. They had other default images with SQL Server 2005 Express on it, but I prefered to use a clean Windows customized by yours truely.
Optional Windows Server operating system components are typically added or configured using installation media. This tutorial describes how to add or configure optional Windows components within the Amazon EC2 environment.
Windows Server operating systems include many optional components. Installing all components on each Amazon EC2 Windows AMI is not practical. Instead, you can access the necessary files to configure or install components using Elastic Block Storage (EBS) Snapshots.
The following is a list of available snapshots:
- Windows 2003 R2 Enterprise 32-bit: snap-bb10f6d2
- Windows 2003 R2 Datacenter 32-bit: snap-8010f6e9
- Windows 2003 R2 Enterprise 64-bit: snap-d010f6b9
- Windows 2003 R2 Datacenter 64-bit: snap-a310f6ca
Simply add the volume with a size of 2GB - using whatever tool or command line you prefer - to set it up and attach it to the instance you want to configure. It might take a few moments for the instance to detect the volume, but after that, you will then be able to configure the Windows Components Wizard to point to the new volume.
Jan 6 2008
I've been having some troubles with fast and reliable FTP server software for my servers lately, simply because IIS FTP was being far more trouble than it was worth.
On @stormwarden's advice, I checked out FileZilla FTP Server, and WOW, am I impressed. Configuring it is easy, the server is fast and simple to use and installs so easily even my mother could do it.
One of the main reasons I found it so great, was that you can easily setup 'home' directories for multiple users, something which is a LOT more difficult to achieve using the FTP server in IIS.
In sum, FileZilla is an excellent FTP server and I highly recommend it to any one with a self-managed windows-based server which needs FTP capability.
Jan 1 2008
I have been creating a lot of Http Modules lately as a number of projects I am working and consulting on have large API back ends. Http Modules work fantastically for ASP.NET because all Http requests are pumped through all of a site’s modules before they actually hit IIS.
One of the API methods I’m working on requires a URL to be passed as a parameter, and in order to simplify usage of the API, these parameters are passed through the URL so the application using the API, doesn’t have to post variables to the API.
However, if the request contains certain reserved characters then you can run into a problem. Even if the characters such as $. %, ? are encoded correctly the page may not be returned and all you see is "bad request" (error 400). It isn't your code that is causing this though but the behaviour of the ASP.NET ISAPI filter which doesn't pass the request on.
After some Googling I found there is a Microsoft KB Article 826437 about the issue
Apparently the solution given is incorrect though and the correct registry key entry is shown below:
Windows Registry Editor Version 5.00
However, this didn’t seem to work for me, perhaps because I am running version 2.0 of the Framework and not 1.1 as indicated in the Knowledge Base Article.
There is an upside however, in that you can pass reserved characters through the request if they are inside a query string value. It’s not a perfect solution of course, because PHP would let you do it no problems, but it is a work around that worked for me.