SQL Server名とデータベースを指定する単純なapp.configを持つカスタムアプリケーションがあります。アプリケーションのインストール時にアプリケーション構成アイテムの入力をユーザーに求めてから、app.configファイルを更新します。
私はプロジェクトのセットアップにまったく慣れていないことを認め、いくつかのガイダンスを探しています。ありがとうマーク・クープス
SQL Server名とデータベースを指定する単純なapp.configを持つカスタムアプリケーションがあります。アプリケーションのインストール時にアプリケーション構成アイテムの入力をユーザーに求めてから、app.configファイルを更新します。
私はプロジェクトのセットアップにまったく慣れていないことを認め、いくつかのガイダンスを探しています。ありがとうマーク・クープス
64ビットマシンでリンクされているコードGulzarに問題がありました。以下のリンクは、configuiからapp.configに値を取得するための簡単なソリューションであることがわかりました。
http://raquila.com/software/configure-app-config-application-settings-during-msi-install/
これをチェックしてください-設定を変更するためのカスタムアクションを備えたインストーラー
App.Config は変更できます...ただし、HKEY___LOCAL_MACHINE に似た場所に存在します。つまり、平均的なユーザーは読み取り専用アクセス権を持っています。
そのため、管理者としてそれを変更する必要があります。最適な時期は、拡張されたアクセス許可でインストールする (想定される) インストール中です。
そのため、インストーラー クラスを作成し、セットアップ プロジェクトでカスタム アクションを使用してユーザーの選択を渡します (例: "/svr=[SERVER] /db=[DB] /uilevel=[UILEVEL]")。AfterInstall イベントで、次のようなものを使用して App.Config ファイルを変更します。
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
Visual Studio セットアップ プロジェクトで使用するカスタム ダイアログを作成します: http://www.codeproject.com/Articles/18834/Create-custom-dialogs-for-use-in-your-Visual-Studi