Regarding question 1,
The .net runtime supports Windows NT SP61, Windows 2000, Windows XP, Windows Server 2003,and Windows ME/98. Windows 95 is not supported.
Additionally, ASP.Net runs only on XP(Non-Home) ,Windows2000, and Windows server 2003.
The Mono project has a version of the .NET Framework that runs on Linux.
Regarding Quesion 2,
The Publish Installer (ClickOnce) can be configured to point to Microsoft Website (it does so by default), to download the necessary frameworks on Product installation. I mean , the msi can download it automatically.