Yur*_*riy 9 windows-installer guid msiexec
我已经安装了一些带有GUID的MSI(0733556C-37E8-4123-A801-D3E6C5151617).在注册表中注册的程序:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall \()
值UninstallString = MsiExec.exe/I(0733556C-37E8-4123-A801-D3E6C5151617)
我的问题是:实用程序MsiExec.exe如何知道删除程序时要运行的文件的名称和路径?在注册表中哪里可以找到这些信息?
Wil*_*ara 14
Windows会在注册表中隐藏和加密Windows Installer配置信息.用户眼睛无法浏览,因为注册表的其他部分也是如此.
要查询/修改/删除此信息,您需要使用MSI功能.
(安装程序功能参考)
对于您的特定问题,请尝试MsiGetProductInfo函数.
Sue*_*zio 10
这是一个简单的c#程序,使用MsiGetProductInfo,如William Leara所说,用于获取缓存安装程序在磁盘上的实际位置.
class Program
{
static void Main(string[] args)
{
Int32 len = 512;
System.Text.StringBuilder builder = new System.Text.StringBuilder(len);
MsiGetProductInfo("{89C098E5-C108-49F9-9B1D-10503C6D8A05}", "LocalPackage", builder, ref len);
Console.WriteLine(builder.ToString());
Console.ReadLine();
}
[DllImport("msi.dll", CharSet = CharSet.Unicode)]
static extern Int32 MsiGetProductInfo(string product, string property, [Out] StringBuilder valueBuf, ref Int32 len);
}
Run Code Online (Sandbox Code Playgroud)
小智 8
您可以从命令行尝试:
wmic product where "Name like '%your software here%'" get Name, Version, PackageCode
Run Code Online (Sandbox Code Playgroud)
您不需要任何软件。这适用于 Windows 10,我认为它也适用于 Windows 7。
\n\n如果您的产品代码为0733556C-37E8-4123-A801-D3E6C5151617。找到其他结果。找到 InstallProperties 后,打开并找到 LocalPackage Key。然后您就有了安装应用程序时 MSI 保存为缓存的 msi 包的路径。
\n| 归档时间: |
|
| 查看次数: |
64816 次 |
| 最近记录: |