Попытка запустить программу Visual Studio C # из другой - PullRequest
0 голосов
/ 11 апреля 2011

Мне очень трудно заставить программу Windows, написанную на VS 2008 C #, запустить программу другого типа.Я поместил основную программу, чтобы предложить вам возможность запускать некоторые другие программы VS 2008 C #.Когда выбран один из них, для запуска предназначен следующий код:

System.Diagnostics.Process.Start (@ "C: \ Documents and Settings \ rat \ Мои документы \ Visual Studio 2008 \ Projects \PV_002_082708 \ PV_001 \ PV_001 \ bin \ Debug \ PV.exe ");

Это работает, но у каждого пользователя будет свой путь.Указанный путь для моего компьютера.Код должен знать, где была установлена ​​программа для каждого человека!Раньше я мог легко вызывать программу, которая находилась в папке C: \ Program Files, потому что именно там программа MS Package & Deployment помещала эти программы.VS 2008/2010 не помещает их туда!

Я уверен, что не знаю, как Visual Studio 2008/2010 знать, есть ли способ обойти это, поэтому любая помощь будет принята с благодарностью.

Ответы [ 3 ]

0 голосов
/ 11 апреля 2011

После того, как вы создадите установочный пакет, вы можете установить путь установки на некоторый фиксированный путь, который пользователи не смогут изменить, и затем использовать его из вашего кода (не очень удобно, но он будет работать) или вставить выбранный пользователем путь.значение в реестр и получить его оттуда.

0 голосов
/ 11 апреля 2011

Возможно, захотите взглянуть на эту тему. Как и много плюсов и минусов.

Внедрил * .exe в dll

Если вы видите первый ответ на его вопрос, я думаю, это сработает для вас.

Просто он говорит, что вы добавляете файл ресурсов в свой проект, а затем, когда пользователь запускает вашу программу, он извлекает ваш exe-файл, который вы добавили в качестве файла ресурсов, в то место, которое вы знаете при обработке конечных пользователей.

0 голосов
/ 11 апреля 2011
System.Diagnostics.Process.Start(System.Io.Path.Combine(System.Windows.Forms.Application.StartupPath, "PV.exe"));

при условии, что программа находится в пути запущенного приложения.

или ...

System.Diagnostics.Process.Start(System.Io.Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments), @"Visual Studio 2008\Projects\PV_002_082708\PV_001\PV_001\bin\Debug\PV.exe"));

при условии, что вы хотите открыть проект с его места.

...