用InstallShield。当然在做安装程序之前,需要知道捆绑那些文件,是否需要修改注册表。一般来说,所需的数据文件是比较清楚的。所需的动态联接库可以通过使用Visual C++的调试功能获得。我做过多个安装程序,所需的动态联接库全是通过Visual C++查得。只要用VC打开可执行文件,用F5键跟踪,然后在调试窗口中会显示所需的动态联接库。只要淘汰Windows系统自带的DLL,如User32.DLL, Kernal.DLL, AdvApi32.Dll等, 余下的动态联接库则是必需加入安装程序的。
对注册表的修改比较麻烦,不过一般程序不需要。但是对于象开发数据库等方面的程序,就需要通过修改注册表信息来形成一个完整的安装程序,那就比较麻烦了。