/// <summary> /// DLL をインストールします。 /// </summary> /// <param name="importDllPath">インポート先のパス</param> /// <returns>dll 格納パス</returns> private string InstallDll(string importDllPath = null) { importDllPath = dllSelectionRequest(importDllPath); if (importDllPath is null) { // dll のパス取得に失敗 return(null); } string dllFileName = System.IO.Path.GetFileName(importDllPath); string dllPath = System.IO.Path.Combine(InstallDllDirectory, dllFileName); bool isReboot = false; if (File.Exists(dllPath)) { // dll は既にインポート済み string msg = string.Format(CapyCSS.Language.Instance["SYSTEM_ModuleControler_01"], dllFileName); var ret = ControlTools.ShowSelectMessage(msg, DLL_MESSAGE_TITLE, MessageBoxButton.YesNo); if (ret == MessageBoxResult.No) { return(null); } // dll を上書きインストールを選択した isReboot = true; } File.Copy(importDllPath, dllPath, true); if (isReboot) { // 上書きインストール成功 string msg = string.Format(CapyCSS.Language.Instance["SYSTEM_ModuleControler_02"], dllFileName); ControlTools.ShowMessage(msg, DLL_MESSAGE_TITLE); // アプリケーションの終了 CommandCanvasList.CallClosing?.Invoke(); return(null); } else { // インストール成功 string msg = string.Format(CapyCSS.Language.Instance["SYSTEM_ModuleControler_03"], dllFileName); ControlTools.ShowMessage(msg, DLL_MESSAGE_TITLE); } // ドロップダウンリストに登録 InportList.Items.Add(dllPath); return(dllPath); }