Cake スクリプトからの 32/64 ビット システムの検出に基づいて、レジストリ エントリを作成する必要があります。ファイル操作のリファレンス、ディレクトリ操作のリファレンスはC#のケーキサイトで見ることができます。しかし、C# Cake でレジストリ関連の参照が見つかりませんでした。C# Cake を使用してレジストリ エントリを作成するオプションはありますか? その場合は、参照リンクを指定してください。これは、ケーキのスクリプトを続けるのに大いに役立ちます。
2 に答える
4
Reg.exe
C# を使用する代わりに、Windows のすべてのメジャー バージョンに同梱されている を使用することもできます。
このツールは、StartProcessエイリアスを使用して Cake で使用できます。
これを行う例を以下に示します。
DirectoryPath system32Path = Context.Environment
.GetSpecialPath(SpecialPath.Windows)
.Combine("System32");
FilePath regPath = system32Path.CombineWithFilePath("reg.exe");
string keyName = "HKEY_CURRENT_USER\\Software\\Cake";
string valueName = "Rocks";
string valueData = "1";
ProcessSettings regSettings = new ProcessSettings()
.WithArguments(
arguments => arguments
.Append("add")
.AppendQuoted(keyName)
.Append("/f")
.AppendSwitchQuoted("/v", valueName)
.AppendSwitchQuoted("/t", "REG_DWORD")
.AppendSwitchQuoted("/d", valueData)
);
int result = StartProcess(regPath, regSettings);
if (result == 0)
{
Information("Registry value successfully set");
}
else
{
Information("Failed to set registry value");
}
于 2016-11-09T08:35:49.423 に答える