OSDN Git Service

AppliStation-All,「キャッシュにダウンロード」する機能を追加
authorttp <ttp@users.sourceforge.jp>
Sun, 12 Sep 2010 06:13:43 +0000 (15:13 +0900)
committerttp <ttp@users.sourceforge.jp>
Sun, 12 Sep 2010 06:13:43 +0000 (15:13 +0900)
AppliStation/PackageListViewForm.Designer.cs
AppliStation/PackageListViewForm.cs
all-get/Main.cs
na-get-lib/NaGet.SubCommands/NaGetDownloadToCache.cs [new file with mode: 0644]
na-get-lib/NaGet.SubCommands/NaGetInstall.cs
na-get-lib/na-get-lib.csproj

index 72365cb..8e89085 100644 (file)
@@ -68,6 +68,7 @@
                        this.packageListContextMenuStrip = new System.Windows.Forms.ContextMenuStrip(this.components);\r
                        this.installToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\r
                        this.uninstallToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\r
+                       this.downloadToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\r
                        this.webResourceToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\r
                        this.installedDirectoryToolStripMenuItem = new AppliStation.Util.ToolStripPetitLauncherMenuItem();\r
                        this.propertiesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\r
@@ -80,6 +81,7 @@
                        this.installDateToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\r
                        this.packageListViewImageList = new System.Windows.Forms.ImageList(this.components);\r
                        this.detailBox = new System.Windows.Forms.RichTextBox();\r
+                       this.toolStripButton1 = new System.Windows.Forms.ToolStripButton();\r
                        nameHeader = new System.Windows.Forms.ColumnHeader();\r
                        versionHeader = new System.Windows.Forms.ColumnHeader();\r
                        summaryHeader = new System.Windows.Forms.ColumnHeader();\r
                        // organizeToolStripSeparator1\r
                        // \r
                        organizeToolStripSeparator1.Name = "organizeToolStripSeparator1";\r
-                       organizeToolStripSeparator1.Size = new System.Drawing.Size(253, 6);\r
+                       organizeToolStripSeparator1.Size = new System.Drawing.Size(262, 6);\r
                        // \r
                        // softCollectionFileToolStripMenuItem\r
                        // \r
                                                                        this.softCollectionFileImportToolStripMenuItem,\r
                                                                        this.softCollectionFileExportToolStripMenuItem});\r
                        softCollectionFileToolStripMenuItem.Name = "softCollectionFileToolStripMenuItem";\r
-                       softCollectionFileToolStripMenuItem.Size = new System.Drawing.Size(256, 22);\r
+                       softCollectionFileToolStripMenuItem.Size = new System.Drawing.Size(265, 22);\r
                        softCollectionFileToolStripMenuItem.Text = "ソフトコレクションファイル(&C)";\r
                        // \r
                        // softCollectionFileImportToolStripMenuItem\r
                        // \r
                        this.softCollectionFileImportToolStripMenuItem.Name = "softCollectionFileImportToolStripMenuItem";\r
-                       this.softCollectionFileImportToolStripMenuItem.Size = new System.Drawing.Size(152, 22);\r
+                       this.softCollectionFileImportToolStripMenuItem.Size = new System.Drawing.Size(165, 22);\r
                        this.softCollectionFileImportToolStripMenuItem.Text = "インポート(&I)...";\r
                        this.softCollectionFileImportToolStripMenuItem.Click += new System.EventHandler(this.SoftCollectionFileImportToolStripMenuItemClick);\r
                        // \r
                        // softCollectionFileExportToolStripMenuItem\r
                        // \r
                        this.softCollectionFileExportToolStripMenuItem.Name = "softCollectionFileExportToolStripMenuItem";\r
-                       this.softCollectionFileExportToolStripMenuItem.Size = new System.Drawing.Size(152, 22);\r
+                       this.softCollectionFileExportToolStripMenuItem.Size = new System.Drawing.Size(165, 22);\r
                        this.softCollectionFileExportToolStripMenuItem.Text = "エクスポート(&E)...";\r
                        this.softCollectionFileExportToolStripMenuItem.Click += new System.EventHandler(this.SoftCollectionFileExportToolStripMenuItemClick);\r
                        // \r
                        // organizeToolStripSeparator2\r
                        // \r
                        organizeToolStripSeparator2.Name = "organizeToolStripSeparator2";\r
-                       organizeToolStripSeparator2.Size = new System.Drawing.Size(253, 6);\r
+                       organizeToolStripSeparator2.Size = new System.Drawing.Size(262, 6);\r
                        // \r
                        // packageListContextMenuStripSeparator\r
                        // \r
                        this.packageListContextMenuStripSeparator.Name = "packageListContextMenuStripSeparator";\r
-                       this.packageListContextMenuStripSeparator.Size = new System.Drawing.Size(211, 6);\r
+                       this.packageListContextMenuStripSeparator.Size = new System.Drawing.Size(220, 6);\r
                        // \r
                        // tableLayoutPanel1\r
                        // \r
                        // allPackageFilterToolStripMenuItem\r
                        // \r
                        this.allPackageFilterToolStripMenuItem.Name = "allPackageFilterToolStripMenuItem";\r
-                       this.allPackageFilterToolStripMenuItem.Size = new System.Drawing.Size(150, 22);\r
+                       this.allPackageFilterToolStripMenuItem.Size = new System.Drawing.Size(154, 22);\r
                        this.allPackageFilterToolStripMenuItem.Text = "全て";\r
                        this.allPackageFilterToolStripMenuItem.ToolTipText = "全てのソフトを表示";\r
                        this.allPackageFilterToolStripMenuItem.Click += new System.EventHandler(this.AnyPackageFilterToolStripMenuItemClicked);\r
                        // notInstalledPackageFilterToolStripMenuItem\r
                        // \r
                        this.notInstalledPackageFilterToolStripMenuItem.Name = "notInstalledPackageFilterToolStripMenuItem";\r
-                       this.notInstalledPackageFilterToolStripMenuItem.Size = new System.Drawing.Size(150, 22);\r
+                       this.notInstalledPackageFilterToolStripMenuItem.Size = new System.Drawing.Size(154, 22);\r
                        this.notInstalledPackageFilterToolStripMenuItem.Text = "未インストール";\r
                        this.notInstalledPackageFilterToolStripMenuItem.ToolTipText = "インストールされていないソフトを表示";\r
                        this.notInstalledPackageFilterToolStripMenuItem.Click += new System.EventHandler(this.AnyPackageFilterToolStripMenuItemClicked);\r
                        // installedASPackageFilterToolStripMenuItem\r
                        // \r
                        this.installedASPackageFilterToolStripMenuItem.Name = "installedASPackageFilterToolStripMenuItem";\r
