Страница 1 из 2

Виртуальная машина не запускается через ТК

Добавлено: Ср сен 08, 2010 22:51
djbub14
Windows 7 64. Установил Microsoft Virtual PC. Машины запускаются через проводник. А через ТК пишет "не сопоставлено ни одно приложение". В ХР было проще - Virtual PC была программой с эксешником и все без проблем запускалось через ТК, а тут из-за библиотек эксешника после установки я не нашел.
Есть решение проблемы?

Добавлено: Чт сен 09, 2010 08:50
Avada
djbub14
TC на данный момент только 32-битный. Проводник в указанной версии 64-битный. Со всеми вытекающими последствиями. Те, кто активно пользуется системами x64, возможно, что-то добавят ещё.

Добавлено: Чт сен 09, 2010 11:07
MVV
Думаю, нужно посмотреть системную ассоциацию для файлов виртуальных машин, и попытаться в тотале создать соответствующую внутреннюю.

Добавлено: Чт сен 09, 2010 12:28
CaptainFlint
Если не ошибаюсь, ассоциации в 64-битках общие для 32- и 64-битных приложений. Поэтому, скорее всего, проблема не конкретно в 64-битности, а в "семёрочности". Начиная с Висты, в виндах перелопатили систему ассоциаций на какую-то совершенно зубодробительную, Гислер не смог её разобрать и досконально воспроизвести, поэтому случаются ситуации, когда Проводник понимает ассоциацию, а Тотал — нет. Можно попробовать переустановить виндовую ассоциацию самим Тоталом. Если не поможет, то, как посоветовал MVV, можно воспользоваться внутренними ассоциациями.

Добавлено: Чт сен 09, 2010 13:46
djbub14
Я бы задал ассоциацию, но как я уже написал, в папке Windows Virtual PC нет .exe файла. Через ассоциации в свойствах пишет только "файл виртуальной машины"

Может можно в ТК создать ассоциацию на {9a1774b7-8251-4468-a214-61dcaed9ac2f}?

Скрин 1
Скрин 2

[mod="Avada"]Картинки превращены в ссылки.[/mod]

Добавлено: Чт сен 09, 2010 13:55
CaptainFlint
djbub14
Попробуй запустить виртуалку и посмотреть через Process Explorer или аналогичную программу, какому процессу принадлежит окно виртуалки. DLL сама по себе не может запуститься, её обязательно должен загрузить какой-то процесс, инициированный исполняемым файлом.
djbub14 писал(а):Может можно в ТК создать ассоциацию на {9a1774b7-8251-4468-a214-61dcaed9ac2f}?
Нет, вряд ли в этом случае Тотал поймёт, чего от него хотят.

Добавлено: Чт сен 09, 2010 14:09
MVV
В системе в любом случае должна быть ассоциация с файлами виртуальных машин - надо найти эту ассоциацию и выдрать. На приложенном скрине видно, что расширению vmc сопоставлен тип Windows.VirtualPC.VMC - мне кажется, ассоциацию надо искать в этом ключе, а не в ключе VirtualPC.Application.

Добавлено: Чт сен 09, 2010 21:34
djbub14
CaptainFlint писал(а):djbub14
Попробуй запустить виртуалку и посмотреть через Process Explorer или аналогичную программу, какому процессу принадлежит окно виртуалки. DLL сама по себе не может запуститься, её обязательно должен загрузить какой-то процесс, инициированный исполняемым файлом.
Еще смешнее!
Данный способ выдал мне что запущено... но файла такого нет!

Скрин

Но поиск дал результат. Как и полагалось в новой папочке для компонентов winsxs. Запускаю этот файл и открывает папку(!) с виртуальными машинами (проводник). Если попытаться запустить через ТК файл машины и указать "открывать с помощью", то процесс грузится и после пропадает. Никаких действий.

[mod="Avada"]Неформатная картинка заменена ссылкой.[/mod]

