“您尝试访问的功能......”来自本地驱动器上的MSI

时间:2013-07-04 07:17:54

标签: internet-explorer windows-xp windows-installer

这是对this question的跟进,通过在本地驱动器上找到安装包来解决。

不幸的是,似乎在某些机器上,这并没有解决它。

我有以下日志

=== Verbose logging started: 03.07.2013  23:17:03  Build type: SHIP UNICODE 4.05.6001.00  Calling process: C:\WINDOWS\system32\msiexec.exe ===
Resetting cached policy values
Machine policy value 'Debug' is 0
******* RunEngine:
       ******* Product: C:\myInstallation.msi
       ******* Action: 
       ******* CommandLine: **********
Machine policy value 'DisableUserInstalls' is 0
User policy value 'SearchOrder' is 'nmu'
User policy value 'DisableMedia' is 0
Machine policy value 'AllowLockdownMedia' is 1
SOURCEMGMT: Looking for sourcelist for product {88D5305B-8FC3-4197-8482-5383FC7683ED}
SOURCEMGMT: Adding {88D5305B-8FC3-4197-8482-5383FC7683ED}; to potential sourcelist list (pcode;disk;relpath).
SOURCEMGMT: Now checking product {88D5305B-8FC3-4197-8482-5383FC7683ED}
SOURCEMGMT: Attempting to use LastUsedSource from source list.
SOURCEMGMT: Trying source C:\Documents and Settings\user123\Local Settings\Temporary Internet Files\Content.IE5\FALCNH9A\.
Note: 1: 2203 2: C:\Documents and Settings\user123\Local Settings\Temporary Internet Files\Content.IE5\FALCNH9A\myInstallation[1].msi 3: -2147287037 
SOURCEMGMT: Source is invalid due to missing/inaccessible package.
Note: 1: 1706 2: -2147483647 3: myInstallation[1].msi 
SOURCEMGMT: Processing net source list.
Note: 1: 1706 2: -2147483647 3: myInstallation[1].msi 
SOURCEMGMT: Processing media source list.
Note: 1: 2203 2:  3: -2147287037 
SOURCEMGMT: Source is invalid due to missing/inaccessible package.
Note: 1: 1706 2: -2147483647 3: myInstallation[1].msi 
SOURCEMGMT: Processing URL source list.
Note: 1: 1402 2: UNKNOWN\URL 3: 2 
Note: 1: 1706 2: -2147483647 3: myInstallation[1].msi 
Note: 1: 1706 2:  3: myInstallation[1].msi 
User policy value 'SearchOrder' is 'nmu'
SOURCEMGMT: Prompting user for a valid source.
Machine policy value 'DisableBrowse' is 0
Machine policy value 'AllowLockdownBrowse' is 0
SOURCEMGMT: Browsing is enabled.
Font created.  Charset: Req=0, Ret=0, Font: Req=, Ret=Arial
SOURCEMGMT: Now checking product {88D5305B-8FC3-4197-8482-5383FC7683ED}
SOURCEMGMT: Attempting to use LastUsedSource from source list.
Note: 1: 1706 2:  3: myInstallation[1].msi 
SOURCEMGMT: Processing net source list.
Note: 1: 1706 2: -2147483647 3: myInstallation[1].msi 
SOURCEMGMT: Processing media source list.
SOURCEMGMT: Trying media source ;.
Note: 1: 1706 2:  3: myInstallation[1].msi 
SOURCEMGMT: Processing URL source list.
Note: 1: 1402 2: UNKNOWN\URL 3: 2 
Note: 1: 1706 2: -2147483647 3: myInstallation[1].msi 
Note: 1: 1706 2:  3: myInstallation[1].msi 
SOURCEMGMT: Failed to resolve source
MainEngineThread is returning 1612
=== Verbose logging stopped: 03.07.2013  23:17:41 ===