-                       this.installedASPackageFilterToolStripMenuItem.Size = new System.Drawing.Size(150, 22);\r
+                       this.installedASPackageFilterToolStripMenuItem.Size = new System.Drawing.Size(154, 22);\r
                        this.installedASPackageFilterToolStripMenuItem.Text = "AppliStation内";\r
                        this.installedASPackageFilterToolStripMenuItem.ToolTipText = "AppliStationにインストールされているソフトを表示";\r
                        this.installedASPackageFilterToolStripMenuItem.Click += new System.EventHandler(this.AnyPackageFilterToolStripMenuItemClicked);\r
                        // installedSysPackageFilterToolStripMenuItem\r
                        // \r
                        this.installedSysPackageFilterToolStripMenuItem.Name = "installedSysPackageFilterToolStripMenuItem";\r
-                       this.installedSysPackageFilterToolStripMenuItem.Size = new System.Drawing.Size(150, 22);\r
+                       this.installedSysPackageFilterToolStripMenuItem.Size = new System.Drawing.Size(154, 22);\r
                        this.installedSysPackageFilterToolStripMenuItem.Text = "コンピュータ内";\r
                        this.installedSysPackageFilterToolStripMenuItem.ToolTipText = "コンピュータにインストールされているソフトを表示";\r
                        this.installedSysPackageFilterToolStripMenuItem.Click += new System.EventHandler(this.AnyPackageFilterToolStripMenuItemClicked);\r
                                                                        this.uninstallToolStripButton});\r
                        this.packageCommandsToolStrip.Location = new System.Drawing.Point(3, 25);\r
                        this.packageCommandsToolStrip.Name = "packageCommandsToolStrip";\r
-                       this.packageCommandsToolStrip.Size = new System.Drawing.Size(489, 25);\r
+                       this.packageCommandsToolStrip.Size = new System.Drawing.Size(187, 25);\r
                        this.packageCommandsToolStrip.TabIndex = 2;\r
                        // \r
                        // organizeToolStripDropDownButton1\r
                        this.organizeToolStripDropDownButton1.Image = ((System.Drawing.Image)(resources.GetObject("organizeToolStripDropDownButton1.Image")));\r
                        this.organizeToolStripDropDownButton1.Name = "organizeToolStripDropDownButton1";\r
                        this.organizeToolStripDropDownButton1.Overflow = System.Windows.Forms.ToolStripItemOverflow.Never;\r
-                       this.organizeToolStripDropDownButton1.Size = new System.Drawing.Size(74, 22);\r
+                       this.organizeToolStripDropDownButton1.Size = new System.Drawing.Size(76, 22);\r
                        this.organizeToolStripDropDownButton1.Text = "整理(&O)";\r
                        this.organizeToolStripDropDownButton1.ToolTipText = "ソフトリストの管理など";\r
                        // \r
                        this.updateToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("updateToolStripMenuItem.Image")));\r
                        this.updateToolStripMenuItem.Name = "updateToolStripMenuItem";\r
                        this.updateToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Shift | System.Windows.Forms.Keys.F5)));\r
-                       this.updateToolStripMenuItem.Size = new System.Drawing.Size(256, 22);\r
+                       this.updateToolStripMenuItem.Size = new System.Drawing.Size(265, 22);\r
                        this.updateToolStripMenuItem.Text = "リストの更新(&U)";\r
                        this.updateToolStripMenuItem.ToolTipText = "ソフトリストを更新します";\r
                        this.updateToolStripMenuItem.Click += new System.EventHandler(this.UpdateToolStripMenuItemClick);\r
                        // \r
                        this.localupdateToolStripMenuItem.Name = "localupdateToolStripMenuItem";\r
                        this.localupdateToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.F5;\r
-                       this.localupdateToolStripMenuItem.Size = new System.Drawing.Size(256, 22);\r
+                       this.localupdateToolStripMenuItem.Size = new System.Drawing.Size(265, 22);\r
                        this.localupdateToolStripMenuItem.Text = "インストール済ソフトの読み直し(&R)";\r
                        this.localupdateToolStripMenuItem.Click += new System.EventHandler(this.LocalupdateToolStripMenuItemClick);\r
                        // \r
                        // optionToolStripMenuItem\r
                        // \r
                        this.optionToolStripMenuItem.Name = "optionToolStripMenuItem";\r
-                       this.optionToolStripMenuItem.Size = new System.Drawing.Size(256, 22);\r
+                       this.optionToolStripMenuItem.Size = new System.Drawing.Size(265, 22);\r
                        this.optionToolStripMenuItem.Text = "設定(&O)...";\r
                        this.optionToolStripMenuItem.Click += new System.EventHandler(this.OptionToolStripMenuItemClick);\r
                        // \r
                        // \r
                        this.upgradeToolStripButton.Image = ((System.Drawing.Image)(resources.GetObject("upgradeToolStripButton.Image")));\r
                        this.upgradeToolStripButton.Name = "upgradeToolStripButton";\r
-                       this.upgradeToolStripButton.Size = new System.Drawing.Size(100, 22);\r
+                       this.upgradeToolStripButton.Size = new System.Drawing.Size(101, 22);\r
                        this.upgradeToolStripButton.Text = "ソフトの更新(&G)";\r
                        this.upgradeToolStripButton.ToolTipText = "最新版のソフトを取得して更新します";\r
                        this.upgradeToolStripButton.Click += new System.EventHandler(this.UpgradeToolStripButtonClick);\r
                                                                        this.propertiesMenuItem});\r
                        this.informationToolStripDropDownButton.Image = ((System.Drawing.Image)(resources.GetObject("informationToolStripDropDownButton.Image")));\r
                        this.informationToolStripDropDownButton.Name = "informationToolStripDropDownButton";\r
-                       this.informationToolStripDropDownButton.Size = new System.Drawing.Size(74, 22);\r
+                       this.informationToolStripDropDownButton.Size = new System.Drawing.Size(75, 22);\r
                        this.informationToolStripDropDownButton.Text = "情報(&D)";\r
                        this.informationToolStripDropDownButton.ToolTipText = "選択されたソフトの情報を調べます";\r
                        this.informationToolStripDropDownButton.Visible = false;\r
                        // \r
                        this.webResourceMenuItem.DropDown = this.webResourceCommonContextMenuStrip;\r
                        this.webResourceMenuItem.Name = "webResourceMenuItem";\r
