У меня есть приложение, с помощью которого я могу выбрать один из нескольких MSI (одинаковые MSI, разные версии) в каталоге, и я смогу установить или удалить из этого приложения.
Я вытягиваю в спискеMSI, полный путь, с
string MSILocation = @"C:\test\";
string[] MSIFiles = Directory.GetFiles(MSILocation, "*.MSI", SearchOption.TopDirectoryOnly);
Отсюда я заполняю список, и как только один из них выбран, я нажимаю кнопку установки.Но когда я проверяю свой установочный код, дословно кажется, что он облажался.
string MSIname = lboMSIList.SelectedItem.ToString();
Process p = new Process();
p.StartInfo.FileName = "MSIEXEC.EXE";
p.StartInfo.Arguments = @"/i " + MSIname;
p.Start();
Даже при том, что просмотр списка показывает файл с одним / конечный результат всегда получается с двойным /
Где-то там теряется буквальная строка.
Если я изменяю код и запускаю .FileName = @ "msiexec.exe / i C: \ test \ test1.msi" , это работаетпросто отлично, но мне нужно иметь возможность выбирать из списка имен файлов.
Есть идеи?