1
는 내가 원하는 MYAPP - v1.0.15.45.msi하는 기본 출력 keyoutput 속성에있는 버전을 얻을 원하는 MyApp.msi에서 이름을 변경msi 기본 출력을 쿼리하여 어셈블리 버전을 얻는 방법은 무엇입니까?
에서 - 대 - 설정 - 프로젝트 -output-filename 이 코드에있는 link에있는 코드를 사용하여 msi를 쿼리하는 방법을 알고 있습니다. 유사한 코드 스 니펫을 사용하고 싶다면 어떻게해야합니까?
static string GetMsiProperty(string msiFile, string property)
{
string retVal = string.Empty;
// Create an Installer instance
Type classType = Type.GetTypeFromProgID("WindowsInstaller.Installer");
Object installerObj = Activator.CreateInstance(classType);
Installer installer = installerObj as Installer;
// Open the msi file for reading
// 0 - Read, 1 - Read/Write
Database database = installer.OpenDatabase(msiFile, 0);
// Fetch the requested property
string sql = String.Format("SELECT Value FROM Property WHERE Property='{0}'", property);
View view = database.OpenView(sql);
view.Execute(null);
// Read in the fetched record
Record record = view.Fetch();
while (record != null)
{
Console.WriteLine(record.get_StringData(0) + '=' + record.get_StringData(1) + '=' + record.get_StringData(2) + '=' + record.get_StringData(3));
record = view.Fetch();
}
view.Close();
System.Runtime.InteropServices.Marshal.FinalReleaseComObject(view);
System.Runtime.InteropServices.Marshal.FinalReleaseComObject(database);
return retVal;
}