- /// <param name="installedPkgs">\r
- /// インストールドリスト\r
- /// </param>\r
- /// <returns>\r
- /// インストールされているパッケージの情報。インストールされたパッケージが見つからないならばnullを返す \r
- /// </returns>\r
- public InstalledPackage GetInstalledPackage(PackageList<InstalledPackage> installedPkgs)\r
- {\r
- return installedPkgs.GetPackageForName(InstalledPackage.Name);\r
+ public bool Downloaded {\r
+ get {\r
+ return File.Exists(InstallerFile) && ((File.GetAttributes(InstallerFile) & FileAttributes.Hidden) != FileAttributes.Hidden);\r
+ }\r
+ }\r
+ \r
+ /// <summary>\r
+ /// インストール作業済みであるか否か。実際にインストールされたかどうかではありません。\r
+ /// </summary>\r
+ public bool Installed {\r
+ get { return installed; }\r
+ }\r
+ \r
+ /// <summary>\r
+ /// インストーラの処理が成功してインストールされたプログラムが確認できるか否か。\r
+ /// </summary>\r
+ public bool InstallSuccessed {\r
+ get {\r
+ switch (InstalledPackage.Type) {\r
+ case InstallerType.ARCHIVE: // アーカイブインストーラはフォルダの確認\r
+ return Directory.Exists(Path.Combine(NaGet.Env.ArchiveProgramFiles, InstalledPackage.Name));\r
+ case InstallerType.EXEC_INSTALLER:\r
+ case InstallerType.MSI_PACKAGE:\r
+ return RegistriedUninstallers.GetInstalledPackageFor(InstalledPackage) != null;\r
+ default:\r
+ return false;\r
+ }\r
+ }\r
+ }\r
+ \r
+ /// <summary>\r
+ /// サイレントインストールを行うかのフラグ。\r
+ /// </summary>\r
+ public bool Silent {\r
+ get {\r
+ return (IsSupportsSilentOnly)? true :\r
+ (IsSupportsSilent)? silent :\r
+ false;\r
+ }\r
+ set { silent = value; }\r
+ }\r
+ \r
+ /// <summary>\r
+ /// サイレントインストールをサポートしているか否か\r
+ /// </summary>\r
+ public bool IsSupportsSilent {\r
+ get {\r
+ switch (InstalledPackage.Type) {\r
+ case InstallerType.ARCHIVE:\r
+ case InstallerType.MSI_PACKAGE:\r
+ return true;\r
+ default:\r
+ return false;\r
+ }\r
+ }\r
+ }\r
+ \r
+ /// <summary>\r
+ /// サイレントインストールだけをサポートしているか否か\r
+ /// </summary>\r
+ public bool IsSupportsSilentOnly {\r
+ get { return InstalledPackage.Type == InstallerType.ARCHIVE; }\r