如何创建自定义WPF设置向导

时间:2009-09-09 18:11:56

标签: wpf installation wizard

我已经构建了我的第一个wpf应用程序,没什么特别的,但我想通过添加设置让它看起来很酷,我在互联网上研究了一些免费的实用程序来做到这一点,但是因为它是一个wpf应用程序,我看了设置顺其那些......任何想法如何创建自定义wpf设置向导?

4 个答案:

答案 0 :(得分:5)

在构建WPF设置时,您需要解决.Net引导问题 - 如果客户端没有.Net,您的设置将无效。

一旦你解决了这个问题,你的设置就需要做几件事:

  • 请求管理员提升以访问特定文件和注册表位置
  • 在%ProgramFiles%\
  • 中部署所有必需的文件
  • 在HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Uninstall中创建正确的条目(如果您的应用程序是为x86显式编译的,则需要在64位计算机上的Wow6432Node中执行此操作)
  • 在所有程序\
  • 中创建快捷方式
  • 根据您的应用提供的功能
  • 执行其他操作,例如COM注册,文件关联等

其中大多数是由Windows Installer(MSI)免费提供的。您应该使用WiX之类的东西来构建常规安装程序,即使它不像WPF那样时髦。

如果你真的想要花哨,你实际上可以构建由MSI引擎驱动的自定义WPF UI,但这样做的开销可能不值得。

更新:如果您仍然决定构建WPF UI设置,以下是一些可以提供帮助的链接:

答案 1 :(得分:3)

或者:

视觉工作室中的deployment project

ClickOnce

Wix

部署项目已经存在时间最长。 微软似乎正在推动clickonce最大的.net wix为您提供对msi

的最大控制权

答案 2 :(得分:1)

我个人对所有WPF或其他基于.NET的应用程序使用WiX 3.0(http://wix.sourceforge.net/)。

答案 3 :(得分:0)

我从未尝试过,但我知道在ASP.NET中,您可以将WizardSteps添加到MultiView。

在WPF中,我创建了一个制表符控件,将制表符高度设置为零:

<TabControl x:Name="tbcWizard" Background="Transparent" BorderBrush="Transparent">
   <TabItem Visibility="Hidden" Height="0">
   ...

使用DockPanel或Grid将下一个/上一个按钮保持在底部。下一个/上一个键将映射到NavigationCommands.NextPage或PreviousPage的CommandBindings,这些命令的CanExecute状态将由选项卡控件的索引确定。

if(tbcWizard.SelectedIndex&gt; 0)//可以执行回来 if(tbcWizard.SelectedIndex&lt; = tbcWizard.Items.Count)//可以执行前进

单击按钮时更改控件的选定索引。

相关问题