как создать пользовательский мастер установки WPF - PullRequest
2 голосов
/ 09 сентября 2009

Я создал свое первое wpf-приложение, ничего особенного, но я хочу, чтобы оно выглядело круто, добавив настройки, я исследовал в интернете некоторые бесплатные утилиты для этого, но, поскольку это wpf-приложение, я смотрел Настройка, чтобы идти в том же духе ... есть идеи, как мне создать собственный мастер настройки wpf?

Ответы [ 4 ]

5 голосов
/ 09 сентября 2009

При создании настройки WPF вам необходимо решить проблему начальной загрузки .Net - если у клиента нет .Net, ваша установка не будет работать.

Как только вы решите это, ваша установка должна будет сделать пару вещей:

  • запросить повышение прав администратора для доступа к определенным файлам и расположениям реестра
  • развернуть все необходимые файлы в% ProgramFiles% \
  • создать правильную запись в HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Uninstall (если ваше приложение явно скомпилировано для x86, вам нужно будет сделать это в Wow6432Node на 64-битных машинах)
  • создать ярлык во всех программах \
  • выполнять дополнительные действия, такие как регистрация COM, сопоставление файлов и т. Д., В зависимости от того, какие функции предоставляет ваше приложение

Большинство из них предоставляются установщиком Windows (MSI) бесплатно. Вы действительно должны использовать что-то вроде WiX для сборки обычного установщика, даже если он не будет таким шикарным, как WPF.

Если вы действительно хотите проявить фантазию, вы можете на самом деле создать пользовательский интерфейс WPF, работающий на движке MSI, но затраты на это, вероятно, не стоят того.

Обновление : вот несколько ссылок, которые могут помочь, если вы все же решите создать программу установки интерфейса пользователя WPF:

3 голосов
/ 09 сентября 2009

Или:

a проект развертывания в visual studio

ClickOnce

Wix

Проекты развертывания были самыми длинными. Microsoft, кажется, подталкивает clickonce больше всего для .net wix дает вам максимальный контроль над MSI

1 голос
/ 09 сентября 2009

Я лично использую WiX 3.0 (http://wix.sourceforge.net/) для всех моих WPF или других приложений на основе .NET.

0 голосов
/ 09 сентября 2009

Я никогда не пробовал, но я знаю, что в ASP.NET вы можете добавить WizardSteps в MultiView.

В WPF я бы создал элемент управления вкладкой, установив высоту вкладки в ноль:

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

Используйте DockPanel или Grid, чтобы кнопки «следующий / предыдущий» были внизу. Следующие / предыдущие ключи будут сопоставлены с CommandBindings для NavigationCommands.NextPage или PreviousPage, а состояние CanExecute этих команд будет определяться индексом элемента управления вкладкой.

if (tbcWizard.SelectedIndex> 0) // может выполняться обратно if (tbcWizard.SelectedIndex <= tbcWizard.Items.Count) // может выполнять пересылки </p>

Изменение выбранного индекса элемента управления при нажатии кнопок.

...