我有這個項目,它需要運行InstallerClass作爲安裝的一部分。安裝程序安裝程序的自定義操作不在C#/ .NET中工作
我將它添加爲自定義操作,並且它一直以這種方式工作多年。我們爲這個類做了一些維護,清理了解決方案,重新構建瞭解決方案,現在自定義操作沒有被觸發。
我知道他們沒有被觸發,因爲我有Debugger.Break()
調用在清理之前工作,並且事實上創建的註冊表項目不再被創建。
這是怎麼回事?我能做些什麼來從MSI安裝程序獲取更多信息?
值得一提的是,我的機器是64位,但該項目意味着並構建爲32位(x86)。我曾經把它構建爲之前的任何CPU,現在用它構建它並不重要,沒有結果。
我已經做了一些更多的研究,發現如果Debugger.Break();
不再工作可能是由於依賴性問題,我沒有得到任何錯誤或項目警告。我仔細地運行了MSI,但是我也無法從中做出一些事情。
在日誌中迷路後,我沒有任何用處。我重新開始並創建一個帶有彈出窗口的新安裝程序類。那工作。之後添加了Break(),它也起作用,添加了我想運行的使用Process語句,並且它工作了一次。
之後,我發現:如果我離開Debugger.Break()
它不會被跳過,但如果我刪除它,它的工作原理...
是的,這是隨機的......這是怎麼回事?
你是如何創建MSI的?您可以從MSI獲取詳細日誌,例如msiexec/i mymsi.exe/L * V log.txt。 – sarvesh 2013-05-07 22:23:01
已經設法得到一個詳細的輸出,沒有提到任何被忽略的動作,不能做任何事情,看起來像一個錯誤 – javaNoober 2013-05-07 23:52:59