80 lines
2.5 KiB
C#
80 lines
2.5 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Configuration.Install;
|
|
using System.Linq;
|
|
|
|
|
|
|
|
namespace Intel.Management.PSModule
|
|
{
|
|
/// <summary>
|
|
/// version 2.0 x86 Product code: {71C2B773-86A2-4A82-98B4-43F1144C757C}
|
|
/// version 2.0 x64 Product code {FFBD0BEE-D652-444B-8780-771EB1FD652F}
|
|
/// </summary>
|
|
[RunInstaller(true)]
|
|
public partial class DriveInstaller : Installer
|
|
{
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public DriveInstaller()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
override public void Install(IDictionary stateSaver)
|
|
{
|
|
string name = "PSModulePath";
|
|
string path = string.Empty;
|
|
if (Context.Parameters.ContainsKey("assemblypath"))
|
|
{
|
|
string value = Environment.GetEnvironmentVariable(name);
|
|
if (value == null) value=string.Empty;
|
|
|
|
//This should be to the module directory
|
|
path = System.IO.Path.GetDirectoryName(Context.Parameters["assemblypath"]);
|
|
path = System.IO.Path.GetDirectoryName(path);
|
|
|
|
|
|
if (value != null && !value.Equals(string.Empty))
|
|
{
|
|
value = value + ";" + path;
|
|
}
|
|
else
|
|
{
|
|
value = path;
|
|
}
|
|
|
|
Environment.SetEnvironmentVariable(name, value,EnvironmentVariableTarget.Machine);
|
|
}
|
|
}
|
|
|
|
|
|
override public void Uninstall(IDictionary stateSaver)
|
|
{
|
|
try
|
|
{
|
|
string name = "PSModulePath";
|
|
string value = Environment.GetEnvironmentVariable(name);
|
|
if (value != null && !value.Equals(string.Empty) && Context.Parameters.ContainsKey("assemblypath"))
|
|
{
|
|
string path = System.IO.Path.GetDirectoryName(Context.Parameters["assemblypath"]);
|
|
path = System.IO.Path.GetDirectoryName(path);
|
|
|
|
value = value.Replace(";" + path, string.Empty);
|
|
value = value.Replace(path, string.Empty);
|
|
|
|
|
|
Environment.SetEnvironmentVariable(name, value,
|
|
EnvironmentVariableTarget.Machine);
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
}
|
|
}
|
|
}
|
|
}// namespace
|