简体   繁体   中英

How do I create an installer for a .NET winforms application so it doesn't need to install?

I'm responsible for an in-house application that is deployed as a ClickOnce application.

We run into issues reasonably frequently when a developer runs the tool after aa several new versions have been published (due to new features, bug fixes or whatever) and the output of the tool no longer conforms to what the developer is expecting. This means extra time is required of the developer to make changes to their code to accomodate the differences in the versions of the tool.

I have noticed that Redgate's .NET Reflector tool doesn't need an installer - it exists as a .exe file, some dlls and a smattering of other files.

If our tool could be deployed like this, it would be possible to retain multiple versions.

How do I create an installer for a .NET winforms application so it can be run in this way?

You don't have to do anything special to deploy your app as a set of exe + dll files. Just copy the files from your build directory to the client workstations (ok, that's oversimplifying, but still...).

I am assuming that you want an application that can be installed once and can then receive updates automatically and update itself. A commercial package such as "wyUpdate" can do this:

http://wyday.com/wyupdate/

It has the added advantage that it can perform binary patching, so only deltas are downloaded to update installed applications, rather than whole assemblies. This can be quite a bonus depending on your circumstances.

Additionally, you could use ILMerge to package all your assemblies up into a single "exe" file. NuGenUnify is a nice GUI wrapper over ILMerge (which is a command-line tool). Packing all your assemblies into a single "exe" could mean you could also avoid having an installer at all.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM