C# 使用自定义表单设置项目
我目前正在从事一个Visual Studio 2010安装项目,希望了解是否有以下可能: 1) 以默认表单不显示的方式运行安装项目,相反,我会显示订阅安装项目事件的自定义表单。这样我可以显示安装消息并增加自己的进度条 2) 如果1是可能的,我需要一种方法来指定默认位置 3) 我有一个单独的库项目,其中我有一个自定义安装类(从“System.Configuration.install.Installer”继承),在安装处理程序中,我希望能够显示自定义windows窗体,并控制用户所做的选择。我想这可以通过添加对system.windows.forms的引用来实现,但这是正确的方法吗?如果我不能隐藏默认的安装表单,这些自定义表单将显示在默认的安装表单上,我认为它看起来太棒了 建议、链接等,不胜感激 谢谢 *更新1* 我可以从c#代码启动一个.msi,但也要传入一个值吗 这家伙在这里做什么: 但是传递一个值。。。然后从我的自定义安装类中,我根据该值采取操作 更新2 看来我能: 更新3 我正在考虑执行以下操作,我将开始使用winforms应用程序进行测试 1) 启动winforms应用程序。C# 使用自定义表单设置项目,c#,deployment,installation,setup-project,C#,Deployment,Installation,Setup Project,我目前正在从事一个Visual Studio 2010安装项目,希望了解是否有以下可能: 1) 以默认表单不显示的方式运行安装项目,相反,我会显示订阅安装项目事件的自定义表单。这样我可以显示安装消息并增加自己的进度条 2) 如果1是可能的,我需要一种方法来指定默认位置 3) 我有一个单独的库项目,其中我有一个自定义安装类(从“System.Configuration.install.Installer”继承),在安装处理程序中,我希望能够显示自定义windows窗体,并控制用户所做的选择。我想这
2) 进行一些Web服务调用,显示数据,用户进行选择。
3) 根据更新1中的链接,启动过程(静默模式),并根据更新2,传入所选值。
4) 使用一些跨进程事件机制(WCF),以便我的自定义安装类可以向我的窗体通知其运行的不同步骤,并更新进度栏和消息。据我所知,Visual Studio所做的安装项目非常有限,除非您使用。这些自定义操作可能需要大量时间来创建和调试,因此使用更成熟/更具特色的工具(如 编辑至于使用winforms显示窗口:这没问题,但是:良好的设置允许静默/脚本安装,请确保您允许这样做。另一件需要注意的事情是机器没有.NET,因此无法显示表单。。。除非您确定.NET(正确版本)存在,否则这是不允许的 编辑2回应一些评论:有些场景无法通过VISUAL STUDIO安装和部署项目实现。我不是说Windows安装程序不好。例如,尝试创建一个自定义安装程序,以确定将在何处安装应用程序,并跳过项目生成的标准窗口。我并不是说定制操作是有限的,但它们也不容易 此外,当您想使用自定义WinForms而不是安装程序窗体时,必须确保在显示任何(WinForm)窗口之前完成.NET framework的引导。这可能是可能的,但如果您想要这样的定制,您最好使用更灵活的工具。您可以创建,但声明需要在MSI内部完成。您可以通过自定义操作显示自定义对话框,但这对您没有多大帮助,因为msi执行以下操作:
Alois Kraus添加了有关使用的信息winforms@Erno谢谢所以,如果我使用静默安装,我的自定义表单会显示吗?在安装之前,我是否可以控制是否存在正确的.net版本?这取决于您如何创建安装程序。安装程序有几个序列(安装、卸载、提交等)和静默/管理安装。请勿在静默安装中使用表单。您必须添加一些引导来检测.NET:@Erno:-1:在.NET中创建自定义操作非常容易。你为什么说它们很难?Windows Installer/自定义操作没有不成熟/受限之处。您可以指定要安装的应用程序的先决条件以及如何对其进行打包(下载或本地)-这将为您进行检测,并在需要时安装所需的框架。谢谢。(请原谅我知之甚少)你提到/建议我应该使用WIX。快速浏览一下维基百科就会发现:“Windows Installer XML(WiX,发音为“wicks”)是一个免费的软件工具集,可以从XML文档中构建Windows Installer(MSI)包”,读了这篇文章,我感觉自己回到了起点。VS2010安装项目生成.msi。WIX是否允许我按照自己的意愿完全自定义.msi?(海关表格