action1如何從C#自定義操作中設置MSI屬性,到目前爲止我有這個但是如何獲取句柄?來自C#自定義操作的MsiSetProperty
[DllImport("msi.dll", CharSet = CharSet.Unicode)]
static extern int MsiSetProperty(IntPtr hInstall, string szName, string szValue);
public void SetProperty(string propertyName, string propertyValue)
{
MsiSetProperty(handle, propertyName, propertyValue);
}
我打電話從維克斯的CA與下面的行
<CustomAction Id="CA1" BinaryKey="ca1.dll" DllEntry="action1" />
和動作1看起來像這樣
public class CustomActions
{
[CustomAction]
public static ActionResult action1(Session session)
{
session.Log("Begin action1");
SetProperty("xyz", "123");
}
}
您是否在使用WiX模板創建C#自定義動作庫? – fletcher 2010-07-22 09:46:11
是的,我是。 (不能發佈少於15個字符,這是可以的。) – 2010-07-22 10:10:49
你可以發佈你從WiX呼叫的功能嗎?那些具有[CustomAction]屬性。我只是試圖確保你正在編寫自定義操作的方式,我認爲你是...這些函數應該有以下簽名:public static ActionResult(Session session) –
fletcher
2010-07-22 10:56:17