Добавлено: Чт сен 09, 2010 21:56
Avada
djbub14
Какого размера, интересно, будет следующая картинка?! Нормально читать страничку уже невозможно.
Прошу срочно привести обе картинки в вид, соответствующий п. 15 правил форума. В противном случае вынужден буду заменить их ссылками.

Добавлено: Чт сен 09, 2010 23:43
CaptainFlint
djbub14
/оффтоп моде он/
Интересно, сколько времени ещё будет аукаться пользователям этот майкрософтовский кретинизм с редиректом в 64-битных виндах?..
/оффтоп моде офф/


Итак. Во-первых, по скрину я не могу понять, что это за диспетчер задач такой, но подозреваю, что 32-битный. Если это так, то именно в этом причина того, что он не может найти файл: винда вместо system32 всем 32-битным программам незаметно подсовывает содержимое SysWOW64, где одноимённого файла, судя по всему, не нашлось.
Во-вторых, запускать файл из WinSxS — о-очень неудачная идея. Эти каталоги созданы сугубо для служебных целей (отслеживания версионирования программ и библиотек). Запускать надо именно из System32, только настоящего. Сделать это можно, обратившись вместо system32 в каталог SysNative: он является ссылкой на настоящий, 64-битный System32.

Ну и, наконец, что тут можно сделать, если такой запуск тоже не поможет. Во-первых, скачать всё-таки Process Explorer: он хоть в основе своей 32-битный, но содержит 64-битный модуль, позволяющий получать полную информацию обо всех процессах в системе. Далее, через него нужно посмотреть в свойствах процесса VMWindow.exe, а) с какими параметрами был запущен этот процесс и б) какой процесс его породил: непосредственно explorer.exe или есть ещё какой-то промежуточный диспетчер виртуалок, управляющий этим VMWindow. Дальнейшие действия — по результатам вышеперечисленных.

Добавлено: Пт сен 10, 2010 03:27
djbub14
Действительно файлы оказались в SysNative
В ТК запуск c:\Windows\Sysnative\VMWindow.exe "d:\Virtual Machines\windows xp cut.vmc" срабатывает на отлично. Теперь вопрос: как правильно привязать ассоциацию? В ТК просто идет раделение: стандартные свойства и х64 свойства.

Добавлено: Пт сен 10, 2010 11:05
MVV
Поэкспериментируй, вариантов-то немного. Вначале просто создай ассоциацию и привяжи запуск программы c:\Windows\Sysnative\VMWindow.exe для *.vmc, а если не получится - тогда ломай голову, как извратиться более изощренным способом.

CaptainFlint писал(а):/оффтоп моде он/
Интересно, сколько времени ещё будет аукаться пользователям этот майкрософтовский кретинизм с редиректом в 64-битных виндах?..
Боюсь, что долго:) редирект уже скорее всего никуда не денется, поэтому поможет лишь полный перевод всего и всея на 64 бита. А что микрософтовцы выдумают при переходе на 128 или более бит, представить страшно...
/оффтоп моде офф/

Добавлено: Пт сен 10, 2010 15:54
djbub14
Мдаааа. В ТК есть папка Сиснейтив, а когда выбираю через explorer указать располажение файла, то папки нет, и она не скрыта, ее даже в адресе прописать - пишет не существует. Смешно

Добавлено: Пт сен 10, 2010 16:01
CaptainFlint
djbub14
А зачем указывать расположение этого файла через Проводник? Там пускай остаётся системная привязка, а в Тотале создать внутреннюю ассоциацию, которая будет обращаться в SysNative.

Но если так хочется унифицировать, то можно попробовать создать прогой mklink нормальную ссылку на system32, назвав её, скажем, system64, и тогда её содержимое будет одинаково видно и 32-, и 64-битным программам. (Собственно, её можно было бы назвать как раз SysNative, но я не уверен, как себя при этом поведёт тот виртуальный SysNative, поэтому лучше задать другое имя.)

Добавлено: Пт сен 10, 2010 16:40
djbub14
Там я делал ассоциацию через 64бтное меню. А как сделать внутреннюю для двойного клика?