Imported Upstream version 3.6.0

Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
This commit is contained in:
Jo Shields
2014-08-13 10:39:27 +01:00
commit a575963da9
50588 changed files with 8155799 additions and 0 deletions

View File

@@ -0,0 +1,132 @@
// System.Configuration.Install.AssemblyInstaller.cs
//
// Author:
// Gert Driesen (drieseng@users.sourceforge.net)
//
// (C) Novell
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System.Collections;
using System.ComponentModel;
using System.Reflection;
namespace System.Configuration.Install
{
public class AssemblyInstaller : Installer
{
public AssemblyInstaller ()
{
}
public AssemblyInstaller (Assembly assembly, string[] commandLine)
{
_assembly = assembly;
_commandLine = commandLine;
_useNewContext = true;
}
public AssemblyInstaller (string fileName, string[] commandLine)
{
Path = System.IO.Path.GetFullPath (fileName);
_commandLine = commandLine;
_useNewContext = true;
}
[MonoTODO]
public static void CheckIfInstallable (string assemblyName)
{
throw new NotImplementedException ();
}
public override void Commit (IDictionary savedState)
{
base.Commit (savedState);
}
public override void Install (IDictionary savedState)
{
base.Install (savedState);
}
public override void Rollback (IDictionary savedState)
{
base.Rollback (savedState);
}
public override void Uninstall (IDictionary savedState)
{
base.Uninstall (savedState);
}
public Assembly Assembly {
get {
return _assembly;
}
set {
_assembly = value;
}
}
public string[] CommandLine {
get {
return _commandLine;
}
set {
_commandLine = value;
}
}
public override string HelpText {
get {
return base.HelpText;
}
}
public string Path {
get {
if (_assembly == null)
return null;
return _assembly.Location;
}
set {
if (value == null)
_assembly = null;
_assembly = Assembly.LoadFrom (value);
}
}
public bool UseNewContext {
get {
return _useNewContext;
}
set {
_useNewContext = value;
}
}
private Assembly _assembly;
private string[] _commandLine;
private bool _useNewContext;
}
}

View File

@@ -0,0 +1,60 @@
2008-07-24 Gert Driesen <drieseng@users.sourceforge.net>
* AssemblyInstaller.cs: Fixed argument name to match MS.
2008-06-11 Atsushi Enomoto <atsushi@ximian.com>
* Installer.cs : populate 'installers' instance. Fixed bug #397126.
2007-09-27 Atsushi Enomoto <atsushi@ximian.com>
* IManagedInstaller.cs, InstallEventHandler.cs, UninstallAction.cs:
completeing 2.0 API (metadata-wise).
2005-08-08 Gert Driesen <drieseng@users.sourceforge.net>
* Installer.cs: Browsable must be true on Parent.
2004-06-11 Gert Driesen <drieseng@users.sourceforge.net>
* Installer.cs: use Type instead of string argument for
Designer attribute
2004-06-11 Gert Driesen <drieseng@users.sourceforge.net>
* AssemblyInstaller.cs: stubbed
* ManagedInstallerClass.cs: stubbed
* TransactedInstaller.cs: stubbed
2004-05-16 Gert Driesen (drieseng@users.sourceforge.net)
* IManagedInstaller.cs: fixed signature
* Installer.cs: marked parent internal to match MS
* InstallerCollection.cs: implemented
* InstallEventArgs.cs: remove setter for SavedState
2004-05-15 Gert Driesen (drieseng@users.sourceforge.net)
* InstallContext.cs: removed setter for Parameters
* Installer.cs: added missing attributes, remove
setter for Installers, Context
2002-12-01 Alejandro Sánchez Acosta <raciel@es.gnu.org>
* IManagedInstaller.cs,
Installer.cs,
InstallException.cs,
ComponentInstaller.cs,
InstallContext.cs,
InstallEventArgs.cs,
InstallerCollection.cs,
InstallEventHandler.cs: Added.
2002-07-22 Tim Coleman <tim@timcoleman.com>
* UninstallAction.cs: Changed namespace to
proper System.Configuration.Install;
2002-08-13 Jonathan Pryor <jonpryor@vt.edu>
* ChangeLog: Add change log to this directory
* UninstallAction.cs: Implemented.

View File

@@ -0,0 +1,47 @@
// System.Configuration.Install.ComponentInstaller.cs
//
// Author:
// Alejandro Sánchez Acosta
//
// (C) Alejandro Sánchez Acosta
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System.ComponentModel;
namespace System.Configuration.Install
{
public abstract class ComponentInstaller : Installer
{
protected ComponentInstaller () {
}
public abstract void CopyFromComponent (IComponent component);
[MonoTODO ("Mono always returns false")]
public virtual bool IsEquivalentInstaller (ComponentInstaller otherInstaller)
{
return false;
}
}
}

View File

