Я пытаюсь создать MSI-установку для моей службы Windows.Причина создания msi заключается в том, что предполагаемые пользователи хотят иметь возможность быстро установить службу с минимальным вмешательством.
я могу получить службу для установки как msi, но у меня есть переменная внутримой код, который мне нужен пользователь, чтобы определить, когда MSI устанавливается.переменная, которую я запрашиваю у пользователя, - это путь к файлу, который они хотят, чтобы находились xml-файлы, создаваемые моей службой.
Я подумал, что могу настроить параметры приложения app.config так, чтобы он содержал путь к файлу, который представляют собой xml-файлы.должно быть написаноОднако я изо всех сил пытаюсь сделать это, и я не уверен, что это лучший способ сделать это?
У меня есть проект установки, который содержит мой исполняемый файл и текстовое поле, которое будет содержать одну переменную от пользователя,
У меня есть класс установщика, который содержит мой установщик службы и установщик процесса.Здесь я пытаюсь понять, что мне нужно делать дальше. Нужно ли переопределить метод установки?Текущий код моего класса установщика был сгенерирован автоматически и выглядит следующим образом:
Imports System.Configuration.Install
Imports System.Configuration
<System.ComponentModel.RunInstaller(True)> Partial Class ProjectInstaller
Inherits System.Configuration.Install.Installer
'Installer overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Component Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Component Designer
'It can be modified using the Component Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.ServiceProcessInstaller1 = New System.ServiceProcess.ServiceProcessInstaller()
Me.ServiceInstaller1 = New System.ServiceProcess.ServiceInstaller()
'
'ServiceProcessInstaller1
'
Me.ServiceProcessInstaller1.Account = System.ServiceProcess.ServiceAccount.LocalSystem
Me.ServiceProcessInstaller1.Password = Nothing
Me.ServiceProcessInstaller1.Username = Nothing
'
'ServiceInstaller1
'
Me.ServiceInstaller1.ServiceName = "Spotter"
Me.ServiceInstaller1.StartType = System.ServiceProcess.ServiceStartMode.Automatic
'
'ProjectInstaller
'
Me.Installers.AddRange(New System.Configuration.Install.Installer() {Me.ServiceProcessInstaller1, Me.ServiceInstaller1})
End Sub
Friend WithEvents ServiceProcessInstaller1 As System.ServiceProcess.ServiceProcessInstaller
Friend WithEvents ServiceInstaller1 As System.ServiceProcess.ServiceInstaller
End Class
Я даже могу добавить значения CustomActionData.Строка определяет, что передается в объект контекста, который я использовал для сбора введенного пользователем значения.param1 - это имя моей переменной.
Я в значительной степени борюсь с кодом установщика ... я думаю?