Windows 7 Home Group

image“Home Group” is a new feature of Windows 7 that allows multiple Windows 7 machines on the same local area network to more easily share files, music, printers, and such.  Any Windows 7 computer on the network can create a home group and set a password.  Other Windows 7 computers on the network can easily find these home groups and connect to them with the same password.  Each computer can control what’s shared from it to the other computers.

CPU, Cores, What are they and What’s the difference?

Modern PCs have 1 CPU, but multiple cores.  Most people don’t really understand what that means.  Here’s an explanation:

image

First, until a couple of years ago, most computers had one CPU with one core.  A CPU is an acronym for “Central Processing Unit”.  It’s that big chip with a big fan mounted on it inside your computer.  It’s what Intel and AMD make.  It’s essentially the brain of your computer.  It’s where all the thinking occurs.  When you run a program, whether it’s a game, a word processor, a spreadsheet, or just booting up the computer to load and run the operating system (Like Windows, Mac OSX, Linux, etc…), what happens is the CPU activates the hard drive and starts it activating the motors to spin the disk, to move the read/write arm back and forth to read the magnetic bits on the surface of the disk, then translates those positive and negative recordings into bits or 1’s and 0’s and copies them into the computer’s memory, which it then looks at them, one byte at a time.  Each one is a specific instruction for the CPU to do, like copy a byte of data from one memory location to another, add 2 numbers, etc…  The CPU can do millions or billions of these instructions per second, but it can only do ONE at a time.

http://techreport.com/r.x/core-i7/die-callout.jpg

Newer CPUs now have what are essentially 2 or more CPUs on the same chip.  But, they don’t call these CPUs anymore.  They call them “cores”.  You can now have multiple cores on one chip.  The chip that contains all the cores is now called the “CPU”.

With a multi-core CPU chip, all of them run, independently, at the same time, all executing their own set of instructions, without waiting on the other cores to finish theirs.  So, if your CPU has 2 cores, your CPU can actually do 2 things at once,  If your CPU has 3, 4, 6, or 8 cores, your computer can execute that many instructions at once.  In general, the more cores you have, the more things your computer can run in parallel, and hence, is faster.

A multi-core CPU is not to be confused with a Multi-CPU computer.  A computer with 2 or more CPUs actually has 2 more actual CPU chips on the motherboard, with a big fan mounted on each one.  Each CPU may have 1, 2, 3, 4, 6, or 8 cores.  Generally an operating system recognizes all these cores as separate CPUs.  OS’s don’t generally care wither the cores are one per chip or multiple cores per chip.  The only time that really matters is if the operating system provider has implemented some bizarre licensing rules that says if you don’t pay up, then they’ll limit your installed operating system from using more than one physical CPU chip, but will allow multiple cores on that one chip.  Windows 7 Home Starter Edition is one of many examples that implements this simply for a licensing reason.

It actually gets much more complicated and involved in that and there are exceptions to these rules of speed, but for a simple explanation, this suffices.

In general, more cores = faster and better.

32 bit vs. 64 bit: What’s it mean?

If you’re a Windows user, this year, more than at any time in the past, you’ll be presented with the dilemma of deciding whether or not you want to install a 32 bit version of Windows or a 64 bit version of Windows.  Here’s an explanation of what it means:

When a program is executed by the machine’s hardware, the hardware looks at instructions in the software that ask it to store or retrieve data to and from the computer’s memory.  How much data it can store and retrieve in one instruction is called its Data Bus Width.  Most modern PCs have a 64 bit data bus, so they can store or retrieve up to 64 bits in one instruction (or 8 bytes).  Generally, the more bits that can be stored or retrieved at once, the fewer instructions it takes to move a large chunk of data, so it’s generally faster.  This is not a hard rule though.  Sometimes it’s slower.

image

