使用WPF表单,打包文件和自定义安装操作创建安装程序

时间:2010-04-27 01:37:02

标签: c# installer

我正在尝试创建一种向用户部署一组工具(第三方软件的加载项)的方法。

我想做以下事情:

  • 用户输入序列号
  • 将目录结构中的Dll提取到程序文件
  • 将文件复制到ProgramData中的某个位置(这会将我的加载项注册到第三方应用程序)
  • 执行软件在线激活

有人能指出我正确的方向吗?我看了Visual Studio中的部署项目,但我不确定它们是否是我所追求的。主要问题是它们很难看,我希望有一个很好的WPF安装程序,并且有更多的自定义体验。但是,如果它能让事情变得更容易,我想这可以被取消。

我在想,我可以创建自己的C#项目来提取文件,但是我不知道如何打包它们并将它们作为一次下载的一部分提取出来(就像部署项目创建的MSI文件一样) 。谁能指出我正确的方向?

2 个答案:

答案 0 :(得分:2)

关于拥有WPF安装程序的事情是,您的用户需要安装适当版本的.NET才能安装您的应用程序。如果您使用的是.NET 3.0,并且您的软件需要Windows Vista或更高版本,则可能没问题。但是,如果您使用.NET 3.5或4.0,只需将.NET视为一项要求可能还不够。如果用户卸载.NET然后尝试卸载您的应用程序,您会怎么做?

这就是为什么在安装程序中使用.NET自定义操作通常被认为是个坏主意。

虽然mmr对WiX的推荐是好的(我已经使用它并且它非常强大)但应该注意它有一个陡峭的学习曲线。或者至少它是我最后一次使用时做的,因为很少或没有成熟的工具支持它。你基本上手工制作了所有东西。

如果您没有开发人员资源在安装程序上花费大量时间,我建议您查看可能使您能够快速启动并运行的商业安装程序创作产品。

但是,您可以通过从安装程序中移出序列号/激活片段来节省大量时间,并在第一次运行时从应用程序中执行此操作。

答案 1 :(得分:0)

转到WiX

事实证明,编写自己的安装程序的方式比它看起来更复杂,并且确保它在所有版本的Windows中都能很好地运行等等并不是那么简单。所以,使用他们的。