-                       this.webResourceMenuItem.Size = new System.Drawing.Size(214, 22);\r
+                       this.webResourceMenuItem.Size = new System.Drawing.Size(223, 22);\r
                        this.webResourceMenuItem.Tag = "";\r
                        this.webResourceMenuItem.Text = "Webページ(&W)";\r
                        // \r
                                                                        this.webGoogleSearchMenuItem});\r
                        this.webResourceCommonContextMenuStrip.Name = "packageListContextMenuStrip";\r
                        this.webResourceCommonContextMenuStrip.OwnerItem = this.webResourceToolStripMenuItem;\r
-                       this.webResourceCommonContextMenuStrip.Size = new System.Drawing.Size(152, 48);\r
+                       this.webResourceCommonContextMenuStrip.Size = new System.Drawing.Size(158, 48);\r
                        this.webResourceCommonContextMenuStrip.Opening += new System.ComponentModel.CancelEventHandler(this.WebResourceCommonContextMenuStripOpening);\r
                        // \r
                        // webOfficialMenuItem\r
                        // \r
                        this.webOfficialMenuItem.Name = "webOfficialMenuItem";\r
-                       this.webOfficialMenuItem.Size = new System.Drawing.Size(151, 22);\r
+                       this.webOfficialMenuItem.Size = new System.Drawing.Size(157, 22);\r
                        this.webOfficialMenuItem.Text = "公式サイト(&O)";\r
                        this.webOfficialMenuItem.Click += new System.EventHandler(this.WebOfficialMenuItemClick);\r
                        // \r
                        // webGoogleSearchMenuItem\r
                        // \r
                        this.webGoogleSearchMenuItem.Name = "webGoogleSearchMenuItem";\r
-                       this.webGoogleSearchMenuItem.Size = new System.Drawing.Size(151, 22);\r
+                       this.webGoogleSearchMenuItem.Size = new System.Drawing.Size(157, 22);\r
                        this.webGoogleSearchMenuItem.Text = "Google検索(&G)";\r
                        this.webGoogleSearchMenuItem.Click += new System.EventHandler(this.WebGoogleSearchMenuItemClick);\r
                        // \r
                        // \r
                        this.installedDirectoryMenuItem.InvokerForm = this;\r
                        this.installedDirectoryMenuItem.Name = "installedDirectoryMenuItem";\r
-                       this.installedDirectoryMenuItem.Size = new System.Drawing.Size(214, 22);\r
+                       this.installedDirectoryMenuItem.Size = new System.Drawing.Size(223, 22);\r
                        this.installedDirectoryMenuItem.Text = "インストール先のフォルダー(&O)";\r
                        // \r
                        // propertiesMenuItem\r
                        // \r
                        this.propertiesMenuItem.Name = "propertiesMenuItem";\r
-                       this.propertiesMenuItem.Size = new System.Drawing.Size(214, 22);\r
+                       this.propertiesMenuItem.Size = new System.Drawing.Size(223, 22);\r
                        this.propertiesMenuItem.Text = "プロパティ(&R)";\r
                        this.propertiesMenuItem.Click += new System.EventHandler(this.PropertiesCommonMenuItemClick);\r
                        // \r
                        this.installToolStripButton.Image = ((System.Drawing.Image)(resources.GetObject("installToolStripButton.Image")));\r
                        this.installToolStripButton.Name = "installToolStripButton";\r
                        this.installToolStripButton.Overflow = System.Windows.Forms.ToolStripItemOverflow.Never;\r
-                       this.installToolStripButton.Size = new System.Drawing.Size(91, 22);\r
+                       this.installToolStripButton.Size = new System.Drawing.Size(94, 22);\r
                        this.installToolStripButton.Text = "インストール(&I)";\r
                        this.installToolStripButton.ToolTipText = "選択されているソフトをインストールします";\r
                        this.installToolStripButton.Visible = false;\r
                        this.uninstallToolStripButton.Image = ((System.Drawing.Image)(resources.GetObject("uninstallToolStripButton.Image")));\r
                        this.uninstallToolStripButton.Name = "uninstallToolStripButton";\r
                        this.uninstallToolStripButton.Overflow = System.Windows.Forms.ToolStripItemOverflow.Never;\r
-                       this.uninstallToolStripButton.Size = new System.Drawing.Size(114, 22);\r
+                       this.uninstallToolStripButton.Size = new System.Drawing.Size(115, 22);\r
                        this.uninstallToolStripButton.Text = "アンインストール(&U)";\r
                        this.uninstallToolStripButton.ToolTipText = "選択されているソフトをアンインストールします";\r
                        this.uninstallToolStripButton.Visible = false;\r
                        this.packageListContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {\r
                                                                        this.installToolStripMenuItem,\r
                                                                        this.uninstallToolStripMenuItem,\r
+                                                                       this.downloadToolStripMenuItem,\r
                                                                        this.packageListContextMenuStripSeparator,\r
                                                                        this.webResourceToolStripMenuItem,\r
                                                                        this.installedDirectoryToolStripMenuItem,\r
                                                                        this.propertiesToolStripMenuItem,\r
                                                                        this.columnToolStripMenuItem});\r
                        this.packageListContextMenuStrip.Name = "packageListContextMenuStrip";\r
-                       this.packageListContextMenuStrip.Size = new System.Drawing.Size(215, 142);\r
+                       this.packageListContextMenuStrip.Size = new System.Drawing.Size(224, 186);\r
                        this.packageListContextMenuStrip.Opening += new System.ComponentModel.CancelEventHandler(this.PackageListContextMenuStripOpening);\r
                        // \r
                        // installToolStripMenuItem\r
                        // \r
                        this.installToolStripMenuItem.Name = "installToolStripMenuItem";\r
-                       this.installToolStripMenuItem.Size = new System.Drawing.Size(214, 22);\r
+                       this.installToolStripMenuItem.Size = new System.Drawing.Size(223, 22);\r
                        this.installToolStripMenuItem.Text = "インストール(&I)...";\r
                        this.installToolStripMenuItem.Click += new System.EventHandler(this.InstallToolStripButtonClick);\r
                        // \r
                        // uninstallToolStripMenuItem\r
                        // \r
                        this.uninstallToolStripMenuItem.Name = "uninstallToolStripMenuItem";\r
