2009-09-09 43 views
2

我已經建立了我的第一個WPF應用程序,沒有什麼花哨,但我想要做它通過添加一個設置看起來很酷,我已經研究了關於一些免費UTILITES做互聯網,但由於它的WPF應用程序,我設置了沿着這些線...任何想法如何我可以創建一個自定義WPF設置嚮導?如何創建自定義WPF安裝嚮導

+0

你堅持使用像InstallShield,WiX等典型的安裝程序包可以更好地服務您。您將遇到很多平臺特定的問題,任何優秀的安裝人員都會爲您處理。編寫你自己的安裝程序是瘋狂的道路。不過,我的2美分。 – 2009-09-09 18:42:21

回答

4

當建立一個WPF的設置,你NEET解決的.Net引導的問題 - 如果客戶端未安裝.NET,您的設置將無法正常工作。

一旦你解決這個問題,您的設置將需要做兩件事情:

  • 請求管理員海拔訪問某些文件和註冊表位置
  • 部署所有必需的文件到%ProgramFiles%\
  • 創建HKLM \ SOFTWARE \微軟\的Windows正確的入口\ CURRENTVERSION \卸載(如果你的應用在x86編譯明確,你需要做的是在Wow6432Node在64位機)
  • 創建所有程序的快捷方式\
  • 做更多的東西像COM註冊,文件關聯等取決於哪些功能您的應用程序提供

大多數這些都是由Windows安裝程序(MSI)免費提供的。你應該真的使用像WiX這樣的東西來構建常規安裝程序,儘管它不會像WPF那樣時髦。

如果你真的想要看上,你實際上可以構建由MSI引擎驅動的自定義WPF UI,但這樣做的開銷可能不值得。

更新:這裏有幾個環節,可以幫助如果你仍然決定建立一個WPF UI設置:

+0

猜你是對的,我應該爲安裝嚮導創建一個cusom ui ...可能不值得,所以我想我的空閒時間做它作爲一個副項目 – Dabiddo 2009-09-10 05:22:58

2

或者:

一個deployment project在Visual Studio

ClickOnce

Wix

部署項目已遍佈最長的。 微軟似乎推最大的.net wix讓你對msi的最大控制

0

我從來沒有嘗試過,但我知道在ASP.NET中,你可以將WizardSteps添加到MultiView。

在WPF中,我想創建一個標籤控件,設置標籤高度爲零:

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

使用DockPanel中或網格,以保持一個/上一個按鈕,在底部。下一個/上一個鍵將被映射到NavigationCommands.NextPage或PreviousPage的CommandBindings,並且這些命令的CanExecute狀態將由選項卡控件的索引確定。

如果(tbcWizard.SelectedIndex> 0)//可以執行回 如果(tbcWizard.SelectedIndex < = tbcWizard.Items.Count)//可以執行向前

改變控制的選定索引按鈕時被點擊。