Additionally, the total amount of memory that the PC’s Central Processing Unit (CPU) chip can access is determined by its address bus width.  This doesn’t necessarily have to be the same size as the data bus width.  Most modern processors though, have a 64 bit address bus.  A 32 bit address bus can only access about 4GB of RAM, so even if you added more memory, your processor couldn’t use it.  A 64 bit address buss can access 2^64 bytes of memory (or 18,446,744,073,709,551,616 bytes).  That’s significantly more than any amount of memory you’ll have in a PC for a good long while.  So, with a 64bit address bus, your CPU can access as much memory as you can afford to install.

There are other, individual hardware architecture pieces that can be 32 or 64 bit, but I won’t get into them here.

In short, whenever you have an option, always go with 64 bit, unless, you know for sure, that a critical piece of software you need just won’t work in 64 bit.  But, in that case, I’d recommend still going with a 64 bit OS (Operating System) and using virtual machine software, like Windows XP Mode in Windows 7, or VMWare and install a 32 bit OS inside of the virtual machine, just for that old software that hasn’t been updated.

What’s a Netbook?

There’s been a lot of media hype about so called “netbooks” this past year.  All a netbook is, is a small notebook computer with a slow processor, a slow and low capacity hard drive, a small screen with a low resolution, and usually a scaled down version of Windows (like Windows Starter edition) or with Linux installed.

image

Netbooks are not generally considered “netbooks” unless they’re under $500.  Most of them are right around that price range, but with the severely limiting capabilities.  People get excited about them because they assume that since they’re so scaled back, capability wise, that they’re cheaper than more powerful notebooks.  The truth is, you can get a very nice notebook computer in the $300-$500 price range that will absolutely run circles around any netbook performance wise, storage wise, screen size wise, resolution wise, Windows version wise, etc… etc…

Although, people that have netbooks, seem to love them.  I wonder if they know that they can get a much more power computer at an equivalent (or lower) cost.

There is one legitimate reason I can see for getting one though:  Size.  They’re much smaller than a normal notebook.  So, if a smaller size is more important than all of the other capabilities, a netbook just might be right for you.

Windows 7 Versions

image On 10/22/2009, Microsoft officially released Windows 7 to the general public, but did you know there are 6 different versions (and a 32 bit and a 64 bit version of each of those (except for Starter edition which is 32 bit only))?

So, which do you buy?  First, let’s list what versions are available, then we’ll describe each one:

  1. Windows 7 Starter
  2. Windows 7 Home Basic
  3. Windows 7 Home Premium
  4. Windows 7 Home Premium Upgrade Family Pack
  5. Windows 7 Professional
  6. Windows 7 Ultimate (also called “Enterprise”)

