public bool InstallSuccessed {\r
get {\r
switch (InstalledPackage.Type) {\r
- case InstallerType.ARCHIVE: // アーカイブインストーラはフォルダの確認\r
+ case InstallerType.ARCHIVE:\r
+ case InstallerType.ITSELF:\r
+ // アーカイブインストーラおよび配布exeそれ自身が実行ファイルのとき、\r
+ // (AppliStationの作る)プログラムフォルダの存在のみで確認を行う。\r
return Directory.Exists(Path.Combine(NaGet.Env.ArchiveProgramFiles, InstalledPackage.Name));\r
case InstallerType.EXEC_INSTALLER:\r
case InstallerType.MSI_PACKAGE:\r
get {\r
switch (InstalledPackage.Type) {\r
case InstallerType.ARCHIVE:\r
+ case InstallerType.ITSELF:\r
case InstallerType.MSI_PACKAGE:\r
return true;\r
case InstallerType.EXEC_INSTALLER:\r
/// サイレントインストールだけをサポートしているか否か\r
/// </summary>\r
public bool SupportsSilentOnly {\r
- get { return InstalledPackage.Type == InstallerType.ARCHIVE; }\r
+ get {\r
+ return (InstalledPackage.Type == InstallerType.ARCHIVE)\r
+ || (InstalledPackage.Type == InstallerType.ITSELF);\r
+ }\r
}\r
\r
/// <summary>\r
/// </summary>\r
/// <remark>RunAsが必要か否かの判断にしようされる</remark>\r
public bool TargetPC {\r
- get { return InstalledPackage.Type != InstallerType.ARCHIVE; }\r
+ get {\r
+ return (InstalledPackage.Type != InstallerType.ARCHIVE)\r
+ && (InstalledPackage.Type != InstallerType.ITSELF);\r
+ }\r
}\r
\r
#endregion\r
hProcess = Process.Start("msiexec", msiexecArgs);\r
break;\r
case InstallerType.ARCHIVE:\r
+ case InstallerType.ITSELF:\r
string argument = string.Format("-i \"{0}\" \"{1}\"", installerfile, this.InstalledPackage.Name);\r
hProcess = createExtractArchiveProcess(argument,\r
this.OutputDataReceived,\r
this.ErrorDataReceived);\r
+ // Note: ARCHIVEかITSELFの判断はarchive-instが行う\r
break;\r
default:\r
throw new NotImplementedException("Not implemented archive installation yet");\r
list.AddRange(Directory.GetFiles(basedir, "*.7z"));\r
list.AddRange(Directory.GetFiles(basedir, "*.tar*"));\r
break;\r
+ case InstallerType.ITSELF:\r
+ list.AddRange(Directory.GetFiles(basedir, "*.exe"));\r
+ break;\r
default:\r
return null;\r
}\r