但是我无法真正从中获取任何有用的信息,这与第一个问题的不同之处在于,显然运行安装包的驱动器实际上是一个网络驱动器。

在这种情况下,安装直接位于C:\下,但MSI仍然试图在Internet Explorers缓存文件中找到一些东西,我无法解决这个问题。

这里发生了什么,我该如何解决?

更新

尝试命令后

C:\> msiexec /i myInstallation.msi REINSTALL=ALL REINSTALLMODE=vomus /qb

我收到一个错误信息窗口告诉我

  

尝试从文件C:\ myInstallation [1] .msi

中读取时出现网络错误

当我执行(并刷新)C:的所有内容时,怎么会发生这种情况?

2 个答案:

答案 0 :(得分:2)

有人下载了MSI并单击了Open,因此从缓存中安装了MSI。这是一个短暂的位置,所以现在你就在你身边。

你能从某个地方获得这个MSI的副本吗?如果是这样,请将其复制到您希望从中缓存的位置并运行命令msiexec / i foo.msi REINSTALL = ALL REINSTALLMODE = vomus / qb。它现在将缓存在那里。

如果你需要编程,有些API可以做同样的事情。

Installer Function Reference

  

MsiSourceListAddSource

     

添加或重新排序指定的补丁或产品的来源   上下文。

     

MsiSourceListAddSourceEx

     

添加或重新排序指定的补丁或产品的来源   上下文。为a中不存在的修补程序创建源列表   指定的背景。在Windows Installer 3.0中可用。

     

MsiSourceListClearSource

     

删除指定产品或补丁的现有来源   上下文。在Windows Installer 3.0中可用。

     

MsiSourceListClearAll

     

删除a的特定源类型的所有现有源   指定的产品实例。

     

MsiSourceListClearAllEx

     

删除a的特定源类型的所有现有源   指定的产品实例。在Windows Installer 3.0中可用。

     

MsiSourceListForceResolution

     

删除产品当前来源的注册或   patch,注册为属性“LastUsedSource”。这个   功能不会影响注册的源列表。

     

MsiSourceListForceResolutionEx

     

删除产品当前来源的注册或   patch,注册为属性“LastUsedSource”。这个   功能不会影响已注册的源列表。可用   Windows Installer 3.0。

     

MsiSourceListGetInfo

     

检索有关产品或补丁的源列表的信息   一个特定的背景。

     

MsiSourceListSetInfo

     

为a中的产品或补丁设置最近使用的来源   指定的背景。在Windows Installer 3.0中可用。

     

MsiSourceListEnumMediaDisks

     

枚举为媒体源注册的磁盘列表   补丁或产品。在Windows Installer 3.0中可用。

     

MsiSourceListAddMediaDisk

     

添加或更新已注册产品或的媒体来源的磁盘   补丁。在Windows Installer 3.0中可用。

     

MsiSourceListClearMediaDisk

     

删除媒体源下的现有注册磁盘   特定环境中的产品或补丁。在Windows Installer中可用   3.0。

     

MsiSourceListEnumSources

     

枚举指定补丁的源列表中的源或   产品。在Windows Installer 3.0中可用。

答案 1 :(得分:0)

一些背景知识:

每个MSI"记得"从哪里安装。此信息存储在以下键中: " HKEY_CLASSES_ROOT \安装\产品\\ SOURCELIST \净"

每次修复或修改MSI并且需要文件(所有其他信息都存储在" c:\ Windows \ Installer"文件夹中)时,将评估源列表


可能的解决方案:

在您的情况下,某些用户从IE缓存中安装了MSI。 您可以再次下载该文件,将其置于更持久的位置并编辑SourceList Key。

是某种压缩方式的msi的产品代码, 找到正确密钥的最快方法是翻转产品代码的前8个字母。 对于你来说,这将是" HKEY_CLASSES_ROOT \ Installer \ Products \ B5035D88 ... \ SourceList \ Net"