Я создаю файл установщика с помощью проекта установщика 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 в командной строке, будет создан раздел реестра текущего пользователя.Это также работает, если я создал отдельный проект, добавив только раздел реестра.Просто не работают в пользовательских действиях.Я что-то пропустил?Спасибо!