我正在創建一個wix安裝程序。在一些wxs文件中,我定義了一些屬性,並且我還在C#自定義操作中創建了一些會話屬性。Wix:無法列出使用C#自定義操作創建的屬性
現在我的要求是列出所有會話屬性。 因此,對於此查詢,我查詢了屬性表並獲得了在.wxs文件中定義的所有屬性。
對於這個下面的自定義動作我已經使用:
Microsoft.Deployment.WindowsInstaller.View listBoxView = session.Database.OpenView(string.Format("select * from Property"));
listBoxView.Execute();
while (true)
{
using (Record r = listBoxView.Fetch())
{
if (r == null)
{
break;
}
else
{
Console.WriteLine(r[1].ToString(), r[2].ToString());
}
}
}
}
}
不過,這並不列出,我已經使用C#自定義操作創建的任何會話屬性。
有人可以幫助我如何列出使用c#自定義操作創建的屬性或這些屬性的存儲位置?
感謝很多
感謝您的回答。但我的要求是我必須列出所有會話屬性,無論是靜態還是內存中的屬性集合。如果他們有某種方式列出來,請讓我知道。我可以一一列出它們,但是這會非常痛苦,因爲我有很多在c#代碼中定義的屬性。 +1您的寶貴意見,但我沒有足夠的信用。 – 2012-04-07 05:52:20
不,MSI只公開MsiGetProperty和MsiSetProperty。沒有MsiListProperties()函數,因此session可以使用item [string] get封裝這些函數;組;沒有什麼可用來實現一個IEnumerable。 – 2012-04-09 20:21:33