ایجاد نصب و گسترش یک برنامه WPF

در این مقاله خواهیم دید که چگونه میتوانیم یک setup و یک پروژه WPF درست کنیم. که ما به همراه مثال به طور کامل توضیح میدهیم.

ایجاد نصب و گسترش یک برنامه WPF

ساختن پروژه WPF Application :

Visual Studio 2008 را باز میکنیم و یک WPF Application با نام MyApplication میسازیم.

ما یک User Control Library دیگر اضافه میکنیم که شما پیچیدگی ها و وابستگی ها را در بیش از یک پروژه  ببینید.

پس یک  New Project را اضافه کنید و نام آن را  بگذارید.

 

وقتی شما یک WPF User Control Library اضافه میکنید این شامل یک  UserControl1.xaml است.

فایل را پاک کنید و یک کلاس  با نام Employee.cs اضافه کنید.

 

کدزیر را برای ساده سازی استفاده میکنیم :

 

namespace WPFHelper   
    public class Employee  
    {  
        public string Name { get; set; }  
    }  
} 

 

حال، Solution شما به شکل زیر باید باشد:

 

حال شما refrence این WPFHelper را به MyApplication اضافه کنید :

 

 به برنامه اصلی MyApplication برمیگردیم و چند کنترل را اضافه میکنیم،که این روی Assembly پروژه WPFHelper دچار وابستگی(Dependency) میشود.

در اینجا ما یک ComboBox که شامل اسامی  Employee ها است اضافه میکنیم.

 

کد زیر را به طور مثال اضافه کنید :

XML Code

<Window x:Class="MyApplication.Window1"  
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"  
    xmlns:local="clr-namespace:WPFHelper;assembly=WPFHelper"  
    Title="Window1" Height="300" Width="300">  
    <Grid>  
        <ComboBox x:Name="cmbEmployeeNames" Height="23" Margin="21,29,98,0" VerticalAlignment="Top" ItemsSource="{Binding}">  
            <ComboBox.ItemTemplate>  
                <DataTemplate>  
                    <TextBlock Text="{Binding Name}"/>  
                </DataTemplate>  
            </ComboBox.ItemTemplate>  
        </ComboBox>  
    </Grid>  
</Window> 

 

 

#C کد

public partial class Window1 : Window  
    {  
        public Window1()  
        {  
            InitializeComponent();  
            List<Employee> myList = new List<Employee>   
            {  
                new Employee{ Name="Some 1"},  
                new Employee{ Name="Some 2"},  
                new Employee{ Name="Some 3"},  
                new Employee{ Name="Some 4"},  
                new Employee{ Name="Some 5"}  
            };   
            cmbEmployeeNames.ItemsSource = myList;  
        }  
    }

 

خروجی :

 

حال میرویم به مهم ترین قسمت که مرحله به مرحله پیش میرویم :

مرحله 1 :

یک setup با نام   MyApplicationSetup اضافه میکنیم :

 

 

 

حال، Solution شما به شکل زیر باید باشد:

 

در سمت چپ، شما System Folders را میبینید و سمت راست برای content فولدر است

همانطور که دیدید ما 3 System Folders داریم.اگر شما نیاز دارید میتوانید باز هم اضافه کنید.

لیست زیر هنگامی که بر  روی ریشه (Root) راست کلیک میکنید  و   Add Special Folder را انتخاب میکنید نمایش میدهد.

 

 

مرحله 2 :

ما به Setup  پروژه ، پوشه  Program File  را اضافه میکنیم :

 

در اینجا راه هایی برای اضافه کردن content ها به فولدر را داریم :

1- Application Folder

این باید شامل خروجی اولیه و وابستگیها باشد

 

2-Program Files Folder

این باید شامل پوشه ای که خروجی اصلی در هنگام نصب کپی میشود و فایل های ضروری باشد.

 

3- User's Desktop

این باید شامل shortcut برنامه تان باشد.

 

4- User's Program Menu

این باید شامل shortcut برنامه تان باشد.

 

مرحله 3 :

در اینجا ما وابستگی ها و خروجی اصلی را به پوشه برنامه اضافه میکنیم.

 

 

 

MyApplicaton جزو startup پروژه محسوب میشود ، آن را انتخاب میکنیم و بر روی ok کلیک میکنیم.

 

 

مرحله 4 :

یک فولدر برای فایل های برنامه اضافه میکنیم :

 

مرحله 5 :

اسم فولدر را My Application میگذاریم

 

مرحله 6 :

همین کار را برای Application Folder انجام میدهیم

 

اما همانطور که میبینید، وابستگی DLL اضافه نشده است.

در این جا شما میتوانید فایل های مورد نیاز برای اینکه برنامه اجرا بشود از قبیل آیکون ها را میتوانید اضافه کنید.

 

مرحله 7 :

حال میتوانیم ، یک shortcut برای User's Desktop اضافه کنید.

این یک ترفند  برای رفتن به پوشه برنامه تان است که shortcut برای خروجی اصلی تان میسازد و اگر لازم بود نامش را تغییر میدهیم.. و سپس فایل ها را از این جا به User Desktop انتقال میدهیم.

 

 

 

 

 

 

مرحله 8 :

حالا Procedure ر ا مانند بالا برای Users Program Menu انجام میدهیم.  

این یک property است به صورت پیش فرض false است.

 

 

مرحله 9 :

همه ی پوشه ها و فایل ها را به AlwaysCreate = True تغییر میدهیم.

مکان پیش فرض پوشه برنامه را تغییر میدهیم.

(به صورت پیش فرض  [ProgramFilesFolder][Manufacturer]\[ProductName] است. )

اگر شما نخواستید که این را تغیر بدهید موردی ندارد،اما اگر شما از صفت  [Manufacture] استفاده کردید این میتواند یک پوشه در  Program Files بسازد.

ما ترجیح میدهیم که این صفت را حذف کنیم پس برنامه مان در زیر  Program Files قرار میگیرند.

مسیر پیش فرض را به  [ProgramFilesFolder] \[ProductName] تغییر میدهیم.

حالا setup ما آماده است. و پروژه را Rebuild میکنیم.

به دایرکتوری Debug بروید شمافایل های .msi و .exe را میبینید.