如果我想中止C#自定義操作中的安裝,它將不得不顯示不需要的「1001錯誤」消息框。如何使用Visual Studio 2010創建C++ MSI自定義動作DLL?
爲了避免這種情況,我曾經使用過一個C++項目,它可以在沒有消息框的情況下中止安裝。
我試圖重新創造這個C++項目,但唯一的教程我在網上
http://www.codeproject.com/Articles/1747/MSI-Custom-Action-DLL
不更新自2002年以來我怎樣才能做到在VS 2010相同的發現?
如果我想中止C#自定義操作中的安裝,它將不得不顯示不需要的「1001錯誤」消息框。如何使用Visual Studio 2010創建C++ MSI自定義動作DLL?
爲了避免這種情況,我曾經使用過一個C++項目,它可以在沒有消息框的情況下中止安裝。
我試圖重新創造這個C++項目,但唯一的教程我在網上
http://www.codeproject.com/Articles/1747/MSI-Custom-Action-DLL
不更新自2002年以來我怎樣才能做到在VS 2010相同的發現?
這個例子已經過時了。目前最簡單的方法是下載並安裝Windows Installer XML(http://wix.codeplex.com)。然後說File |新項目| Windows Installer | C++自定義操作
另外需要注意的是C#自定義操作項目。您的1001錯誤消息告訴我您正在使用InstallUtil/Installer類自定義操作。 WiX中的C#項目類型稱爲部署工具基礎(DTF),並且遠遠優越。請查看以下內容以瞭解其工作原理,並將其作爲C++自定義操作顯示給MSI。
WiX中的C++模板不能編譯。找不到dutil.lib。 –
問Rob Mensching。他在這裏回答了很多WiX問題,所以也許他知道這個。我認爲DTF路線就是你真正想要的。它可以返回ActionResult.UserCancel(或類似的東西)並將安裝回滾並顯示正常的安裝取消對話框。 –
這是一個有效的問題。設置自定義操作項目需要了解包含什麼和庫,編譯器設置和函數聲明。這對於第一次開發者來說並不是微不足道的。幸運的是,WiX已經將所有這些模板化了。 –