1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- using System.ComponentModel;
- using System.Configuration.Install;
- using System.ServiceProcess;
- using Microsoft.Win32;
- namespace LJLib.InstallHelper
- {
- [RunInstaller(true)]
- public partial class LJInstaller : System.Configuration.Install.Installer
- {
- public LJInstaller()
- {
- InitializeComponent();
- // DONE: 读取服务
- this.serviceInstaller1.ServiceName = LJInstallGlobal.ServerName;
- this.serviceInstaller1.DisplayName = LJInstallGlobal.DisplayName;
- this.serviceInstaller1.Description = LJInstallGlobal.Description;
- }
- private void LJInstaller_AfterInstall(object sender, InstallEventArgs e)
- {
- var curPath = LJInstallGlobal.ImagePath;
- if (!string.IsNullOrEmpty(curPath))
- {
- // DONE: 修改命令行
- RegistryKey service = Registry.LocalMachine.OpenSubKey("SYSTEM").OpenSubKey("CurrentControlSet").OpenSubKey("services").OpenSubKey(LJInstallGlobal.ServerName, true);
- service.SetValue("ImagePath", curPath);
- }
- ServiceController sc = new ServiceController(LJInstallGlobal.ServerName);
- if (sc.Status != ServiceControllerStatus.Running)
- {
- sc.Start();
- }
- }
- private void LJInstaller_BeforeUninstall(object sender, InstallEventArgs e)
- {
- // DONE: 停止服务
- ServiceController sc = new ServiceController(LJInstallGlobal.ServerName);
- if (sc.Status != ServiceControllerStatus.Stopped)
- {
- sc.Stop();
- }
- }
- }
- }
|