我做了一個簡單的安裝類:C#安裝類
[RunInstaller(true)]
public class MyCustumAction : Installer
{
public override void Install(System.Collections.IDictionary stateSaver)
{
base.Install(stateSaver);
string value = Context.Parameters["targetdir"];
throw new Exception("Contact?? " + value);
WriteLog(value);
}
private void WriteLog(string message)
{
using(FileStream f = File.Create(@"C:\ik ben nieuw.txt"))
{
using (StreamWriter w = new StreamWriter(f))
{
w.WriteLine("Dag van installatie: " + DateTime.Now.ToString());
w.WriteLine(message);
}
}
}
}
在我安裝項目我已經做了以下內容:
- 添加項目輸出 - 的主要輸出我裝配
- 添加自定義操作上安裝目錄(自定義操作查看)
- 集CustumActionData到 '/ TARGETDIR = 「[TARGETDIR] \」'
- 構建我的程序集並構建安裝項目
在安裝期間,不引發Exception。爲什麼不?看來我的班級沒有被調用。我在這裏做錯了什麼?
UPDATE
當我創建一個單獨的項目,只有在它的安裝程序類,這ONT添加到我的項目輸出中並正確設置動作俗,我得到的例外!
現在我想知道爲什麼這個相同的文件沒有得到我自己(的WinForms)組件調用..
只是一個方面說明:你應該真的使用你的一次性資源,而不是像這樣調用Dispose。 –
Thnx爲提示。我修改了我的代碼。 – Martijn
與'FileStream'相同,請' –