根据Walkthrough: Creating a Custom Installer for a ClickOnce Application MSDN Article,可以创建自定义ClickOnce安装程序。 我无法理解的是如何覆盖默认安装程序? 他们说最后调用你的自定义安装程序类但在哪里?
谢谢你, IDO。
答案 0 :(得分:10)
这是因为微软的文章有点误导。本文解释的是如何创建自定义安装程序应用程序。它没有描述如何更改应用程序以使其具有自定义安装程序对话框,而不是作为系统一部分的标准对话框。
要创建客户安装程序,请创建一个与MSDN文章代码中列出的类似的单独应用程序。您将需要在步骤#5中向此应用程序的Main方法添加代码,但是,修改代码以从安装点查找应用程序清单。编译应用程序并将其分发给您认为合适的用户。
虽然您必须管理初始安装程序应用程序的分发,但您可以在应用程序中实现此过程以进行更新。在这种情况下,请按照文章中的说明进行操作。正如我之前提到的,您需要随时随地检查更新。一旦需要更新,您的应用程序就可以在ClickOnce应用程序中调用步骤#5中的代码。
答案 1 :(得分:6)
我与微软的ClickOnce人就此进行了一次完整的谈话。说实话,我很生气,因为他们没有提供足够的指导。他说:你必须创建一个exe文件,但是你必须进行检查以确保在运行exe之前安装了.NET Framework。因此,创建自己的可执行文件并将其作为setup.exe运行 - 这是安装应用程序的自定义代码所在的位置。
我认为最终他的意思是你必须在非.NET代码(如C)中编写某种引导程序,以检查.NET Framework并在需要时安装它。然后它将触发另一个exe,它是托管代码,可以调用InPlaceHostingManager和其中的自定义UI。