Использовать cmd.exe для добавления ключа реестра для текущего пользователя не удалось - PullRequest
0 голосов
/ 08 апреля 2019

Я создаю файл установщика с помощью проекта установщика Visual Studio.Во время установки пользователь выберет целевой каталог и установит для всех пользователей или текущего пользователя.После того, как пользователь сделает выбор, я буду использовать эту информацию для добавления ключа реестра на локальном компьютере (все пользователи) или текущего пользователя, в зависимости от выбора пользователя.Это работало для локальной машины, но не для текущего пользователя.Я написал код пользовательского действия, и метод будет вызван в методе commit.

Ниже приведен код для добавления ключа реестра:

    public void CreateReg(string cmd, bool allUsers)
{
    System.Diagnostics.Process process = new System.Diagnostics.Process();
    System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
    startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
    startInfo.FileName = "cmd.exe";
    startInfo.Arguments = "/c " + cmd;

    if (allUsers)  // If create key for all users.
        startInfo.Verb = "runas";

    process.StartInfo = startInfo;
    process.Start();
}

Если это для текущего пользователя, allusers = false.Я зарегистрировал строку cmd, если я введу cmd в командной строке, будет создан раздел реестра текущего пользователя.Это также работает, если я создал отдельный проект, добавив только раздел реестра.Просто не работают в пользовательских действиях.Я что-то пропустил?Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...