-                       this.uninstallToolStripMenuItem.Size = new System.Drawing.Size(214, 22);\r
+                       this.uninstallToolStripMenuItem.Size = new System.Drawing.Size(223, 22);\r
                        this.uninstallToolStripMenuItem.Text = "アンインストール(&U)...";\r
                        this.uninstallToolStripMenuItem.Click += new System.EventHandler(this.UninstallToolStripButtonClick);\r
                        // \r
+                       // downloadToolStripMenuItem\r
+                       // \r
+                       this.downloadToolStripMenuItem.Name = "downloadToolStripMenuItem";\r
+                       this.downloadToolStripMenuItem.Size = new System.Drawing.Size(223, 22);\r
+                       this.downloadToolStripMenuItem.Text = "キャッシュにダウンロード(&D)...";\r
+                       this.downloadToolStripMenuItem.Click += new System.EventHandler(this.DownloadToolStripMenuItemClick);\r
+                       // \r
                        // webResourceToolStripMenuItem\r
                        // \r
                        this.webResourceToolStripMenuItem.DropDown = this.webResourceCommonContextMenuStrip;\r
                        this.webResourceToolStripMenuItem.Name = "webResourceToolStripMenuItem";\r
-                       this.webResourceToolStripMenuItem.Size = new System.Drawing.Size(214, 22);\r
+                       this.webResourceToolStripMenuItem.Size = new System.Drawing.Size(223, 22);\r
                        this.webResourceToolStripMenuItem.Tag = "";\r
                        this.webResourceToolStripMenuItem.Text = "Webページ(&W)";\r
                        // \r
                        // \r
                        this.installedDirectoryToolStripMenuItem.InvokerForm = this;\r
                        this.installedDirectoryToolStripMenuItem.Name = "installedDirectoryToolStripMenuItem";\r
-                       this.installedDirectoryToolStripMenuItem.Size = new System.Drawing.Size(214, 22);\r
+                       this.installedDirectoryToolStripMenuItem.Size = new System.Drawing.Size(223, 22);\r
                        this.installedDirectoryToolStripMenuItem.Text = "インストール先のフォルダー(&O)";\r
                        // \r
                        // propertiesToolStripMenuItem\r
                        // \r
                        this.propertiesToolStripMenuItem.Name = "propertiesToolStripMenuItem";\r
-                       this.propertiesToolStripMenuItem.Size = new System.Drawing.Size(214, 22);\r
+                       this.propertiesToolStripMenuItem.Size = new System.Drawing.Size(223, 22);\r
                        this.propertiesToolStripMenuItem.Text = "プロパティ(&R)";\r
                        this.propertiesToolStripMenuItem.Click += new System.EventHandler(this.PropertiesCommonMenuItemClick);\r
                        // \r
                                                                        this.licenseToolStripMenuItem,\r
                                                                        this.installDateToolStripMenuItem});\r
                        this.columnToolStripMenuItem.Name = "columnToolStripMenuItem";\r
-                       this.columnToolStripMenuItem.Size = new System.Drawing.Size(214, 22);\r
+                       this.columnToolStripMenuItem.Size = new System.Drawing.Size(223, 22);\r
                        this.columnToolStripMenuItem.Text = "列の選択(&S)";\r
                        // \r
                        // nameColumnToolStripMenuItem\r
                        this.nameColumnToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;\r
                        this.nameColumnToolStripMenuItem.Enabled = false;\r
                        this.nameColumnToolStripMenuItem.Name = "nameColumnToolStripMenuItem";\r
-                       this.nameColumnToolStripMenuItem.Size = new System.Drawing.Size(161, 22);\r
+                       this.nameColumnToolStripMenuItem.Size = new System.Drawing.Size(170, 22);\r
                        this.nameColumnToolStripMenuItem.Tag = "Name";\r
                        this.nameColumnToolStripMenuItem.Text = "名前";\r
                        this.nameColumnToolStripMenuItem.Click += new System.EventHandler(this.ColumnCommonToolStripMenuItemClick);\r
                        this.versionColumnToolStripMenuItem.CheckOnClick = true;\r
                        this.versionColumnToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;\r
                        this.versionColumnToolStripMenuItem.Name = "versionColumnToolStripMenuItem";\r
-                       this.versionColumnToolStripMenuItem.Size = new System.Drawing.Size(161, 22);\r
+                       this.versionColumnToolStripMenuItem.Size = new System.Drawing.Size(170, 22);\r
                        this.versionColumnToolStripMenuItem.Tag = "Version";\r
                        this.versionColumnToolStripMenuItem.Text = "バージョン";\r
                        this.versionColumnToolStripMenuItem.Click += new System.EventHandler(this.ColumnCommonToolStripMenuItemClick);\r
                        this.summaryColumnToolStripMenuItem.CheckOnClick = true;\r
                        this.summaryColumnToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;\r
                        this.summaryColumnToolStripMenuItem.Name = "summaryColumnToolStripMenuItem";\r
-                       this.summaryColumnToolStripMenuItem.Size = new System.Drawing.Size(161, 22);\r
+                       this.summaryColumnToolStripMenuItem.Size = new System.Drawing.Size(170, 22);\r
                        this.summaryColumnToolStripMenuItem.Tag = "Summary";\r
                        this.summaryColumnToolStripMenuItem.Text = "概要";\r
                        this.summaryColumnToolStripMenuItem.Click += new System.EventHandler(this.ColumnCommonToolStripMenuItemClick);\r
                        // \r
                        this.packageListNameToolStripMenuItem.CheckOnClick = true;\r
                        this.packageListNameToolStripMenuItem.Name = "packageListNameToolStripMenuItem";\r
-                       this.packageListNameToolStripMenuItem.Size = new System.Drawing.Size(161, 22);\r
+                       this.packageListNameToolStripMenuItem.Size = new System.Drawing.Size(170, 22);\r
                        this.packageListNameToolStripMenuItem.Tag = "PackageListName";\r
                        this.packageListNameToolStripMenuItem.Text = "パッケージリスト名";\r
                        this.packageListNameToolStripMenuItem.Click += new System.EventHandler(this.ColumnCommonToolStripMenuItemClick);\r
                        // \r
                        this.licenseToolStripMenuItem.CheckOnClick = true;\r
                        this.licenseToolStripMenuItem.Name = "licenseToolStripMenuItem";\r
