Запустить приложение после установки
У меня есть солюшен с двумя проектами. Первый - windows forms приложение, второй - setup project для первого. Мне нужно автоматически запустить приложение по окончании установки. В настройках сетапа я не нашел как это сделать автоматически, поэтому добавил Installer класс к первому проекту и написал в нем следующее:
public override void Commit(IDictionary mySavedState)
{
base.Commit(mySavedState);
string path = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(Context.Parameters["AssemblyPath"]),
"WindowsController.exe");
System.Diagnostics.Process.Start(path);
}
Приложение запускается, но работает как будто не от имени того пользователя который запустил msi файл. Там есть код для создания временной папки, так вот System.IO.Path.GetTempPath() возвращает путь к windows/temp вместо временной папки пользователя. Еще, приложение запускает процессы связанные с открытием файла в нативном приложении. И сразу после установки система не находит приложения для открытия файла, к примеру ".sql", так что предлагает выбрать приложение из списка. Но если установленное приложение остановить и запустить заново из меню пуск или с ярлыка, то все эти эффекты пропадают и работает нормально. Вопрос: как правильно и от имени пользователя я могу автоматически запустить приложение после установки посредством Setup project?