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 | } |