\r
packageInstallerDownloaded = true;\r
\r
+ \r
+ RaiseTaskSetEvent(NaGetTaskSetEventType.STARTED_TASKSET, TaskSetNames[currentTaskSetIndex]);\r
+ \r
// ハッシュの壊れているインストーラを取得\r
invalidInstallers = runCheckHashForInstaller();\r
\r
// ハッシュが壊れているときの対策\r
if (invalidInstallers.Count > 0) {\r
- string msg = string.Format("{0}個のパッケージでファイルが壊れている可能性があります\n強制的にインストールを続行しますか?",\r
- invalidInstallers.Count);\r
- NaGetTaskQueryResult result = RaiseTaskSetQueryEvent(msg, NaGetTaskQueryResult.CONTINUE\r
- | NaGetTaskQueryResult.RETRY\r
- | NaGetTaskQueryResult.CANCEL);\r
+ System.Text.StringBuilder invalidInstallerNames = new System.Text.StringBuilder();\r
+ foreach (Installation invalidInst in invalidInstallers) {\r
+ invalidInstallerNames.AppendFormat(" - {0}\n", invalidInst.ToString());\r
+ }\r
+ \r
+ string msg = string.Format("以下の{0}個のパッケージでファイルが壊れている可能性があります。\n{1}\n強制的にインストールを続行しますか?",\r
+ invalidInstallers.Count, invalidInstallerNames.ToString());\r
+ NaGetTaskQueryResult result = NaGetTaskQueryResult.CANCEL;\r
+ \r
+ if (!cancelCalled) {\r
+ result = RaiseTaskSetQueryEvent(msg, NaGetTaskQueryResult.CONTINUE\r
+ | NaGetTaskQueryResult.RETRY\r
+ | NaGetTaskQueryResult.CANCEL);\r
+ }\r
\r
switch (result) {\r
case NaGetTaskQueryResult.CONTINUE:\r
}\r
}\r
currentTaskSetIndex ++;\r
+ RaiseTaskSetEvent(NaGetTaskSetEventType.COMPLETED_TASKSET, TaskSetNames[currentTaskSetIndex-1]);\r
}\r
}\r
\r
currentTaskSetIndex ++;\r
\r
if (inst.Downloaded) { // 正常終了\r
- RaiseTaskSetEvent(NaGetTaskSetEventType.COMPLETED_TASKSET, TaskSetNames[currentTaskSetIndex]);\r
+ RaiseTaskSetEvent(NaGetTaskSetEventType.COMPLETED_TASKSET, TaskSetNames[currentTaskSetIndex-1]);\r
} else { // インストールが完了せずに終わった=失敗=エラー\r
RaiseTaskSetEvent(NaGetTaskSetEventType.ERROR, string.Format("{0}のインストーラを正常にダウンロードできませんでした", inst.ToString()));\r
done = true;\r
}\r
\r
RaiseTaskSetEvent(NaGetTaskSetEventType.STARTED_TASKSET, TaskSetNames[currentTaskSetIndex]);\r
- if (scanner.HasScanner) {\r
+ if (! NaGet.Env.EnableScanInstallerFile) {\r
+ RaiseTaskSetEvent(NaGetTaskSetEventType.INFO, string.Format("ウイルススキャンを行わない設定のため、ダウンロードしたファイルはウイルススキャンされませんでした"));\r
+ } else if (!scanner.HasScanner) {\r
+ RaiseTaskSetEvent(NaGetTaskSetEventType.INFO, string.Format("ダウンロードしたファイルはウイルススキャンされませんでした(ウイルススキャンソフトが検出できませんでした)"));\r
+ } else {\r
try {\r
inst.ScanInstallerFile(scanner);\r
} catch (System.Runtime.InteropServices.COMException ex) {\r
done = true;\r
return;\r
}\r
- } else {\r
- RaiseTaskSetEvent(NaGetTaskSetEventType.INFO, string.Format("ダウンロードしたファイルはウイルススキャンされませんでした(ウイルススキャンソフトが検出できませんでした)"));\r
}\r
currentTaskSetIndex ++;\r
- RaiseTaskSetEvent(NaGetTaskSetEventType.COMPLETED_TASKSET, TaskSetNames[currentTaskSetIndex]);\r
+ RaiseTaskSetEvent(NaGetTaskSetEventType.COMPLETED_TASKSET, TaskSetNames[currentTaskSetIndex-1]);\r
+ \r
+ if (cancelCalled) {\r
+ RaiseTaskSetEvent(NaGetTaskSetEventType.CANCELED, "パッケージのインストール処理がキャンセルされました");\r
+ done = true;\r
+ return;\r
+ }\r
}\r
}\r
}\r