1. 新建一个Class Library, 例如Name 为 CustomAction. 这个就是一个自定义安装行为的类。 2. 添加安装类。在新建的Library里面添加一个 Installer Class,名字我暂时定为MyInstallerClassDll 3. 重写基类的函数 Commit Install OnAfterInstall OnAfterRollback OnAfterUninstall OnBeforeInstall OnBeforeRollback OnBeforeUninstall OnCommitted OnCommitting Rollback Uninstall 每个函数对应的是安装过程中的不同时期。 我暂时重写了 Commit函数,但是还没有自己的实现。 public override void Commit(System.Collections.IDictionary savedState) { base.Commit(savedState); } 4. 新建一个setup 工程,在Other Project Types 里面,并且下拉框选中Add to Solution。我暂时命名为 setup. 当然这个前提是你有一个想安装的程序。或者有你想制作安装程序的编译后的文件。 5. 添加源程序文件。 切换Setup 工程的视图为File System 左键点击Application Folder.这个文件夹就是放源程序文件的。User’s Desktop 是放桌面快捷方式的,User’s Programs Menu 是定义开始菜单的。 在右边空白的地方右键选中添加项目输出文件 下面下来列表选中你要安装的程序,比如我要安装的是WpfSetup。按住Ctrl 键选中Primary output 和 Contetn Files,点击OK 键。这样就把需要安装的程序的编译后的主要文件都添加进来了。当然也可以手动添加进来如上图选中Add->File 然后浏览到你的release 或者是debug 后的文件夹,然后选中主要文件添加进来。 6. 创建快捷方式。在刚刚添加的Primary output from WpfSetup(Active) 上面点击右键,选择创建快捷方式,然后重命名。 把这个重命名的文件用鼠标左键托到User’s Desktop 文件夹里面,这样的话就会在桌面上面生成一个快捷方式,然后再自定义开始菜单的结构,安装通常的做法,我们在User’s Programs Menu 文件夹里面新建一个文件夹用于放置我们安装卸载以及帮助手册之类的快捷方式。我定义的文件夹是WPFSample,快捷方式的添加参照User’s Desktop 里面快捷方式的添加。 这样的话安装程序的文件结构已经完成了。 7. 设置系统必备属性。 在 setup 工程上面点击右键选择属性。 点击Prerequisites,在弹出的对话框里面选择如下图所示的选项,一定要选择Download prerequisites from the same location as my application....