Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: запуск exe файла из resources  (Прочитано 12021 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Serguntii
Помогающий

ru
Offline Offline

« : 11-03-2014 13:19 » 

Подскажите как сделать, добавил в resurce файл setup.exe , его можно как-то запустить?
Process setsturt = Process.Start(Properties.Resources.setup);
« Последнее редактирование: 11-03-2014 19:14 от sergeyan » Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 11-03-2014 13:35 » 

Что это за извращение?
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Serguntii
Помогающий

ru
Offline Offline

« Ответ #2 : 11-03-2014 13:55 » 

Это сделал работает.
Добавилась еще одна проблема, программа установлена работает нормально если запустить из меню пуск> программы> программа.
Если запускаю через Process.start  программа запускается, но вылетает ошибка, скорее все проблема с путями. В ошибке путь  к папке visual studio proects debug. Но на самом деле эта программа лежит в папке c/program files/programma. Если бы путь был не правильный в Process.start("путь")  то она даже бы не запускалась. В чем может быть проблема?

Добавлено через 5 часов, 8 минут и 10 секунд:
Проблема была в workingdirectory.
« Последнее редактирование: 11-03-2014 19:05 от sergeyan » Записан
Serguntii
Помогающий

ru
Offline Offline

« Ответ #3 : 02-04-2014 04:44 » 

Нужно программу запустить от администратора можно как-то повысить уровень перед запуском
Process.??
Process.Start();
В xp  Все работает но в 8 требуются права администратора.
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #4 : 02-04-2014 05:51 » 

Verb = "RunAs"
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
zubr
Гость
« Ответ #5 : 02-04-2014 05:55 » 

ShellExecute(NULL, L"runas", ....
Записан
Serguntii
Помогающий

ru
Offline Offline

« Ответ #6 : 02-04-2014 05:57 » new

Понял, Сейчас попробую.

Добавлено через 9 минут и 28 секунд:
 -verb runas -Credential mydomain\mydomainAdminUser
На разных машинах нужно будет свою строчку mydomain\mydomainAdminUser?
« Последнее редактирование: 02-04-2014 06:07 от sergeyan » Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 02-04-2014 09:02 » 

sergeyan, не надо никаких credential, оно само спросит
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Serguntii
Помогающий

ru
Offline Offline

« Ответ #8 : 02-04-2014 09:15 » 

Сделал так работает на моем компьютере.
Как это сделать что бы удобнее было, запускать процесс с правами администратора на других компьютерах где имена пользователей другие и пароли другие? С минимальным количеством всяких вопросов пользователю?

Код:
            var pass = new SecureString();
            pass.AppendChar('1');
            pass.AppendChar('2');
            pass.AppendChar('3');
            pass.AppendChar('4');
            pass.AppendChar('5');
            pass.AppendChar('6');
            pass.AppendChar('7');

            var psi = new ProcessStartInfo
            {
                FileName =@"C:\WINDOWS\notepad.exe",
                UserName = "Sergey",
                Domain = "",
                Password = pass,
                UseShellExecute = false,
                RedirectStandardOutput = false,
                RedirectStandardError = false,
                Verb = "runas" 
               
               
            };
            try
            {
                Process.Start(psi);
            }
            catch (Exception er)
            {
                MessageBox.Show(er.ToString());
            }



Добавлено через 9 минут и 50 секунд:
Думаю нужен такой алгоритм, поправьте если что
1)проверить текущего пользователи является ли он администратором.
2)если не администратор предложить войти под администратором.
3)если администратор как-то получить пароль и ввести его в var pass = new SecureString();
4)Получить имя пользователя и ввести его  UserName =
3,4 пункты наверно будет сложно сделать?

Добавлено через 1 час, 21 минуту и 56 секунд:
Или достаточно указать Улыбаюсь  Verb = "runas" Чтобы программа запускалась от имени администратора?
« Последнее редактирование: 02-04-2014 10:47 от sergeyan » Записан
Serguntii
Помогающий

ru
Offline Offline

« Ответ #9 : 02-04-2014 15:05 » 

Решение нашел здесь h***://www.cyberforum.ru/blogs/251328/blog280.html
« Последнее редактирование: 03-04-2014 07:40 от Джон » Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #10 : 03-04-2014 07:40 » 

И что там такого, о чём бы здесь не говорилось? Готовый код?
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Serguntii
Помогающий

ru
Offline Offline

« Ответ #11 : 03-04-2014 07:50 » 

Здесь подсказали решение спасибо большое,там показан пример коды который работает, проверил.
Ссылку выложил, подумал  может кому пригодится. Если кто будет искать похожее решение,придет по ссылке скопирует код и сэкономит время. Улыбаюсь
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #12 : 03-04-2014 09:05 » 

А чего там копировать?  Быть такого не может Димка тебе код ещё в четвёртом сообщении написал. Нууу, а то что он поленился применить телепатические способности и не написал имя твоего объекта... ну мы ему за это выговор, с занесением. Такое, конечно, прощать нельзя! А за отсутствие точки с запятой в конце строки, отдельно взыщем. Будет впредь знать.

А вот насчёт экономии времени... Смотря на что его тратить. Если на поиски готового кода, то тут ты абсолютно прав. Да и в общем, в идеале, как здорово: пришла в голову мысля, бабах, а к ней уже готовый код имеется. Пусть дажа одна строчка, но зато какая экономия времени! Перефразируя фразу из известного мультика: "Лучше три дня поискать, а потом за три секунды скопировать".
Вот только есть одна малюсенькая проблемка. Будущее сумрачно как-то выглядит, если все только и будут делать, что готовый код копировать. А кто ж его тогда создавать будет?   Здесь была моя ладья... Этот моментик надо проработать. Тогда создавать программы сможет каждый, буквально.
« Последнее редактирование: 03-04-2014 09:09 от Джон » Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Serguntii
Помогающий

ru
Offline Offline

« Ответ #13 : 03-04-2014 09:46 » 

Спасибо большое Димке и всем кто помогает,организаторам форум. Улыбаюсь
Все будет отлично, код растет как дерево, не получится так что взял скопировал и все получилось то что надо.
Другое дело взял код и продолжил его (подправил) под свое направление, но время уже сэкономили то что было затрачено на то что кто то сделал.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines