Почему при использовании Shell для запуска файла .MSI иногда происходит сбой в VB6? - PullRequest
0 голосов
/ 06 марта 2009

Я пытаюсь запустить установщик .NET CF из приложения VB6, используя следующий код (для краткости я заменил полный путь к установщику на «(полный путь)»):

Shell "C:\WINDOWS\system32\msiexec.exe /fa ""(full path)\NETCFSetupv35.msi"""

Пока я запускал это на четырех машинах. На двух работает нормально, на двух других выходит из строя. Когда это работает, установщик CF просто запускается. Когда происходит сбой, первое, что он делает, - это всплывающее диалоговое окно: «Функция, которую вы пытаетесь использовать, находится на компакт-диске или другом съемном диске, который недоступен». В диалоговом окне есть текстовое поле для ввода пути и кнопка просмотра, чтобы найти его, поэтому я указываю путь, нажимаю кнопку открытия и получаю эту ошибку: «Ошибка 1706. Не найден допустимый источник для продукта Microsoft .NET Compact Framework 3.5. Установщик Windows не может продолжить. "

Может кто-нибудь сказать мне, что здесь происходит не так? Чего не хватает в машинах, на которых он выходит из строя?

Ответы [ 2 ]

0 голосов
/ 07 марта 2009

Вы пробовали запустить установщик вручную на компьютере, где происходит сбой vb6?

Если это работает, то это, вероятно, не проблема установщика. Я думаю, что это проблема пути выполнения, когда оболочка находит правильные компоненты, когда переменная PATH установлена ​​правильно

0 голосов
/ 07 марта 2009

Возможно проблема с самой Compact Framework MSI? Вы можете попробовать Microsoft с поддержкой (у вас есть подписка MSDN?) Или разместить в группе новостей .

В качестве альтернативы попробуйте добавить аргумент logging в вашу командную строку "/ l * LogFile.txt" (без кавычек), а затем попытайтесь понять журнал .

...