using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Configuration.Install; using System.Linq; namespace Intel.Management.PSModule { /// /// version 2.0 x86 Product code: {71C2B773-86A2-4A82-98B4-43F1144C757C} /// version 2.0 x64 Product code {FFBD0BEE-D652-444B-8780-771EB1FD652F} /// [RunInstaller(true)] public partial class DriveInstaller : Installer { /// /// /// 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