deployment - keys - Configurar App.Config como acción personalizada en el proyecto de instalación
configurationmanager appsettings app config (4)
Tengo una aplicación personalizada con una aplicación simple.config que especifica el nombre y la base de datos del Servidor SQL. Deseo solicitarle al usuario que instale la aplicación para los elementos de configuración de la aplicación y luego actualice el archivo app.config.
Admito que soy totalmente nuevo para configurar proyectos y estoy buscando orientación. Gracias Mark Koops
App.Config PUEDE cambiarse ... sin embargo, existe en una ubicación similar a HKEY___LOCAL_MACHINE, es decir, el usuario promedio tiene acceso de solo lectura.
Por lo tanto, deberá cambiarlo como administrador; el mejor momento sería durante la instalación, donde se supone que debe instalar con permisos mejorados.
Así que cree una clase Installer, use una acción personalizada en el proyecto de instalación para pasar las elecciones del usuario (por ejemplo, "/ svr = [SERVER] / db = [DB] / uilevel = [UILEVEL]") y, en el evento AfterInstall, cambie el archivo App.Config usando algo como:
Public Shared Property AppConfigSetting(ByVal SettingName As String) As Object
Get
Return My.Settings.PropertyValues(SettingName)
End Get
Set(ByVal value As Object)
Dim AppConfigFilename As String = String.Concat(System.Reflection.Assembly.GetExecutingAssembly.Location, ".config")
If (My.Computer.FileSystem.FileExists(AppConfigFilename)) Then
Dim AppSettingXPath As String = String.Concat("/configuration/applicationSettings/", My.Application.Info.AssemblyName, ".My.MySettings/setting[@name=''", SettingName, "'']/value")
Dim AppConfigXML As New System.Xml.XmlDataDocument
With AppConfigXML
.Load(AppConfigFilename)
Dim DataNode As System.Xml.XmlNode = .SelectSingleNode(AppSettingXPath)
If (DataNode Is Nothing) Then
Throw New Xml.XmlException(String.Format("Application setting not found ({0})!", AppSettingXPath))
Else
DataNode.InnerText = value.ToString
End If
.Save(AppConfigFilename)
End With
Else
Throw New IO.FileNotFoundException("App.Config file not found!", AppConfigFilename)
End If
End Set
End Property
Tuve problemas con el código vinculado a Gulzar en una máquina de 64 bits. El siguiente enlace me pareció una solución simple para obtener valores de la configuración en app.config.
http://raquila.com/software/configure-app-config-application-settings-during-msi-install/
Cree diálogos personalizados para usar en sus proyectos de instalación de Visual Studio: http://www.codeproject.com/Articles/18834/Create-custom-dialogs-for-use-in-your-Visual-Studi