OSDN Git Service

AppliStation-GUI,インストールダイアログでの表示処理等の整理
[applistation/AppliStation.git] / na-get-lib / NaGet / Env.cs
1 using System;\r
2 using System.IO;\r
3 \r
4 namespace NaGet\r
5 {\r
6         /// <summary>\r
7         /// 環境変数などを取り扱うクラス\r
8         /// </summary>\r
9         public sealed class Env\r
10         {\r
11                 /// <summary>\r
12                 /// 呼び出し禁止\r
13                 /// </summary>\r
14                 private Env()\r
15                 {\r
16                 }\r
17 \r
18                 \r
19                 /// <summary>           \r
20                 /// ファイルリスト提供サーバのリストファイル        \r
21                 /// </summary>\r
22                 public static readonly string ProviderListFile = "provider.list.txt";\r
23 \r
24                 /// <summary>\r
25                 /// ファイルリストから読み込まれたパッケージのリストファイル\r
26                 /// </summary>\r
27                 public static readonly string PackageListFile = "packages.list.xml";\r
28 \r
29                 /// <summary>\r
30                 /// 本ソフトウェアを介してインストールされたパッケージのリストファイル\r
31                 /// </summary>\r
32                 public static readonly string ArchiveInstalledPackageListFile = "packages.envinstalled.xml";\r
33 \r
34                 /// <summary>\r
35                 /// システムから検出されたパッケージのリストファイル\r
36                 /// </summary>\r
37                 public static readonly string SystemInstalledPackageListFile = "packages.sysinstalled.xml";\r
38                 \r
39                 /// <summary>\r
40                 /// インストールログファイル\r
41                 /// </summary>\r
42                 public static readonly string SystemInstalledPackageLogFile = "packages.sysinstalled.log.xml";\r
43                 \r
44                 private static string appDataFolderPath = null;\r
45                 \r
46                 /// <summary>\r
47                 /// アプリケーションデータを保存するフォルダのパス\r
48                 /// </summary>\r
49                 public static string AppDataFolderPath\r
50                 {\r
51                         get {\r
52                                 if (appDataFolderPath == null) {\r
53 //                                      string progFiles = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles);\r
54 //                                      if (Path.GetDirectoryName(Environment.CurrentDirectory) == progFiles) {\r
55 //                                              string appData = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);\r
56 //                                              return Path.Combine(appData, "AppliStation");\r
57 //                                      } else {\r
58                                                 return Environment.CurrentDirectory;\r
59 //                                      }\r
60                                 } else {\r
61                                         return appDataFolderPath;\r
62                                 }\r
63                         }\r
64                         set { appDataFolderPath = value; }\r
65                 }\r
66 \r
67                 /// <summary>\r
68                 /// インストーラの一時置き場の親ディレクトリ\r
69                 /// </summary>\r
70                 public static string ArchiveFolderPath\r
71                 {\r
72                         get { return Path.Combine(AppDataFolderPath, "Cache"); }\r
73                 }\r
74                 \r
75                 /// <summary>\r
76                 /// アーカイバ方式のパッケージのインストール先フォルダ\r
77                 /// </summary>\r
78                 public static string ArchiveProgramFiles {\r
79                         get {\r
80                                 return Path.Combine(AppDataFolderPath, "progs");\r
81                         }\r
82                 }\r
83                 \r
84                 /// <summary>\r
85                 /// アーカイバ方式のパッケージのプログラムグループフォルダ\r
86                 /// </summary>\r
87                 public static string ArchiveProgramGroup {\r
88                         get {\r
89                                 return Path.Combine(AppDataFolderPath, "programs");\r
90                         }\r
91                 }\r
92 \r
93                 /// <summary>\r
94                 /// アーカイバ方式のパッケージのSystem32のフォルダ\r
95                 /// </summary>\r
96                 public static string ArchiveSystem32 {\r
97                         get {\r
98                                 return Path.Combine(ArchiveProgramFiles, ".system32");\r
99                         }\r
100                 }\r
101         }\r
102 }\r