微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

升级期间的文件replace

我们使用Inno Setup(版本5.4.2)作为打包工具来生成我们的安装程序。 在将软件从旧版本升级到最新版本时,我们尝试覆盖现有的二进制文件/驱动程序。 这通常会导致一些问题,像“HP ArcSightlogging器/连接器”,“SplunkUniversalForwarder”等监控软件在我们的二进制文件上保存文件句柄,并造成覆盖失败。 每次遇到此问题时,我们的安装程序显示beolowpopup消息。

“C: WINDOWS SYstem32 DRIVERS xxx.sys

尝试replace现有文件时发生错误:DeleteFile失败; 代码5.访问被拒绝。

单击“重试”再次尝试,忽略忽略此文件(不推荐)或“中止取消安装”

Inno安装似乎没有写入到64位机器上的registry

Inno设置报价问题

获取InnoSetup语言文件中的值

签署inno exe非常缓慢的Windows 7 +

如何在Inno Setup中使用Pascalvariables?

有趣的是,即使上面得到popup窗口之后,我们仍然能够将xxx.sys重命名为xxx.sys.old。 我们曾经build议cusotmer将xxx.sys重命名为xxx.sys.old,然后“重试”安装。 重命名后,升级使用完成没有任何问题。

问题

1)当我们遇到这个问题时,是否有可能通过程序总是重命名xxx.sys。

2)任何重现DeleteFile失败的过程; 代码5的问题?

在Inno Setup中从XML中导入一个计划任务

如何摆脱恼人的InnoSetup文件夹select机制?

如何使用inno-setup进行检查,如果一个进程在Windows 2008 R2 64位上运行?

在Windows中将文件添加到所有用户的“我的文档”文件

在Windows启动时使用参数启动应用程序

使用安装程序,您可以重命名现有文件,并使用正确的文件名在Windows注册表的帮助下安装新文件

请记住要求用户重新启动计算机以完成安装。

一个选择是使用安装程序来重命名文件,并再次使用窗口的注册表来删除不需要的文件

Window的注册表允许您在重新启动时删除重命名文件作为安装的一部分。

参考使用PendingFileRenameOperations: http : //support.microsoft.com/kb/181345

从Microsoft支持重命名的示例:使用的语法是(不带引号):

“ ?? 源文件! ?? 目标文件

HKEY_LOCAL_MACHINE SYstem CurrentControlSet Control Session Manager

名称:PendingFileRenameOperations数据类型:REG_MULTI_SZ

数值数据: ?? c: temp win32k.sys! ?? c: winnt system32 win32k.s

同样的命令也可以用来删除一个文件,虽然需要使用空值。 http://www.pcreview.co.uk/forums/pendingfilerenameoperations-delete-file-t1715654.html

用于删除文件的相同示例:HKEY_LOCAL_MACHINE SYstem CurrentControlSet Control Session Manager

名称:PendingFileRenameOperations数据类型:REG_MULTI_SZ

值数据: ?? c: temp win32k.sys 0 0 0

我希望这可以帮助你!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