@@ -0,0 +1,50 @@
// System.Configuration.Install.IManagedInstaller.cs
//
// Author:
// Alejandro Sánchez Acosta
//
// (C) Alejandro Sánchez Acosta
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System.Runtime.InteropServices;
namespace System.Configuration.Install
{
[Guid("1E233FE7-C16D-4512-8C3B-2E9988F08D38")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
#if NET_2_0
[ComImport]
#endif
public interface IManagedInstaller
{
[return: MarshalAs(UnmanagedType.I4)]
int ManagedInstall (
[MarshalAs(UnmanagedType.BStr)]
[In]
string commandLine,
[MarshalAs(UnmanagedType.I4)]
[In]
int hInstall);
}
}

View File

@@ -0,0 +1,91 @@
// System.Configuration.Install.InstallContext.cs
//
// Author:
// Alejandro Sánchez Acosta <raciel@es.gnu.org>
//
// (C) Alejandro Sánchez Acosta
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System.Collections.Specialized;
namespace System.Configuration.Install
{
public class InstallContext
{
private StringDictionary parameters;
string log_file;
bool log = false;
public InstallContext ()
{
log_file = null;
log = false;
parameters = ParseCommandLine (new string [0]);
}
public InstallContext (string logFilePath, string[] commandLine)
{
log_file = logFilePath;
parameters = ParseCommandLine (commandLine);
log = IsParameterTrue ("LogtoConsole");
}
public StringDictionary Parameters {
get {
return parameters;
}
}
public bool IsParameterTrue (string paramName)
{
return parameters [paramName] == "true";
}
public void LogMessage (string message)
{
if (log)
Console.WriteLine (message);
}
protected static StringDictionary ParseCommandLine (string[] args)
{
StringDictionary d = new StringDictionary ();
foreach (string s in args){
int p = s.IndexOf ("=");
if (p == -1)
d [s] = "true";
else {
string key = s.Substring (0, p);
string value = s.Substring (p+1).ToLower ();
if (value == "yes" || value == "true" || value == "1")
value = "true";
d [key] = value;
}
}
return d;
}
}
}

View File

@@ -0,0 +1,51 @@
// System.Configuration.Install.InstallEventArgs.cs
//
// Author:
// Alejandro Sánchez Acosta <raciel@es.gnu.org>
//
// (C) Alejandro Sánchez Acosta
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System.Collections;
namespace System.Configuration.Install
{
public class InstallEventArgs : EventArgs
{
private IDictionary savedstate;
public InstallEventArgs() {
}
public InstallEventArgs (IDictionary savedState) {
this.savedstate = savedState;
}
public IDictionary SavedState {
get {
return savedstate;
}
}
}
}

View File

@@ -0,0 +1,38 @@
// System.Configuration.Install.InstallEventHandler.cs
//
// Author:
// Alejandro Sánchez Acosta <raciel@es.gnu.org>
//
// (C) Alejandro Sánchez Acosta
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System.Runtime.Serialization;
namespace System.Configuration.Install
{
#if !NET_2_0
[Serializable]
#endif
public delegate void InstallEventHandler (object sender, InstallEventArgs e);
}

View File

@@ -0,0 +1,58 @@
// System.Configuration.Install.InstallException.cs
//
// Author:
// Alejandro Sánchez Acosta <raciel@es.gnu.org>
//
// (C) Alejandro Sánchez Acosta
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System;
using System.Globalization;
using System.Runtime.Serialization;
namespace System.Configuration.Install
{
[Serializable]
public class InstallException : SystemException
{
private Exception innerException;
public InstallException ()
{
}
public InstallException (string message) : base (message)
{
}
protected InstallException (SerializationInfo info, StreamingContext context) : base (info, context)
{
}
public InstallException (string message, Exception innerException) : base (message)
{
this.innerException = innerException;
}
}
}

View File

@@ -0,0 +1,163 @@
// System.Configuration.Install.Installer.cs
//
// Author:
// Alejandro Sánchez Acosta <raciel@es.gnu.org>
//
// Alejandro Sánchez Acosta
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System.Collections;
using System.ComponentModel;
using System.ComponentModel.Design;
namespace System.Configuration.Install
{
[DefaultEvent("AfterInstall")]
public class Installer : Component
{
private InstallContext context;
private string helptext;
private InstallerCollection installers;
internal Installer parent;
public Installer () {
}
[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
[BrowsableAttribute(false)]
public InstallContext Context {
get {
return context;
}
set {
context = value;
}
}
public virtual string HelpText {
get {
return helptext;
}
}
public InstallerCollection Installers {
get {
if (installers == null)
installers = new InstallerCollection (this);
return installers;
}
}
public Installer Parent {
get {
return parent;
}
set {
parent = value;
}
}
public virtual void Commit (IDictionary savedState)
{
}
public virtual void Install (IDictionary stateSaver)
{
}
protected virtual void OnAfterInstall (IDictionary savedState)
{
if (AfterInstall != null)
AfterInstall (this, new InstallEventArgs (savedState));
}
protected virtual void OnAfterRollback (IDictionary savedState)
{
if (AfterRollback != null)
AfterRollback (this, new InstallEventArgs (savedState));
}
protected virtual void OnAfterUninstall (IDictionary savedState)
{
if (AfterUninstall != null)
AfterUninstall (this, new InstallEventArgs (savedState));
}
protected virtual void OnBeforeInstall (IDictionary savedState)
{
if (BeforeInstall != null)
BeforeInstall (this, new InstallEventArgs (savedState));
}
protected virtual void OnBeforeRollback (IDictionary savedState)
{
if (BeforeRollback != null)
BeforeRollback (this, new InstallEventArgs (savedState));
}
protected virtual void OnBeforeUninstall (IDictionary savedState)
{
if (BeforeUninstall != null)
BeforeUninstall (this, new InstallEventArgs (savedState));
}
protected virtual void OnCommitted (IDictionary savedState)
{
if (Committed != null)
Committed (this, new InstallEventArgs (savedState));
}
protected virtual void OnCommitting (IDictionary savedState)
{
if (Committing != null)
Committing (this, new InstallEventArgs (savedState));
}
public virtual void Rollback (IDictionary savedState)
{
}
public virtual void Uninstall (IDictionary savedState)
{
}
public event InstallEventHandler AfterInstall;
public event InstallEventHandler AfterRollback;
public event InstallEventHandler AfterUninstall;
public event InstallEventHandler BeforeInstall;
public event InstallEventHandler BeforeRollback;
public event InstallEventHandler BeforeUninstall;
public event InstallEventHandler Committed;
public event InstallEventHandler Committing;
}
}

View File

@@ -0,0 +1,125 @@
// System.Configuration.Install.Installer.cs
//
// Author:
// Alejandro Sánchez Acosta <raciel@es.gnu.org>
//
// (C) Alejandro Sánchez Acosta
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System.Collections;
namespace System.Configuration.Install
{
public class InstallerCollection : CollectionBase
{
#region Constructors
internal InstallerCollection(Installer owner)
{
this.owner = owner;
}
#endregion Constructors
public Installer this[int index] {
get
{
return (Installer) base.List[index];
}
set
{
base.List[index] = value;
}
}
public int Add (Installer value) {
return base.List.Add (value);
}
public void AddRange (Installer[] value) {
if (value == null)
{
throw new ArgumentNullException ("value");
}
for (int counter = 0; counter < value.Length; counter++)
{
Add (value[counter]);
}
}
public void AddRange (InstallerCollection value) {
if (value == null)
{
throw new ArgumentNullException ("value");
}
int itemCount = value.Count;
for (int counter = 0; counter < itemCount; counter++)
{
Add (value[counter]);
}
}
public bool Contains (Installer value) {
return base.List.Contains (value);
}
public void CopyTo (Installer[] array, int index) {
base.List.CopyTo (array, index);
}
public int IndexOf (Installer value) {
return base.List.IndexOf (value);
}
public void Insert (int index, Installer value) {
base.List.Insert (index, value);
}
protected override void OnInsert (int index, object value) {
((Installer) value).parent = owner;
}
protected override void OnRemove (int index, object value) {
((Installer) value).parent = null;
}
protected override void OnSet (int index, object oldValue, object newValue) {
((Installer) oldValue).parent = null;
((Installer) newValue).parent = owner;
}
public void Remove (Installer value) {
base.List.Remove(value);
}
#region Private Instance Fields
private Installer owner;
#endregion Private Instance Fields
}
}

View File

@@ -0,0 +1,54 @@
// System.Configuration.Install.ManagedInstallerClass.cs
//
// Author:
// Gert Driesen (drieseng@users.sourceforge.net)
//
// (C) Novell
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System.Runtime.InteropServices;
namespace System.Configuration.Install
{
[GuidAttribute ("42EB0342-0393-448f-84AA-D4BEB0283595")]
[ComVisible (true)]
public class ManagedInstallerClass : IManagedInstaller
{
public ManagedInstallerClass ()
{
}
[MonoTODO]
public static void InstallHelper (string[] args)
{
throw new NotImplementedException ();
}
[MonoTODO]
int IManagedInstaller.ManagedInstall (string argString, int hInstall)
{
throw new NotImplementedException ();
}
}
}

View File

@@ -0,0 +1,50 @@
// System.Configuration.Install.TransactedInstaller.cs
//
// Author:
// Gert Driesen (drieseng@users.sourceforge.net)
//
// (C) Novell
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System.Collections;
namespace System.Configuration.Install
{
public class TransactedInstaller : Installer
{
public TransactedInstaller ()
{
}
public override void Install (IDictionary savedState)
{
base.Install (savedState);
}
public override void Uninstall (IDictionary savedState)
{
base.Uninstall (savedState);
}
}
}

View File

@@ -0,0 +1,42 @@
//
// System.Configuration.Install.UninstallAction.cs
//
// Authors:
// Jonathan Pryor (jonpryor@vt.edu)
//
// (C) 2002
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System;
namespace System.Configuration.Install {
#if !NET_2_0
[Serializable]
#endif
public enum UninstallAction {
NoAction=0x01,
Remove=0x00
}
}