用自删除dll实现应用程序的安装/卸载代码
2006-07-20 11:38:22 来源:WEB开发网核心提示: Visual Studio .NET 2003:C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\LibVisual C++ 6.0:C:\Program Files\Microsoft Visual St
Visual Studio .NET 2003:
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Lib
Visual C++ 6.0:
C:\Program Files\Microsoft Visual Studio\VC98\Lib
在 Visual Studio.NET 中的添加方法是:
项目(P)| [项目名称] 属性(P)... | 链接器 | 附加库目录:[添加上述路径之一]
此外,为了摆脱对 C运行时DLL的依赖,必须用静态链接到运行库代码:
项目(P)| [项目名称] 属性(P)... | C/C++ | 代码生成 | 运行时库:[单线程(/ML)] 或者 [多线程(/MT)](或者任何不包含此DLL的选项值)
注意这里安装程序不必等待 Setup 程序完成工作,因为 AppSetup.exe 可以在完成工作后用自删除 DLL 来进行自我删除。
使用 LZCopy API 最具技巧性的部分是它只能解压缩由 compress.exe 压缩的文件。compress.exe是微软公司的一款压缩文件命令行实用程序,它随 SDK 一起提供。也可以在微软的官方FPT站点下载:ftp://ftp.microsoft.com/softlib/mslfiles/CP0982.EXE。运行EXE后会有几个解包文件,其中包括 compress.exe,其它的文件可以忽略或删除。compress.exe 的使用方法如下:
compress SourceName DestinationName
所有 Windows 版本都内建了解压缩支持,利用它很容易编写安装程序。此外,所有 Windows 版本也都包含了另一个实用程序:expand.exe。用它可以在命令行进行解压缩处理。
总结
借助自删除 DLL,二进制资源以及 Windows 内建的解压缩支持可以创建自己的安装程序和卸载程序,从而轻松控制用户安装和卸载程序时屏幕的每一个方面....
更多精彩
赞助商链接