1 using System.Xml.Serialization;
\r
3 namespace NaGet.Packages
\r
8 public enum InstallerType
\r
13 [XmlEnum(Name="installer")]
\r
16 /// Microsoft Software Installer
\r
18 [XmlEnum(Name="msi")]
\r
23 [XmlEnum(Name="archive")]
\r
26 /// それ自身がプログラムそのものである
\r
28 [XmlEnum(Name="itself")]
\r
31 /// インストールできない単なるデータ(BIOSなど)
\r
33 [XmlEnum(Name="cannotinstall")]
\r
40 public class Package
\r
50 public string Version;
\r
55 public string Summary;
\r
60 public string Description;
\r
65 public LocationEntry Url;
\r
70 public string Author;
\r
75 public InstallerType Type;
\r
78 /// インストーラが書庫内に入っているかのフラグ
\r
80 public bool ArchivedInstaller = false;
\r
83 /// アンインストーラのレジストリのキー
\r
85 public string UninstallerKey;
\r
88 /// サイレントインストールのための引数。
\r
89 /// インストーラ形式のみ有効で、nullもしくは空文字列の場合は
\r
90 /// サイレントインストールができないことをあらわす
\r
92 public string SilentInstallArguments;
\r
95 /// インストールスクリプト(MSBuildドキュメント)
\r
97 public string InstallScript;
\r
100 /// アーカイブインストーラのときのSystem32のコピー
\r
102 public string System32CopyFiles;
\r
108 public Installer[] Installer;
\r
113 [XmlArray(IsNullable=true),XmlArrayItem("Entry")]
\r
114 public Entry[] Requires;
\r
119 [XmlArray(IsNullable=true),XmlArrayItem("Entry")]
\r
120 public Entry[] Conflicts;
\r
125 public string Tags;
\r
130 public string License;
\r
135 public string PackageListName;
\r
141 public struct Entry
\r
143 public Entry(string name, string flags, string version)
\r
155 public string Name;
\r
157 /// パッケージのバージョン比較の式
\r
160 public string Flags;
\r
165 public string Version;
\r
168 public class Installer
\r
177 public Platform Platform;
\r
180 /// ダウンロードリソースURLの配列
\r
182 public LocationEntry Url;
\r
188 public HashValue[] Hash;
\r
194 public class LocationEntry
\r
196 // TODO LocationEntryは果たして必要なのかの、考察
\r
201 public LocationEntry()
\r
208 /// <param name="sHref">リソースのURL</param>
\r
209 public LocationEntry(string sHref)
\r
218 public string Href;
\r