-                       this.licenseToolStripMenuItem.Size = new System.Drawing.Size(161, 22);\r
+                       this.licenseToolStripMenuItem.Size = new System.Drawing.Size(170, 22);\r
                        this.licenseToolStripMenuItem.Tag = "License";\r
                        this.licenseToolStripMenuItem.Text = "ライセンス";\r
                        this.licenseToolStripMenuItem.Click += new System.EventHandler(this.ColumnCommonToolStripMenuItemClick);\r
                        // \r
                        this.installDateToolStripMenuItem.CheckOnClick = true;\r
                        this.installDateToolStripMenuItem.Name = "installDateToolStripMenuItem";\r
-                       this.installDateToolStripMenuItem.Size = new System.Drawing.Size(161, 22);\r
+                       this.installDateToolStripMenuItem.Size = new System.Drawing.Size(170, 22);\r
                        this.installDateToolStripMenuItem.Tag = "InstallDate";\r
                        this.installDateToolStripMenuItem.Text = "インストールした日";\r
                        this.installDateToolStripMenuItem.Click += new System.EventHandler(this.ColumnCommonToolStripMenuItemClick);\r
                        this.detailBox.Text = "";\r
                        this.detailBox.LinkClicked += new System.Windows.Forms.LinkClickedEventHandler(this.DetailBoxLinkClicked);\r
                        // \r
+                       // toolStripButton1\r
+                       // \r
+                       this.toolStripButton1.Name = "toolStripButton1";\r
+                       this.toolStripButton1.Size = new System.Drawing.Size(23, 4);\r
+                       // \r
                        // PackageListViewForm\r
                        // \r
                        this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);\r
                        this.packageListContextMenuStrip.ResumeLayout(false);\r
                        this.ResumeLayout(false);\r
                }\r
+               private System.Windows.Forms.ToolStripMenuItem downloadToolStripMenuItem;\r
+               private System.Windows.Forms.ToolStripButton toolStripButton1;\r
                private System.Windows.Forms.ToolStripMenuItem softCollectionFileExportToolStripMenuItem;\r
                private System.Windows.Forms.ToolStripMenuItem softCollectionFileImportToolStripMenuItem;\r
                private System.Windows.Forms.ToolStripMenuItem installDateToolStripMenuItem;\r
index 5e4dedb..5d3e318 100644 (file)
@@ -108,6 +108,7 @@ namespace AppliStation
                        webResourceToolStripMenuItem.Visible = (pkgCount == 1);\r
                        uninstallToolStripMenuItem.Visible = uninstallBtnEnabled;\r
                        installToolStripMenuItem.Visible = installBtnEnabled;\r
+                       downloadToolStripMenuItem.Visible = (pkgCount > 0);\r
                        \r
                        // detailBoxのメッセージ設定\r
                        switch (pkgCount) {\r
@@ -547,6 +548,27 @@ namespace AppliStation
                        }\r
                }\r
                \r
+               internal void downloadActionInvoke(Installation[] pkgs)\r
+               {\r
+                       AppliStation.Util.ExecutionProgressViewer prog = new AppliStation.Util.ExecutionProgressViewer();\r
+                       prog.Shown += delegate(object sender2, EventArgs e2) {\r
+                               NaGet.SubCommands.NaGetDownloadToCache tasks = new NaGet.SubCommands.NaGetDownloadToCache(pkgListsMan, pkgs);\r
+                               prog.SetTaskSet(tasks);\r
+                               prog.Refresh();\r
+                               prog.StartTaskSet();\r
+                       };\r
+                       prog.Text = string.Format("キャッシュへのダウンロード");\r
+                       prog.ShowDialog(this);\r
+               }\r
+               \r
+               void DownloadToolStripMenuItemClick(object sender, EventArgs e)\r
+               {\r
+                       Installation[] insts = Installation.ConvertInstallations( NaGet.Utils.IEnumerable2Array(packageListView.SelectedPackages) );\r
+                       \r
+                       downloadActionInvoke(insts);\r
+                       \r
+                       UpdatePackageList();\r
+               }\r
                \r
                void WebOfficialMenuItemClick(object sender, EventArgs e)\r
                {\r
index 7a286a4..dd2e623 100644 (file)
@@ -223,35 +223,56 @@ namespace AllGet
                                Environment.Exit(0);\r
                        }\r
                        \r
