이 함수는 을 사용하여 설치된 응용 프로그램을 찾습니다.응용 프로그램별로 설치된 응용 프로그램 경로를 가져 오는 올바른 방법입니다. 이름은 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);
}
}
}
이들은 제대로 작동하지 않습니다. : ( –
@ Peretz 내 게시물을 업데이트했습니다. 잘하면 당신에게 더 많은 도움이됩니다. –