Я запускаю путь C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\IIS Manager.lnk
через Process.Start
, но он не работает с The system cannot find the file specified
.
Ссылка отображается на dir
, поэтому она существует.
Это могут быть разрешения?
Примечания:
- Путь обнаруживается автоматически путем итерации по каталогу
Start Menu
.
- Я могу запустить его через проводник и командную строку.
Разъяснения:
Код выглядит следующим образом:
public void Execute () {Process.Start (_shortcut.FullName);}
_shortcut имеет тип FileInfo
- _shortcut.Exists имеет значение true, поэтому файл можно найти
- замена _shortcut.FullName на явный путь @ "C: \ ProgramData \ Microsoft \ Windows \ Меню Пуск \ Программы \ Администрирование \ IIS Manager.lnk" имеет тот же эффект.
- Это приложение WPF, использующее Caliburn и MEF.
- Запуск от имени администратора имеет тот же эффект.
Это здесь, с другой стороны, похоже, работает:
[Fact]
public void TestIisManager()
{
var path = new FileInfo(@"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\IIS Manager.lnk");
Process.Start(path.FullName);
}
Похоже, что он основан на "окружающей среде".
Второе уточнение:
- Кажется, он работает в Windows 7 x86, но не в Windows 7 x64.