程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#進行Visio二次開發之Web端啟動繪圖客戶端並登錄(2)

C#進行Visio二次開發之Web端啟動繪圖客戶端並登錄(2)

編輯:關於C語言

2、為了使得Web端的Javascript能夠調用EDNMS.UI.exe 的Winform程序,我們需要在安裝Winform的時候,把安裝路徑加入到操作系統Path變量中,操作系統的Path變量的內容放置在注冊表節點SYSTEM\\ControlSet001\\Control\\Session Manager\\Environment的Path中,下面是自定義安裝操作的代碼。

[RunInstaller(true)]
public class InstallAction : Installer
{
private string virtualRoot = string.Empty; // 安裝虛擬路徑
private string physicalRoot = string.Empty; // 安裝物理路徑
/// <summary>
/// 必需的設計器變量。
/// </summary>
private Container components = null;
public InstallAction()
{
// 該調用是設計器所必需的。
InitializeComponent();
}
public override void Install(IDictionary stateSaver)
{
base.Install(stateSaver);
try
{
......
//修改Path環境變量
UpdatePathEnvironment();
}
catch (Exception ex)
{
WriteLog(ex.Message + "\r\n " + ex.StackTrace);
}
}
/// <summary>
/// 加入安裝文件的路徑,方便Web端訪問
/// </summary>
private void UpdatePathEnvironment()
{
//得到原來Path的變量值
string registerKey = "SYSTEM\\ControlSet001\\Control\\Session Manager\\Environment";
string key = "Path";
RegistryKey regKey = Registry.LocalMachine.OpenSubKey(registerKey);
string result = regKey.GetValue(key).ToString();
//添加新的值
if (result.IndexOf(physicalRoot) < 0)
{
result += string.Format(";{0}", physicalRoot);
}
regKey = Registry.LocalMachine.OpenSubKey(registerKey, RegistryKeyPermissionCheck.ReadWriteSubTree, RegistryRights.SetValue);
regKey.SetValue(key, result);
}
......
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved