WIN64DUALFOLDERS问题

时间:2015-01-28 00:50:16

标签: windows-installer msiexec

最近,在64位Windows 7操作系统上安装32位应用程序(使用installshield创建)时,我开始观察到一个奇怪的问题。

以下内容可在日志中找到:

  

MSI(s)(68:64)[00:30:39:917]:执行操作:   ActionStart(Name = ProcessComponents,Description =正在更新组件   注册,)MSI(s)(68:64)[00:30:39:917]:执行操作:   ProgressTotal(总计= 1,Type = 1,ByteEquivalent = 24000)MSI(s)(68:64)   [00:30:39:917]:执行操作:   ComponentRegister(ComponentId = {0770248C-8066-4600-A88D-B83BE48A1B57},KeyPath = C:\ Program Files(x86)\ RI \ Port \ PortFTPA.exe,State = 3 ,, Disk = 1,SharedDllRefCount = 2,BinaryType = 0)   MSI(s)(68:64)[00:30:39:917]: WIN64DUALFOLDERS:替换   'C:\ Program Files(x86)\ RI \ Port \ PortFTPA.exe'   文件夹已被1掩码参数(文件夹对)阻止   iSwapAttrib成员= 0)

操作系统上已存在旧版本的EXE“ PortFTPA.exe C:\ Program Files(x86)\ RI \ Port 。我使用installshield创建了另一个自定义MSI,用更新版本的EXE覆盖EXE。

在“摘要信息流”中,我将其配置为32位安装程序,并将包含EXE的组件配置为安装到[ProgramFilesFolder]位置。

然而,该文件无法被替换。

请帮忙。

1 个答案:

答案 0 :(得分:0)

有两种方法。 1.如果C:\Program Files (x86)\RI\Port\..中已安装的文件是Windows Installer程序包,则必须卸载它并安装新文件,否则可以进行更新,但请记住,必须增加{的版本号。 {1}}。 2. PortFTPA.exe下安装的程序是遗留的制造商设置。在这种情况下,您必须重新打包整个应用程序,并尝试通过制造商卸载例程卸载现有安装。 所以这不是一个简单的问题,我们需要更多的信息。