Configure when first run |
Often, many setup authors assume that the best time to configure an application is at install time – that way everything is ready for the user once the product is installed. But configurations should be based on users, not the machine (unless you’re application is a service). Instead of allowing the user to configure the application at install time, let them do it the first time they run your program.
Of course, you’ll still need to register your application’s file types, ProgIDs, and ClassIDs as normal, but you should leave configuring program options and defaults until each user runs your application for the first time. While it is tempting to configure your application at install time, this is not a good approach for a several reasons:
While delaying initialization until the user’s first run is a great approach to take for user applications, obviously this doesn’t apply to Services. It’s okay to initialize a service at install time, because services are typically machine rather than user specific. The usual caveats apply though, don’t forget that the environment can change between install and first run for services as well.