Statistics
| Branch: | Revision:

root / trunk / Pithos.ShellExtensions / ProjectInstaller.cs @ d78cbf09

History | View | Annotate | Download (2.1 kB)

1 d78cbf09 Panagiotis Kanavos
/********************************** Module Header **********************************\
2 d78cbf09 Panagiotis Kanavos
Module Name:  ProjectInstaller.cs
3 d78cbf09 Panagiotis Kanavos
Project:      CSShellExtContextMenuHandler
4 d78cbf09 Panagiotis Kanavos
Copyright (c) Microsoft Corporation.
5 d78cbf09 Panagiotis Kanavos
6 d78cbf09 Panagiotis Kanavos
The installer class defines the custom actions in the setup. We use the custom 
7 d78cbf09 Panagiotis Kanavos
actions to register and unregister the COM-visible classes in the current managed 
8 d78cbf09 Panagiotis Kanavos
assembly.
9 d78cbf09 Panagiotis Kanavos
10 d78cbf09 Panagiotis Kanavos
This source is subject to the Microsoft Public License.
11 d78cbf09 Panagiotis Kanavos
See http://www.microsoft.com/opensource/licenses.mspx#Ms-PL.
12 d78cbf09 Panagiotis Kanavos
All other rights reserved.
13 d78cbf09 Panagiotis Kanavos
14 d78cbf09 Panagiotis Kanavos
THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER 
15 d78cbf09 Panagiotis Kanavos
EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF 
16 d78cbf09 Panagiotis Kanavos
MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
17 d78cbf09 Panagiotis Kanavos
\***********************************************************************************/
18 d78cbf09 Panagiotis Kanavos
19 d78cbf09 Panagiotis Kanavos
#region Using directives
20 d78cbf09 Panagiotis Kanavos
21 d78cbf09 Panagiotis Kanavos
using System.Collections;
22 d78cbf09 Panagiotis Kanavos
using System.ComponentModel;
23 d78cbf09 Panagiotis Kanavos
using System.Runtime.InteropServices;
24 d78cbf09 Panagiotis Kanavos
25 d78cbf09 Panagiotis Kanavos
#endregion
26 d78cbf09 Panagiotis Kanavos
27 d78cbf09 Panagiotis Kanavos
28 d78cbf09 Panagiotis Kanavos
namespace Pithos.ShellExtensions
29 d78cbf09 Panagiotis Kanavos
{
30 d78cbf09 Panagiotis Kanavos
    [RunInstaller(true), ComVisible(false)]
31 d78cbf09 Panagiotis Kanavos
    public partial class ProjectInstaller : System.Configuration.Install.Installer
32 d78cbf09 Panagiotis Kanavos
    {
33 d78cbf09 Panagiotis Kanavos
        public ProjectInstaller()
34 d78cbf09 Panagiotis Kanavos
        {
35 d78cbf09 Panagiotis Kanavos
            InitializeComponent();
36 d78cbf09 Panagiotis Kanavos
        }
37 d78cbf09 Panagiotis Kanavos
38 d78cbf09 Panagiotis Kanavos
        public override void Install(IDictionary stateSaver)
39 d78cbf09 Panagiotis Kanavos
        {
40 d78cbf09 Panagiotis Kanavos
            base.Install(stateSaver);
41 d78cbf09 Panagiotis Kanavos
42 d78cbf09 Panagiotis Kanavos
            // Call RegistrationServices.RegisterAssembly to register the classes in 
43 d78cbf09 Panagiotis Kanavos
            // the current managed assembly to enable creation from COM.
44 d78cbf09 Panagiotis Kanavos
            RegistrationServices regService = new RegistrationServices();
45 d78cbf09 Panagiotis Kanavos
            regService.RegisterAssembly(
46 d78cbf09 Panagiotis Kanavos
                this.GetType().Assembly, 
47 d78cbf09 Panagiotis Kanavos
                AssemblyRegistrationFlags.SetCodeBase);
48 d78cbf09 Panagiotis Kanavos
        }
49 d78cbf09 Panagiotis Kanavos
50 d78cbf09 Panagiotis Kanavos
        public override void Uninstall(IDictionary savedState)
51 d78cbf09 Panagiotis Kanavos
        {
52 d78cbf09 Panagiotis Kanavos
            base.Uninstall(savedState);
53 d78cbf09 Panagiotis Kanavos
54 d78cbf09 Panagiotis Kanavos
            // Call RegistrationServices.UnregisterAssembly to unregister the classes 
55 d78cbf09 Panagiotis Kanavos
            // in the current managed assembly.
56 d78cbf09 Panagiotis Kanavos
            RegistrationServices regService = new RegistrationServices();
57 d78cbf09 Panagiotis Kanavos
            regService.UnregisterAssembly(this.GetType().Assembly);
58 d78cbf09 Panagiotis Kanavos
        }
59 d78cbf09 Panagiotis Kanavos
    }
60 d78cbf09 Panagiotis Kanavos
}