it really depends on the dependencies required. personally I find the deployment tools in VS lacking. they are beginning to take shape with asp.net projects, but there is still a lot to be desired. All other project types are missing the deployment features found in asp.net projects. there are other build tools available: psake (oss) & final builder ($) are both great tools. I wouldn't go blindly changing build configs without understanding what it is you are doing. a dependency is either required for deployment, or it isn't. so there are not "optional" dependencies. packaging a DB for a winforms project doesn't make much sense. unless it's a personal, local db. but then you would want something like an embedded database with raven, esent or sqlite. not sqlexpress. if you are talking about a central database that all clients connect to, then you would have 2 installers. one for the client machine another for the server. it could be as simple as creating the database and pre-populating data. or it could be a business tier that is installed on a server. another factor with deployment libraries is what .net framework you target. starting with .net 4 there are actually 2 different framework installs. client profile and full. full includes the system.web namespace and most of the objects associated with asp.net. the client profile does not have this. the reasoning is that servers run website and need the asp.net objects, but local workstations do not use asp.net and therefore don't need the objects. if you are using pure BCL libraries this shouldn't be an issue. but if reference a project like log4net. it has a hard dependency on asp.net, so you cannot run log4net using the .net 4.0 client profile. this situation may exist for you which is causing problems as well. being that .net assemblies are xcopy deployable. i would recommend compiling the code and creating a simple zip file with all the necessary binaries and resources required. then you can just copy and unzip the application anywhere its needed. no installers or MSI packages to deal with. Jason Meckley Programmer
FAQ855-7190: Database Connection Management FAQ732-7259: Keeping the UI responsive |
|