-                       {\r
-                               int i = 0;\r
-                               foreach (Installation inst in installations) {\r
-                                       i++;\r
-                                       \r
-                                       if (! inst.IsInstallablePackage()) {\r
-                                               Console.WriteLine("E:{0} {1} can not be installed.", i, inst.ToString());\r
-                                               continue;\r
-                                       }\r
-                                       \r
-                                       try {\r
-                                               Console.Write("Get:{0} {1}", i, inst.ToString());\r
-                                               inst.Download(downloader);\r
-                                               Console.WriteLine(" ...Done");\r
-                                       } catch (Exception e) {\r
-                                               Console.WriteLine("E: "+e.Message);\r
-                                               throw new ApplicationException(string.Format("Failed to download {0}", inst.ToString()), e);\r
-                                       }\r
+                       NaGet.SubCommands.NaGetDownloadToCache tasks = new NaGet.SubCommands.NaGetDownloadToCache(pkgListMan, installations);\r
+                       tasks.TaskQueryRaised += delegate(object sender, NaGetTaskQueryArgs e) {\r
+                               char result = '\u0000';\r
+                               if (e.SelectionFlag == (NaGetTaskQueryResult.CONTINUE | NaGetTaskQueryResult.RETRY | NaGetTaskQueryResult.CANCEL)) {\r
+                                       result = AllGet.Util.Query(e.Message + " [y/R/n]?", "yrn", 'r');\r
+                               } else if (e.SelectionFlag == (NaGetTaskQueryResult.RETRY | NaGetTaskQueryResult.CANCEL)) {\r
+                                       result = AllGet.Util.Query(e.Message + " [R/n]?", "rn", 'r');\r
+                               } else if (e.SelectionFlag == NaGetTaskQueryResult.CONTINUE) {\r
+                                       result = AllGet.Util.Query(e.Message + " [Y]?", "y", 'y');\r
+                               } else {\r
+                                       result = AllGet.Util.Query(e.Message + " [Y/n]?", "yn", 'y');\r
                                }\r
                                \r
-                               i = 0;\r
-                               foreach (Installation inst in installations) {\r
-                                       i++;\r
-                                       \r
-                                       if (inst.IsInstallablePackage() && inst.VerifyHashValues() == false) {\r
-                                               Console.WriteLine("Verify:{0} {1} does not match hash value!", i, inst.ToString());\r
-                                       }\r
+                               switch (result) {\r
+                                       case 'y':\r
+                                               return NaGetTaskQueryResult.CONTINUE;\r
+                                       case 'n':\r
+                                               return NaGetTaskQueryResult.CANCEL;\r
+                                       case 'r':\r
+                                               return NaGetTaskQueryResult.RETRY;\r
+                                       default:\r
+                                               return NaGetTaskQueryResult.CANCELED_AUTOMATICALLY;\r
                                }\r
-                       }\r
+                       };\r
+                       tasks.TaskSetRaised += delegate(object sender, NaGetTaskSetEventArgs e) { \r
+                               switch (e.Type) {\r
+//                                     case NaGetTaskSetEventType.COMPLETED_TASKSET\r
+//                                             break;\r
+                                       case NaGetTaskSetEventType.COMPLETED:\r
+                                               Console.WriteLine("Done.");\r
+                                               break;\r
+                                       case NaGetTaskSetEventType.STARTED_TASKSET:\r
+                                               Console.Write("  " + e.TaskMessage);\r
+                                               break;\r
+                                       case NaGetTaskSetEventType.COMPLETED_TASKSET:\r
+                                               Console.WriteLine(" ... Done. [{0}%]", (int) e.TaskProgressPercent);\r
+                                               break;\r
+                                       case NaGetTaskSetEventType.INFO:\r
+                                               Console.WriteLine("  " + e.TaskMessage);\r
+                                               break;\r
+                                       case NaGetTaskSetEventType.ERROR:\r
+                                       case NaGetTaskSetEventType.WARNING:\r
+                                               Console.WriteLine("  [Error] " + e.TaskMessage);\r
+                                               break;\r
+                               }\r
+                       };\r
+                       DownloadListener dl = new DownloadListener();\r
+                       tasks.Downloader.DownloadEventRaised += dl.OnDownload;\r
+                       \r
+                       tasks.Run();\r
                }\r
                \r
                public void Install(string[] packagenames)\r
diff --git a/na-get-lib/NaGet.SubCommands/NaGetDownloadToCache.cs b/na-get-lib/NaGet.SubCommands/NaGetDownloadToCache.cs
new file mode 100644 (file)
index 0000000..40254f5
--- /dev/null
@@ -0,0 +1,316 @@
+using System;
+using System.Collections.Generic;
+using NaGet.Packages.Install;
+using NaGet.Packages;
+using NaGet.Net;
+
+namespace NaGet.SubCommands
+{
+       public class NaGetDownloadToCache : NaGetTaskSet
+       {
+               private bool done = false;
+               
+               private int currentTaskSetIndex = -1;
+               
+               private PackageListsManager pkgListMan;
+               
+               /// <summary>
+               /// ダウンロードに使うダウンローダオブジェクト
+               /// </summary>
+               public Downloader Downloader {
+                       get {
+                               if (downloader == null) {
+                                       downloader = new Downloader();
+                                       downloader.DownloadEventRaised += delegate(object sender, DownloadEventArgs e) {
+                                               if (e.Type == DownloadEventType.DOWNLOADING && e.TaskProgressPercent > 0) {
+                                                       RaiseTaskSetEvent(NaGetTaskSetEventType.PING, string.Empty, GetProgressPercent(NaGetTaskSetEventType.PING, e.TaskProgressPercent));
+                                               }
+                                       };
+                               }
+                               return downloader;
+                       }
+               }
+               
+               private Downloader downloader;
+               
+               private bool packageInstallerDownloaded = false;
+               
+               public override bool Cancelable {
+                       get { return ! done; }
+               }
+               
+               /// <summary>
+               /// ダウンロードするパッケージ
+               /// </summary>
+               public Installation[] Installations;
+               
+               /// <summary>
+               /// コンストラクタ
+               /// </summary>
+               /// <param name="pkgs">インストールするパッケージ</param>
+               public NaGetDownloadToCache(PackageListsManager pkgListMan, Package[] pkgs)
+                       : this(pkgListMan, Installation.ConvertInstallations(pkgs))
+               {
+               }
+               
+               /// <summary>
+               /// コンストラクタ
+               /// </summary>
+               /// <param name="installations">インストール処理の配列</param>
+               public NaGetDownloadToCache(PackageListsManager pkgMan, Installation[] installations)
+               {
+                       pkgListMan = pkgMan;
+                       
+                       Installations = installations;
+                       initializeMainTaskSetNames();
+               }
+               
+               private void initializeMainTaskSetNames()
+               {
+                       List<string> taskSetNames = new List<string>();
+                       
+                       for (int i =0; i < Installations.Length; i++) {
+                               taskSetNames.Add(string.Format("取得: {0}", Installations[i].ToString()));
+                               taskSetNames.Add(string.Format("ウイルススキャン: {0}", Installations[i].ToString()));
+                       }
+                       taskSetNames.Add("インストーラーの検証");
+                       taskSetNames.Add(string.Format("リスト更新: {0}", NaGet.Env.ArchiveInstalledPackageListFile));
+                       taskSetNames.Add(string.Format("リスト更新: {0}", NaGet.Env.SystemInstalledPackageListFile));
+                       
+                       TaskSetNames = taskSetNames.ToArray();
+               }
+                               
+               public override void Run()
+               {
+                       currentTaskSetIndex = 0;
+                       RaiseTaskSetEvent(NaGetTaskSetEventType.STARTED, "インストール処理開始");
+                       
+                       {
+                               // ハッシュ非適合なインストーラの表
+                               List<Installation> invalidInstallers = null;
+                               
+                               do {
+                                       currentTaskSetIndex = 0;
+                                       packageInstallerDownloaded = false;
+                                       
+                                       runDownloadAndVirusCheckInstallers();
+                                       if (done) return; // もしrunDownloadInstallers()内でエラー終了していたなら終了
+                                       
+                                       packageInstallerDownloaded = true;
+                                       
+                                       
+                                       RaiseTaskSetEvent(NaGetTaskSetEventType.STARTED_TASKSET, TaskSetNames[currentTaskSetIndex]);
+                                       
+                                       // ハッシュの壊れているインストーラーを取得
+                                       invalidInstallers = runCheckHashForInstaller();
+                                       
+                                       // ハッシュが壊れているときの対策
+                                       if (invalidInstallers.Count > 0) {
+                                               System.Text.StringBuilder invalidInstallerNames = new System.Text.StringBuilder();
+                                               foreach (Installation invalidInst in invalidInstallers) {
+                                                       invalidInstallerNames.AppendFormat(" - {0}\n", invalidInst.ToString());
+                                               }
+                                               
+                                               string msg = string.Format("以下の{0}個のパッケージでファイルが壊れている可能性があります。\n{1}\n強制的にインストールを続行しますか?",
+                                                                          invalidInstallers.Count, invalidInstallerNames.ToString());
+                                               NaGetTaskQueryResult result = NaGetTaskQueryResult.CANCEL;
+                                               
+                                               if (!cancelCalled) {
+                                                       result = RaiseTaskSetQueryEvent(msg, NaGetTaskQueryResult.CONTINUE
+                                                                                       | NaGetTaskQueryResult.RETRY
+                                                                                       | NaGetTaskQueryResult.CANCEL);
+                                               }
+                                               
+                                               switch (result) {
+                                                       case NaGetTaskQueryResult.CONTINUE:
+                                                               RaiseTaskSetEvent(NaGetTaskSetEventType.WARNING, "ハッシュの非整合を無視してインストールを継続");
+                                                               invalidInstallers.Clear(); // ハッシュ非適合パッケージを強制的に抹消
+                                                               break;
+                                                       case NaGetTaskQueryResult.RETRY:
+                                                               RaiseTaskSetEvent(NaGetTaskSetEventType.INFO, "ダウンロード処理を再試行");
+                                                               
+                                                               foreach (Installation invalidInst in invalidInstallers) {
+                                                                       invalidInst.RemoveDownloadedFile();
+                                                               }
+                                                               
+                                                               break;
+                                                       //case NaGetTaskQueryResult.CANCEL:
+                                                       default:
+                                                               RaiseTaskSetEvent(NaGetTaskSetEventType.CANCELED, "パッケージのインストール処理がキャンセルされました");
+                                                               done = true;
+                                                               return;
+                                               }
+                                       }
+                                       
+                                       // もしハッシュが不適合なソフトがあるならばダウンロード処理からやり直す
+                               } while (invalidInstallers == null || invalidInstallers.Count > 0);
+                               RaiseTaskSetEvent(NaGetTaskSetEventType.COMPLETED_TASKSET, TaskSetNames[currentTaskSetIndex]);
+                               currentTaskSetIndex ++;
+                       }
+                       
+                       runLocalUpdate();
+                       
+                       done = true;
+                       
+                       RaiseTaskSetEvent(NaGetTaskSetEventType.COMPLETED, "終了", 100);
+               }
+               
+               
+               /// <summary>
+               /// 処理内容のダウンロード・ウイルススキャン部分のサブルーチン
+               /// </summary>
+               private void runDownloadAndVirusCheckInstallers()
+               {
+                       using (DownloadScanner scanner = new DownloadScanner()) {
+                               scanner.Init();
+                               foreach (Installation inst in Installations) {
+                                       RaiseTaskSetEvent(NaGetTaskSetEventType.STARTED_TASKSET, TaskSetNames[currentTaskSetIndex]);
+                                       
+                                       if (! inst.Downloaded) {
+                                               try {
+                                                       inst.Download(Downloader);
+                                               } catch (NaGetTaskCanceledException) {
+                                                       RaiseTaskSetEvent(NaGetTaskSetEventType.CANCELED, "インストーラーのダウンロード処理がキャンセルされました");
+                                                       done = true;
+                                                       return;
+                                               } catch (System.Net.WebException e) {
+                                                       RaiseTaskSetEvent(NaGetTaskSetEventType.WARNING, e.Message);
+                                                       if (System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable()) {
+                                                               RaiseTaskSetEvent(NaGetTaskSetEventType.ERROR, "ネットワークに接続されていません。");
+                                                       } else {
+                                                               RaiseTaskSetEvent(NaGetTaskSetEventType.ERROR, "ネットワークに接続できませんでした。ネットワークが切断されているか、ファイアウォールによって遮断された可能性があります。");
+                                                       }
+                                                       done = true;
+                                                       return;
+                                               } catch (Exception e) {
+                                                       RaiseTaskSetEvent(NaGetTaskSetEventType.ERROR, e.Message);
+                                                       done = true;
+                                                       return;
+                                               }
+                                       }
+                                       
+                                       if (! inst.Downloaded) { // ダウンロードが完了せずに終わった=失敗=エラー
+                                               RaiseTaskSetEvent(NaGetTaskSetEventType.ERROR, string.Format("{0}のインストーラーファイルを正常にダウンロードできませんでした", inst.ToString()));
+                                               done = true;
+                                               return;
+                                       }
+                                       RaiseTaskSetEvent(NaGetTaskSetEventType.COMPLETED_TASKSET, TaskSetNames[currentTaskSetIndex]);
+                                       currentTaskSetIndex ++;
+                                       
+                                       RaiseTaskSetEvent(NaGetTaskSetEventType.STARTED_TASKSET, TaskSetNames[currentTaskSetIndex]);
+                                       if (! NaGet.Env.EnableScanInstallerFile) {
+                                               RaiseTaskSetEvent(NaGetTaskSetEventType.INFO, "ウイルススキャンを行わない設定のため、ダウンロードしたファイルはウイルススキャンされませんでした");
+                                       } else if (!scanner.HasScanner) {
+                                               RaiseTaskSetEvent(NaGetTaskSetEventType.INFO, "ダウンロードしたファイルはウイルススキャンされませんでした(ウイルススキャンソフトが検出できませんでした)");
+                                       } else {
+                                               try {
+                                                       DownloadScannerResult result = inst.ScanInstallerFile(scanner);
+                                                       
+                                                       switch (result) {
+                                                               case DownloadScannerResult.ScannerNotFound:
+                                                                       RaiseTaskSetEvent(NaGetTaskSetEventType.INFO, "ダウンロードしたファイルはウイルススキャンされませんでした(ウイルススキャンソフトが検出できませんでした)");
+                                                                       break;
+                                                               case DownloadScannerResult.InfectedAndCleaned:
+                                                                       RaiseTaskSetEvent(NaGetTaskSetEventType.ERROR,
+                                                                                 "インストーラーファイルからウイルス感染が検出されたため、削除されました。");
+                                                                       done = true;
+                                                                       return;
+                                                               case DownloadScannerResult.InfectedButNotCleaned:
+                                                                       RaiseTaskSetEvent(NaGetTaskSetEventType.ERROR,
+                                                                                 "インストーラーファイルからウイルス感染が検出されました。");
+                                                                       done = true;
+                                                                       break;
+                                                               case DownloadScannerResult.ErrorNotFound:
+                                                                       throw new System.IO.FileNotFoundException(string.Empty);
+                                                                       //break;
+                                                       }
+                                                       
+                                               } catch (System.Runtime.InteropServices.COMException ex) {
+                                                       RaiseTaskSetEvent(NaGetTaskSetEventType.WARNING,
+                                                                         string.Format("{0} (E{1})", ex.Message, ex.ErrorCode));
+                                               } catch (System.IO.FileNotFoundException ex) {
+                                                       if (ex.InnerException is System.Runtime.InteropServices.COMException) {
+                                                               RaiseTaskSetEvent(NaGetTaskSetEventType.WARNING,
+                                                                                 string.Format("{0} (E{1})", ex.InnerException.Message, ((System.Runtime.InteropServices.COMException) ex.InnerException).ErrorCode));
+                                                       }
+                                                       RaiseTaskSetEvent(NaGetTaskSetEventType.ERROR, "インストーラーファイルがウイルススキャナーによって削除されました。");
+                                                       done = true;
+                                                       return;
+                                               }
+                                       }
+                                       RaiseTaskSetEvent(NaGetTaskSetEventType.COMPLETED_TASKSET, TaskSetNames[currentTaskSetIndex]);
+                                       currentTaskSetIndex ++;
+                                       
+                                       if (cancelCalled) {
+                                               RaiseTaskSetEvent(NaGetTaskSetEventType.CANCELED, "パッケージのインストール処理がキャンセルされました");
+                                               done = true;
+                                               return;
+                                       }
+                               }
+                       }
+               }
+               
+               /// <summary>
+               /// ダウンロードしたパッケージが整合したか否かハッシュでチェック
+               /// </summary>
+               /// <returns>整合しなかったインストーラーのリスト</returns>
+               private List<Installation> runCheckHashForInstaller()
+               {
+                       List<Installation> invalidInstallers = new List<Installation>();
+                       
+                       int i = 0;
+                       foreach (Installation inst in Installations) {
+                               float percent = (CurrentTaskSetIndex+((float)i / Installations.Length))*100f/TaskSetNames.Length;
+                               
+                               if (inst.GetRegisteredHashCount() > 0) {
+                                       RaiseTaskSetEvent(NaGetTaskSetEventType.INFO, "検証: "+inst.ToString(), percent);
+                                       
+                                       if (inst.IsInstallablePackage() && inst.VerifyHashValues() == false) {
+                                               invalidInstallers.Add(inst);
+                                               RaiseTaskSetEvent(NaGetTaskSetEventType.WARNING, "検証: "+inst.ToString() + " 非整合", percent);
+                                       } else {
+                                               RaiseTaskSetEvent(NaGetTaskSetEventType.INFO, "検証: "+inst.ToString() + " OK", percent);
+                                       }
+                               }
+                               i++;
+                       }
+                       
+                       return invalidInstallers;
+               }
+               
+               private void runLocalUpdate()
+               {
+                       // インストールトリストの更新
+                       RaiseTaskSetEvent(NaGetTaskSetEventType.STARTED_TASKSET, TaskSetNames[currentTaskSetIndex]);
+                       pkgListMan.DetectInstalledPkgs();
+                       pkgListMan.SaveInstalledPackageList();
+                       RaiseTaskSetEvent(NaGetTaskSetEventType.COMPLETED_TASKSET, TaskSetNames[currentTaskSetIndex]);
+                       currentTaskSetIndex++;
+               
+                       // システムにインストールされているリストの更新
+                       RaiseTaskSetEvent(NaGetTaskSetEventType.STARTED_TASKSET, TaskSetNames[currentTaskSetIndex]);
+                       pkgListMan.DetectSystemInstalledPkgs();
+                       pkgListMan.SaveSystemInstalledPackageList();
+                       RaiseTaskSetEvent(NaGetTaskSetEventType.COMPLETED_TASKSET, TaskSetNames[currentTaskSetIndex]);
+                       currentTaskSetIndex++;
+               }
+               
+               public override bool Done {
+                       get { return done; }
+               }
+               
+               public override int CurrentTaskSetIndex {
+                       get { return currentTaskSetIndex; }
+               }
+               
+               private bool cancelCalled = false;
+               
+               public override bool Cancel()
+               {
+                       cancelCalled = true;
+                       if (! packageInstallerDownloaded) {
+                               return Downloader.Cancel();
+                       } else return true;
+               }
+       }
+}
index 390f1a0..9c6ffdf 100644 (file)
@@ -233,7 +233,7 @@ namespace NaGet.SubCommands
                                                }\r
                                        }\r
                                        \r
