How to Create Your Own WPF Configuration Wizard

I built my first wpf app, nothing fancy, but I want it to look cool by adding a tweak I learned on the internet about some free utilities to do this, but from her wpf app I'm looking at tweak to go along these lines. .. any idea how can i create my own wpf configuration wizard?

+2


source to share


4 answers


When creating a WPF setup, you need to solve the .Net download issue - if the client doesn't have .Net, your setup won't work.

Once you decide this, your setup will need to do a few things:

  • request administrator rights to access specific locations of files and registry.
  • expand all required files to% ProgramFiles% \
  • create the correct entry in HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Uninstall (if your application is explicitly compiled for x86, you need to do this in Wow6432Node on 64-bit machines)
  • create a shortcut in all programs \
  • do additional steps like registering COM, merging files, etc. depending on what functionality your application provides.

Most of them are provided free of charge by Windows Installer (MSI). You should really use something like WiX to create a regular installer, although it won't be as fun as WPF.



If you really want to be fancy, you can create a WPF UI that is powered by the MSI engine, but the overhead is probably not worth it.

Refresh . Here are some links that might help if you are still choosing to create a WPF interface customization:

+4


source


Or:

a deployment project in visual studio

ClickOnce



Wix

the deployment projects were the longest. microsoft seems to hit clickonce the most on .net wix gives you maximum control over msi

+2


source


I've never tried it, but I know that in ASP.NET you can add WizardSteps to a MultiView.

In WPF, I created a tab control by setting the height of the tab to zero:

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

      

Use DockPanel or Grid to keep next / previous buttons at the bottom. Next / Previous Keys will be mapped to CommandBindings for NavigationCommands.NextPage or PreviousPage, and the CanExecute status of these commands will be determined by the index of the tab control.

if (tbcWizard.SelectedIndex> 0) // can return if (tbcWizard.SelectedIndex <= tbcWizard.Items.Count) // can execute forwards

Change the selected control index when buttons are pressed.

0


source


I personally use WiX 3.0 ( http://wix.sourceforge.net/ ) for all my WPF or other .NET based applications.

0


source







All Articles