WEB开发网
开发学院软件开发VC 用自删除dll实现应用程序的安装/卸载代码 阅读

用自删除dll实现应用程序的安装/卸载代码

 2006-07-20 11:38:22 来源:WEB开发网   
核心提示:本文示例源代码或素材下载 [译者]:本文译自 Alex Tilles 在 Windows Developer Network (2003 第12期)发表的一篇文章:“Writing Your Own Install and Uninstall Code”,这是一篇具有一定技术含量的文章,

本文示例源代码或素材下载

[译者]:本文译自 Alex Tilles 在 Windows Developer Network (2003 第12期)发表的一篇文章:“Writing Your Own Install and Uninstall Code”。这是一篇具有一定技术含量的文章,相信许多开发人员都需要本文介绍的技术,其中包括几个重要的技术点:

  1. Rundll32.exe 实用程序的使用方法;

  2. DLL 或 EXE 的自删除技术;
  3. 嵌入资源的处理技巧;

  4. LZCOPY API 使用示范;

  5. compress.exe,expand.exe 使用说明;

摘要

当我在编写“What To Do”程序(这是作者编写的一个应用程序,小巧玲珑,很实用——译者注)时,就想写一个自己的安装和卸载代码,主要目的是想随心所欲地控制整个安装/卸载过程中用户所看到的画面。本文我们就来讨论如何利用自删除的动态链接库(DLL)实现自删除的可执行程序,从而实现程序的安装/卸载。相信很多朋友在编写 Windows 程序时都想这么做,本文还将展示一些非常有用的相关技术,一定让你大开眼界......

实现自删除卸载程序的难点

编写卸载程序最具挑战性的部分是如何让卸载程序在删除完目标程序文件和相关目录之后自己删除自己。此外,卸载程序还必须能在所有 Windows 操作系统平台(Windows 9x、Windows NT、Windows 2000、Windows XP.....)上运行,不需要用户下载任何附加组件。我在网上搜索了一番,找到一些相关的资料介绍如何自删除可执行程序文件,但是大多数所建议的解决方案都存在一个问题,那就是只能在某个版本的 Windows 上工作。有些方法通过修改线程属性来实现,这样做一般都会导致定时问题。还有一些方法运行时出现严重错误,根本就不能用。我琢磨着寻求一种更好的解决方法来实现可执行程序的自删除功能:用自删除的 DLL 实现自删除的可执行程序,从而突破上述诸方法的局限。 

1 2 3 4 5 6  下一页

Tags:删除 dll 实现

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接