-                                       if (! inst.Downloaded) { // ã\82¤ã\83³ã\82¹ã\83\88ã\83¼ã\83«が完了せずに終わった=失敗=エラー\r
+                                       if (! inst.Downloaded) { // ã\83\80ã\82¦ã\83³ã\83­ã\83¼ã\83\89が完了せずに終わった=失敗=エラー\r
                                                RaiseTaskSetEvent(NaGetTaskSetEventType.ERROR, string.Format("{0}のインストーラーファイルを正常にダウンロードできませんでした", inst.ToString()));\r
                                                done = true;\r
                                                return;\r
index 66c2e59..6cfeb08 100644 (file)
@@ -67,6 +67,7 @@
     <Compile Include="NaGet.Packages\PackageListsManager.cs" />\r
     <Compile Include="NaGet.Packages\RepositoriesList.cs" />\r
     <Compile Include="NaGet.Packages\VersionComparetor.cs" />\r
+    <Compile Include="NaGet.SubCommands\NaGetDownloadToCache.cs" />\r
     <Compile Include="NaGet.SubCommands\NaGetInstall.cs" />\r
     <Compile Include="NaGet.SubCommands\NaGetTask.cs" />\r
     <Compile Include="NaGet.SubCommands\NaGetTaskSet.cs" />\r