安装后复制MSI文件的位置?

Jad*_*ias 6 .net windows windows-installer windows-xp

我必须更换它,因为一个阻止软件卸载的错误,但是如果我使用文件搜索实用程序,Windows无法找到MSI文件,但我认为MSI存储在Add or Remove Programs实用程序可以使用它的某个地方.

Sam*_*der 12

它不会进入%windir%\ installer \

虽然我认为这些文件可能会被重命名.不确定从哪里获得名称映射...

这个目录变得非常大,所以我将它移动到外部驱动器.这有时会导致卸载或更新失败并丢失msi错误,但这可以通过将目录放回来修复

  • 在我们检查"显示隐藏文件,文件夹和驱动器"并取消选中"隐藏受保护的操作系统文件(推荐)"视图文件夹选项下的高级设置之前,`%windir%\ installer \`目录在资源管理器中不可见. (2认同)

RBT*_*RBT 10

Installshield 将 *.msi 文件的副本创建到%windir%\installer\路径中,其中 %windir% 是通常指向的环境变量C:\Windows\。在创建 *.msi 文件的副本之前,它使用一些随机命名法重命名它,例如我可以看到65ec5c99.msi在我的C:\Windows\Installer目录中命名的文件。

现在要找出重命名的 MSI 文件的实际产品名称,有两种方法:

  1. 检查LocalPackage注册表中路径 - 的属性[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersio??n\Installer\UserData??\<InternalUserId>\Pr??oducts\<ProductGUID>??\InstallProperties]InternalUserId是某种东西S-1-5-18ProductGUID是一个 GUID,就像00058CD18F0BF523DA1072073D56715D嵌入在 MSI 文件本身中的公共属性一样。您可以通过使用任何工具(例如 orca)打开您的 MSI 文件来检查此公共属性

  2. C:\Windows\Installer在资源管理器中打开文件夹。更改目录的视图以Details查看。将Subject列添加到视图。现在可以在Subject列中看到产品名称,如下面的屏幕截图所示:

在此处输入图片说明

注意C:\Windows\installer\ 目录在资源管理器中不可见,直到我们选中Show hidden files, folders, and drives并取消选中Hide protected operating system files(Recommended)查看文件夹选项下的高级设置,如下面的屏幕截图所示:

在此处输入图片说明


sas*_*ont 7

您可以使用MSIEXEC强制重新缓存/重新安装,更新无法删除的错误安装包的推荐方法是使用固定包重新缓存,然后像往常一样卸载.

MSIEXEC /fv setup.msi
Run Code Online (Sandbox Code Playgroud)


thr*_*rax 6

要查看 msi 文件的有用名称,请C:\Windows\Installer右键单击资源管理器顶部并添加字段以查看主题(可能需要选择更多内容,因为它不是默认名称、修改日期等)。从这里您可以找到msi 并用它来卸载程序。


小智 5

当您使用 Windows Installer 服务安装软件包时,msi 文件会缓存在隐藏文件夹“%windir%\installer”中。它确实被重命名,并且新名称是一个十六进制字符串,与原始名称没有明显的相关性。类似于“123ab4.msi”。

找出哪一个是您的应用程序的缓存副本并不难。最快的方法是查找相同大小的缓存文件。当您认为已找到该文件时,请将指针悬停在 Windows 资源管理器中该文件的名称上。将出现工具提示,并向您显示包的摘要信息流中的数据。产品名称、作者姓名等。找到正确的文件后,您可以使用 Orca 等工具直接编辑它。

如果您只是想在自己的计算机上修复问题,那么直接编辑缓存的数据库可能是一个不错的选择。然而,微软确实提供了一种内置的方法来处理此类问题。您可以创建一个补丁(msp 文件),其中包含原始 msi 文件和更新的 msi 文件之间的差异。然后可以将该补丁分发给已经使用原始安装安装了您的应用程序的任何其他人,并且它会很容易使用。

MSDN 在这里讨论补丁创建 - http://msdn.microsoft.com/en-us/library/aa368060%28VS.85%29.aspx

删除隐藏文件夹通常不是一个好主意,因为这会破坏安装程序服务的一些核心功能。这包括修补、检测和修复,以及通过迁移而不是卸载和重新安装进行升级的能力。