好的,所以我一直在构建 ac#activeX 控件,并且在此过程中遇到了书中的每一个问题......话虽如此,除了安装程序之外,我现在已经准备好了一切
在深入研究问题本身之前,我需要解释一下我的设置过程是如何工作的,以及为什么我选择了这条路线。
- 我有一个签名的 CAB 文件,用于存储我的设置 exe,该文件是使用对象标签通过网页加载的
- setup exe 是一个 InstallShield LE 项目,其中嵌入了我的项目(即要安装的文件是最终安装二进制文件的一部分)
- CAB 文件中有一个 INF 文件,它告诉调用者运行 setup exe 来安装控件
此过程运行良好并启动设置应用程序,然后成功安装控件。但是,在设置过程快结束时,非管理员用户会收到一条错误消息,说明如下:
An error occurred while copying file myINFFile.inf
Cannot copy file to destination directory.
Click Retry to retry the operation or click Cancel to
(是的,它只是在'to'这个词之后切断)
如果您点击重试,它只会一遍又一遍地重复错误,直到您点击取消。如果您点击取消,它会显示“您希望安装程序在出现此错误后继续吗?”,然后继续成功安装控件。
由于此错误仅发生在权限有限的用户身上,我认为问题在于 cab 提取过程无法将 inf 文件提取到它试图将其提取到的位置……这很烦人,因为该文件没有其他用途,尤其是在安装过程中,但我无法弄清楚问题发生的原因或如何解决它......