Now, the details of each:

  • Windows 7 Home Starter
    • This is the bottom level, least features version of Windows 7.  This is the first time a starter edition has been made available in the United States.  Starting with XP, then Vista, starter editions were made available to developing nations, but not in 1st world nations.
    • It lacks file encryption.
    • You can only run 3 programs at once (this is real set back).
    • You can’t buy this.  If you want it, you have to buy a computer with it pre-installed.  Most likely, on a netbook.
    • Price:  Unknown, since you can’t buy it directly.  The cost will be factored into the cost of the machine on which it’s installed.
    • Won’t use more than 2GB of RAM.
    • 32 bit only.
    • Won’t support more than 1 CPU.
    • Can’t back up to a network.
    • Can’t create a Home Group (can join only).
    • No multi-monitor support.
    • No fast user switching.
    • Can’t change desktop wallpaper.
    • Can’t connect mobile devices.
    • No Aero glass visuals.
    • No multi-touch capability.
    • No premium games included.
    • No Windows Media Center.
    • No remote use of Windows Media Player.
    • Can’t remote control with remote desktop.
    • Can’t connect to a Windows Domain.
    • No Windows XP mode.
    • No App Locker.
    • Can’t boot from a virtual hard disk.
  • Windows 7 Home Basic
    • Has everything that Starter edition has plus:
    • Can access up to 8GB of RAM.
    • Available in 32 and 64 bit.
    • Supports multiple monitors.
    • Can change the desktop wallpaper.
    • Can connect mobile devices.
    • Only partial support for Aero glass.
    • All other restrictions for Starter apply to Home Basic.
  • Windows 7 Home Premium
    • Has everything Home Basic has, plus:
    • Can access up to 16GB of RAM.
    • Can create a Home Group.
    • Full support for Aero glass.
    • Supports Multi-Touch (you’ll need a multi-touch monitor or multi-touch mouse to use this).
    • Includes Premium Games.
    • Windows Media Center.
    • Windows Media Player remote playing.
    • All other restrictions on Home Basic apply to this.
    • Price: $119.99
  • Windows 7 Home Premium Upgrade Family Pack
    • 1 Purchase allows you to install it on up to 3 home computers.
    • Price:  $149.99
  • Windows 7 Professional
    • Supports everything that Home Premium does, plus:
    • Can access up to 192GB RAM.
    • Supports up to 2 CPUs.
    • Can backup to the network.
    • Can encrypt the file system.
    • Can remote control with Remote Desktop (This is an invaluable feature for remote controlling your home computer from work!)
    • Can connect to a Windows Domain.
    • Contains Windows XP Mode.
    • Can impose software restriction policies on computers in your office network.
    • Price:  $199.99
  • Windows 7 Ultimate (and Enterprise)
    • The only difference between Windows 7 Ultimate and Windows 7 Enterprise is the licensing.  The two versions are identical.
    • This is the “I’ll have it all” version.  In addition to everything all the other versions have, this one also has:
    • Aero glass when you remote control.
    • AppLocker
    • BitLocker
    • Virtual hard disk booting.
    • $219.99

    You can purchase them directly from Microsoft’s web site here, but I strongly advise finding it at a local store.  Most large retailers will sell it below the MSRP (Manufacturer Suggested Retail Price).  Of course, if you’re a business buying multiple copies, you may want the Enterprise licensing, which you can’t get at retail outlets.  You’ll need to continue to purchase through the vendors you’ve been going through.

    I’ve been running Windows 7 Ultimate 64bit since early August.  Read my reviews (pros and cons) and other articles about Windows 7 here:

  • Windows 7 Hype Vs. Reality
  • 13 Things I Like about Windows 7
  • 42 Things I HATE about Windows 7
  • Windows 7 Upgrade Experience
  • Windows 7 reliability down the tubes
  • Windows 7 Explorer: Getting the tree view back
  • Get your Quick Launch bar back under Windows 7
  • What’s wrong with Windows 7’s Task Bar (or “Super …

  • How to Stop SPAM: Expert Tips

    This is the 3rd and most advanced set of anti-spam tips in my 3 part article serious.  The other two are here:

    1. How to Stop SPAM: Basic Tips

    2. How to Stop SPAM: Advanced Tips

    image If you want to stop spam… I mean really stop spam, it will take some set up effort and some mild, continuous effort (very mild), but in the long run, it will be WELL worth it.  You don’t have to be an expert computer user to do any of this, but you do need to follow directions and have patience.  The following expert tips are the 3rd and most advanced part in my 3 part series on putting an end to spam.  These 3 parts are NOT consecutive parts.  You can do any one of the 3, depending on how fortified you want to make your inbox.  The more fortified, the more work.  This part is the most work of the 3 and is also the most effective.  If you follow these steps, it will be a RARE occasion when (or IF) you ever receive another spam message.  I’ve been doing this for years and have only received a small handful (less than 10) spam messages in about 10 years!!!!  THIS REALLY WORKS!!!

    Here we go:

    1. Buy a domain name.  They’re only like $10/year.  If you register for more than a year, the price/year goes down.  I recommend doing so via godaddy.com.  They’ve got good pricing and lots of features.
      1. If you’re not familiar with what a domain name is, that’s the part of a web address that ends in .com or .net or .org (or several others).  For example:  google.com is a domain name.  You can register your own name (if it’s not already taken).  If the name you want is taken, there’s an infinite number of them to choose from.
    2. Use Google hosted domains to set up GMail, but with YOUR OWN domain name (http://google.com/a), so say you registered JohnSmith.com, you can set up your GMail as me@JohnSmith.com, instead of JohnSmith12345@gmail.com.
      1. With your own domain, you still have all the cool, infinite aliases like you do with regular GMail (see How to Stop SPAM: Advanced Tips), plus you’ve got it on your own domain and plenty of other really cool features you DON’T get with regular GMail (did I mention this is all FREE??? except for the domain name registration, of course).

    You can create up to 20 fully loaded E-Mail accounts on your free domain hosted account (each with their own inbox and each with their own log in and calendar, and Google docs, etc…).  If you need more, you can pay a nominal fee to Google.

    Each of these 20 accounts can have up to 25 aliases (in addition to the infinite plus sign (+) on-the-fly addresses I described in How to Stop SPAM: Advanced Tips).  These 25 aliases do NOT have a + sign in them.  So, you could have aliases like me@JohnSmith.com, you@JohnSmith.com, SomeOneElse@JohnSmith.com, etc… all going to the same account.  Remember, each of the 20 real accounts can have 25 additional aliases, which gives 26 ways to reach an account (without using the on-the-fly address scheme).  That gives you 520 unique addresses without using the on-the-fly (+) address scheme.  You can also have any (or all) of these accounts automatically forward their received mail to one account, that way you only have to check ONE account and not 20.

    Utilize the tips in How to Stop SPAM: Advanced Tips with these new addresses on your own domain.

    You can also have a catch-all address for your domain, in case you want to catch e-mail sent to non-existent addresses on your domain.  This is good if you enter a non-existent address on some website and forget to create its alias on your own domain.  You can also set up filters on the catch all, looking for e-mail addressed to certain addresses, and forward it to a certain account.  This is good if you run out of aliases (all 520 available), or if you’d prefer to just set up filters on the catch all instead of setting up aliases.

    One fun thing to do is to set up once you’ve busted one of the web sites as a spammer (and you will), is to set up a filter for the address they’re sending you spam on and have it forwarded to their sales or help e-mail address and automatically deleted from your inbox.  Then, they’re just spamming themselves!  I’ve done this with both BellSouth and Sears.  If you sign up for e-mail notifications through any company, then decide you want to unsubscribe, many of them will intentionally delay it for “7 to 10 days for processing”.  This is a bunch of BS, and they know it.  They get you signed up instantly, they can unsubscribe you instantly.  Set up a filter to their sales and help addresses too.  They’re only annoying themselves.  It might also be fun to have spammer A’s spam forwarded to spammer B’s address and vice versa.

    If you find these tips helpful, please leave a comment and let me know.  Or, if you have tips of your own, let the rest of us know.

    “Welcome to Windows Media Player” on Windows 7

    This is not a “complaint’”, but merely a report of one of the many strange things going on with Windows 7…

    Long after I installed Windows 7 (2 1/2 months after installing it), I opened a wav file from an e-mail message (it’s a voice-mail message via my VOIP provider), I got the following dialog box that’s only supposed to happen the first time you run Windows Media Player:

    image

    (BTW, you should choose “Custom settings” and ensure that “Send unique Player ID to content providers” is unchecked as well as “I want to help make Microsoft software and services even better by sending Player usage data to Microsoft”.  I also recommend that under “History”, you uncheck everything.  You don’t necessarily want anyone that sits at your computer to be able to browse back at everything you’ve been watching or listening to.  Click on the cookies button and on the privacy tab, turn on the pop-up blocker and under InPrivate, check both boxes.)

    I use Windows Media Player daily, so this is definitely not the first time I’ve run this… It’s more like the 1000th time.  Windows 7 seems to have a considerable amount of glitches in it.  Since it’s new, that’s to be expected.  This is not a complaint, just a documentation of some of the strange things that have been going on in Windows 7.  If anyone’s interested, this is from Windows 7 Ultimate 64bit Version 6.1.7600 with all of the updates as of 12:13 PM 10/23/2009 Eastern Time, with the exception of one pending “Microsoft – Input – Microsoft USB IntelliMouse Optical (IntelliPoint)” driver update and 34 optional foreign language packs.

    image

    I also viewed my update history and see no updates relating to Windows Media Player in the past week.

    Text from the dialog box to help with web searches:

    Choose the initial settings for Windows Media Player.  You can change these settings in the Player later.

    Recommended settings

    Make Windows Media Player the default program for playing media, automatically download usage rights and media information to update your media files, and send usage data from the Player to Microsoft.  Set Media Giude as my active online store.

    Custom settings

    Customize privacy, playback, and online store settings.

    Usage data will be sent to Microsoft if you use recommended settings, but the information will not be used to identify or contact your.

    To learn more about Recommended settings, read the Privacy Statement online.

    Why is Click-Once Technology Important?

    Before I can answer this question, first let me explain how regular software distribution is done.  BTW, the context of this discussion is in regards to Windows EXE applications (not web applications).  I mention that because this deployment technology is web based, but what’s being deployed is an actual Windows executable.  A web browser is only involved during the launch of the application and not during the execution of the application.

    How Windows software is normally deployed:

    Without Click-Once technology, to deploy a Windows executable over the internet, you first create the EXE file and any DLLs and config files that go along with it, then package them up in an .MSI installation package file or maybe a .ZIP file.  You upload that file to a web server, then provide a web page with a link to the file (or distribute a link in e-mail).  The user then clicks the link and uses the browser’s capability to download and save or download and run the file.  Then the installation program is launched and the user answers the questions in the install options.  When that’s done, a new entry exists in the installed programs (so the user can go to the control panel and uninstall it), the files are installed usually under c:program files, or c:program files (x86).  An icon is optionally installed on the desktop, the start menu, and/or the quick-launch bar.  Entries are added into the system registry and potentially, DLLs are installed in the machines GAC (Global Assembly Cache) and/or COM components are installed machine-wide.

    The next part becomes more difficult:  Updates:

    If you find bugs in your software that you’ve deployed or have added new features, how do you distribute the fixes to your user base?  How do you notify them that there’s a fix available?  There are many solutions, but none of them are great.  They usually require some way to contact the users and those methods inevitably leave some users out because they can no longer be contacted.  Upgrading over an existing installation is difficult, especially if you are many versions into the life of the product, there are multiple versions to contend with.

    Security:

    Unless you sign your distribution, your users can’t be guaranteed that what they’re downloading is what you published.  Imagine a hacker got onto your web server and replaced your software with malware or just replaced one of the files, still turning your software into malware.  How do you ensure that doesn’t happen?

    Problems encountered with deployment:

    1. Creating an installation package (not too difficult, usually, but can be, and must be done if there’s anything more than a single .EXE).
    2. Difficult to ensure that what’s being downloaded by the user is the same thing you put there (like backups, people are generally not concerned about this type of hack until it happens).
    3. User’s can’t be sure that what they’re downloading is what you deployed (no standard way).
    4. Difficult to prevent someone from stealing your software and publish it on their own server (and a modified one at that).
    5. When the user installs, machine wide changes are made, even if it’s just adding uninstall capability to the control panel.
    6. Uninstalls can go bad, making uninstalling or updating virtually impossible without a significant amount of tedious work.
    7. Updating software becomes more difficult as more versions are released.
    8. Difficult to ensure the user is running the latest version.
    9. Difficult to prevent users from running old versions. (Maybe you’ve changed a web service API or removed an old URL, or some old data structure is now incompatible with the latest version, etc…)

    How does Click-Once deployment make this better?

    All of the problems above are solved with Click-Once deployment.

    Distribution is nearly identical.  You deploy your software to a web server and provide a link on a web page (or e-mail the link to users).  But, to deploy, you do it directly from Visual Studio by right-clicking your project and choosing “publish” (This resolves issue #1 above).  Visual studio prompts you for a certificate to use to sign the distribution (this resolves issues #2, & #3 above).  It then prompts you for a file share or FTP path to publish to.  It also prompts for the URL from which the users will launch the application.  This makes it very difficult for theft (#4 above).  With this, the Click-Once run time on the user’s machine will ensure that they’re launching it from the URL you provided during deployment.  If it’s not on the URL you specified, Click-Once will refuse to run the application.

    When the user runs the application (always done via a URL to your site), the application is downloaded to something similar to the Internet Cache folder… Call it a “Click-Once cache”.  No machine changes are made, unless your application has dependencies like DirectX, XNA, etc… that need to be installed (more on that later).  The files are simply copied into the cache folder.  This resolves issues #5 & #6 above.  Subsequent runs will run directly from the cache, but will check online for a newer version and according to your settings when you deployed, will either force a download of the latest version, or allow for 1 back level version to be run.  This resolves issues #7, #8, & #9 above.

    Regarding dependencies:

    One exception to the advantage of not making any machine wide changes are when you’re deploying an application that has dependencies on other technology, such as DirectX, XNA, etc…  If your application requires those, obviously, the users machine must have them installed.  With Click-Once deployment, you can indicate in your deployment whether you want to include the dependencies with your distribution, or have the Click-Once technology on the user’s machine go and get those dependencies from the vendor’s web site and install them before the first run of the application.  The effort on your part is to simply check a check box on or off.  There is a optional web page produced when you deploy your Click-Once application that will list all of the dependencies so the user knows what’s required and what may be installed, along with a “Run” button that the user can click to launch the application (which also checks the user’s machine for the dependencies).

    You also have the option of actually installing it locally (putting it in c:program files, adding it to the list of installed apps that can be uninstalled, adding icons to the start/programs menu, the desktop, and/or the Quick-Launch bar.

    Even if you don’t want it installed locally (usually the preferred option), you can still optionally have icons placed in the start/programs menu, the desktop, and/or the Quick-Launch bar.  These icons simply point to a file in the deployment on your web server.  This gives the user the user experience as if it were installed, but it always goes online to look for the latest version and runs that if it’s available, otherwise, it’ll run the one from their local cache.

    What is XNA?

    XNA is a game development platform from Microsoft.  The letters “XNA” don’t stand for anything… They’re not an acronym.

    Using XNA technology, you can write a game for Windows, XBox 360, & Zune.  A single project can produce BOTH an executable for Windows AND and XBox 360 game.

    XNA supports both 2D and 3D objects in games (both at the same time, if you like).  It has support for networking built in.  “Games for Windows” is complementary technology that XNA also supports.  By simply adding a single line of code, your XNA game becomes a “Games for Windows” game.  “Games for Windows” games have a very slick user interface built in for logging onto your Games for Windows account (which is also the same as your XBox Live account).  You can add friends and send messages and compete against friends online… including your friends on XBox 360!!  That’s right, your game for Windows and your game for XBox 360 can have users competing against each other, in real time, on both platforms!

    XNA is not a single product.  Developers download the SDK for Visual Studio.  They can then deploy their Windows games via Click-Once technology, which is quite awesome.

    Game players for Windows can simply click a URL to run a game, but this game is NOT a JavaScript for Flash based game… It’s a real, hardcore Windows game that runs on Windows (not the browser).

    To deploy a game to the XBox 360, developers pay an annual $99 fee and can participate in forum discussions with their peers, submit games for testing and approval, then get their games published on the XBox Live marketplace.  They set their own prices on their games using Microsoft Points (meaning they sell their game to users and users pay with their own Microsoft points, which are then converted to real dollars and sent to the developer).  The price options amount to about $2.50, $4.00, $10 and $15, if I recall correctly.  The developer keeps 70% of the income and Microsoft keeps 30%.  But, when you sell it as a Windows game, you set your own price, sell it however you like (on CD, as a download, or as a Click-Once deployed app) and you keep 100% of the proceeds.  The only time Microsoft takes a slice is if you sell it on the XBox Live marketplace.  (Update):  Microsoft has started a new app store for Games for Windows, so you now have the option of selling your Windows game through there too, but of course, Microsoft will take a slice.  You still have the option of marketing and promoting and selling all on your own, outside of the Market place and you’re not required to sell your Windows version through Microsoft’s app store… It’s just an additional option for you (you can sell it both by yourself AND in the app store, if you like).

    I attended an XNA session at CodeStock 2008 and the same one (for a refresher) at CodeStock 2009.  You can read my review from the CodeStock 2008 XNA session here.

    Shortly after the 2008 session, I began developing a game with my kids.  We worked on it in earnest for a few months, but have let it side idle, with only a little bit of work since.  When we complete it, we’ll be publishing it on XBox Live Marketplace AND on our own website for Windows players.  I’ll update this article when it’s released.

    Related Reading:

    Beware of cheap XBox 360 consoles!
    CodeStock 2008 XNA

    What is Click-Once technology?

    “Click-Once” is a deployment technology created by Microsoft.  It makes deploying Windows software drastically easier for both the writers of the software and for the consumers of the software that will run it on their machines.

    Here’s how it works from the distributor’s end (I’ll explain how it works from the consumer’s end in a moment):

    The distributor of the software deploys their project directly from Visual Studio to a web server (any web server… not just IIS).  Several files are created in the process, including a launch page with a run button (that doesn’t have to be used), a file ending in “.application”, a subfolder with the executable and associated DLLs.  All the files are digitally signed by the distributor for security and the whole thing is versioned and GUID’d.  The distributor has the option of letting the software be run straight from the URL or to let it be installed locally on the user’s machine.  They also have the option of letting it check for newer updates every time the user runs it and additionally can force a refusal to run unless it’s the latest version on the server.

    From the user’s end:

    They will either use the “run” button on the publish.htm file that gets generated during the deployment which then redirects to the “setup.exe” file on the server.  In that case, the setup.exe file is downloaded like any other file and the browser gives the user the option to save or run.

    Or they’ll click a URL that reference the “.application” file on the server, or they’ll double-click an icon on their desktop which references a “.application” file on the server.

    In the case of the .applicaton file, what happens next is the Click-Once technology activates from the browser and reads the .application file (which is a manifest XML file explaining where the content is as well as a hash to make sure it hasn’t been modified since it was deployed).  It then downloads another manifest XML file from the application’s content folder on the server and then downloads and attempts to run the EXE, but not without asking the user’s permission first, as well as displaying the signed certificate information to the user.  The user has the option of accepting or rejecting it.

    From the user’s point of view:

    The user clicks a link, is prompted if they want to run it, then it just runs.

    Benefits of Click-Once for a software distributor:

    • Rapid deployment.
    • Control over whether users can:
      • install it locally to launch locally (with or without checking for newer versions)
      • only launch it from the URL.
      • have to run only the latest version.

    Benefits of Click-Once for a user:

    • Easy launching (simply by clicking a URL).
    • Very strong security:
      • Always given the option to accept or deny a certificate.
      • Always given the option to allow it to run at each launch.
      • Zero footprint… There’s no “installation” as most software.  No system settings can be changed during the simulated “install”.
      • Can be sure they’re always running the latest version.
      • It’s .NET software, so they have the ability to control what resources the EXE can have access to on the machine (through a control panel applet).

    An application can also be deployed as a Click-Once application for CD or DVD distribution.  In that case, the end user uses the CD or DVD in the same way as a web site.

    For an article directed at why you would use this (if that wasn’t answered here), click here

    For more information, directly from Microsoft, go here.