我必须replace它,因为一个阻止软件卸载的错误,但如果我使用文件search实用程序,Windows找不到MSI文件,但是我认为MSI存储在“ Add or Remove Programs实用程序可以使用的地方。
在C#中打印后台处理程序API设置标志?
TCP / IP套接字端口侦听
如何从dns域名获得简短的“域名”?
如何将Windows服务从本地PC移动到虚拟专用服务器上
它不会进入%windir% installer
虽然我认为这些文件可能会被重命名。 不知道你从哪里得到的名称映射…
这个目录变得非常大,所以我把它移动到一个外部驱动器。 这有时会导致卸载或更新失败,并出现msi错误,但可以通过将目录放回来解决此问题
您可以使用MSIEXEC强制执行重新缓存/重新安装,推荐的方式是更新无法删除的错误安装包,然后使用固定包重新缓存,然后像往常一样卸载。
MSIEXEC /fv setup.msi
当您使用Windows Installer服务安装软件包时,msi文件不会缓存在隐藏文件夹“%windir% installer”中。 它会被重命名,新名称是一个十六进制字符串,与原始名称没有明显的相关性。 像“123ab4.msi”。
找出哪一个是应用程序的缓存副本并不难。 最快的方法是查找大小相同的缓存文件。 当你认为你已经找到它的时候,把你的指针悬停在Windows资源管理器中的文件名上。 工具提示会出现,它会显示来自包的摘要信息流的数据。 产品名称,作者姓名等等。 一旦你找到了正确的文件,你可以直接用像Orca这样的工具编辑它。
如果您只是试图在自己的机器上修复,那么直接编辑缓存的数据库可能是一个不错的选择。 但是,Microsoft确实提供了一种内置的方式来处理这样的问题。 您可以创建一个补丁(一个msp文件),其中包含原始msi文件和更新的msi文件之间的区别。 然后,可以将该修补程序分发给已经使用原始安装安装了您的应用程序的任何其他人,并且使用起来很简单。
MSDN在这里讨论补丁创建 – http://msdn.microsoft.com/en-us/library/aa368060%28VS.85%29.aspx
通常删除隐藏的文件夹不是一个好主意,因为这会破坏安装程序服务的一些核心功能。 这包括修补,检测和修复,以及通过迁移升级的能力,而不是卸载和重新安装。
要查看C:WindowsInstaller中msi文件的有用名称,请右键单击资源管理器的顶部,并添加该字段以查看主题(可能必须选择更多,因为它不是像名称,修改日期等默认值。 )从这里你可以找到msi并使用它来卸载程序。
我已经把大量的评论放入了被接受的答案中,所以我想在创建一个总结之后再发表一个答案,其中有更多的细节:
Installshield将* .msi文件的副本创建为%windir%installer路径,其中%windir%是通常指向C:Windows的环境变量。 在创建* .msi文件的副本之前,使用一些随机命名法对其进行重命名,例如,我可以在C:WindowsInstaller目录中看到一个名为65ec5c99.msi的文件。
在路径 – [HKEY_LOCAL_MACHInesOFTWAREMicrosoftwindowsCurrentVersionInstallerUserData<InternalUserId>Products<ProductGUID>InstallProperties]检查注册表中的LocalPackage属性。 InternalUserId是S-1-5-18类的东西。 00058CD18F0BF523DA1072073D56715D是一个类似00058CD18F0BF523DA1072073D56715D的GUID,作为MSI文件本身内部的公共属性嵌入。 您可以使用任何工具(例如orca)打开您的MSI文件来检查此公共属性
在资源管理器中打开C:WindowsInstaller文件夹。 将目录的视图更改为“ Details视图。 将Subject栏添加到视图。 Whooaa! 神秘感解决了。 产品名称在“ Subject列中可见
也许微星只是被删除。 您可以删除安装文件夹并运行msi清理实用程序,然后重新安装程序。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。