0
我使用此函數來查找任何已安裝的應用程序。通過應用程序獲取已安裝的應用程序路徑的正確方法。 C#中的名稱
但是參數「InstallLocation」完全不起作用。
任何線索?
謝謝!
void FindApplication(string appName)
{
StringBuilder sbProductCode = new StringBuilder(39);
int iIdx = 0;
while (0 == MsiEnumProducts(iIdx++, sbProductCode))
{
Int32 productNameLen = 512;
StringBuilder sbProductName = new StringBuilder(productNameLen);
MsiGetProductInfo(sbProductCode.ToString(), "ProductName", sbProductName, ref productNameLen);
if (sbProductName.ToString().Contains(appName))
{
Int32 installDirLen = 2048;
StringBuilder sbInstallDir = new StringBuilder(installDirLen);
MsiGetProductInfo(sbProductCode.ToString(),"InstallLocation", sbInstallDir, ref installDirLen);
string result = string.Format("ProductName {0}: {1}", sbProductName, sbInstallDir);
}
}
}
它們不能正常工作。 :( – 2012-03-20 13:55:09
@Peretz我更新了我的文章,希望它可以幫助你更多。 – 2012-03-20 14:01:58