2016-01-12 11 views
0

Я использую следующий код для запуска установочного файла с диска c :. Но он вызывает ошибку «Неверный вызов процедуры или аргумент». У меня есть попробовал «eval», чтобы упорядочить строку, но это не сработало.Я использую SystemUtil.Run String, но дает мне «вызов или аргумент Invalied Procedure»

dim BookName 
dim Tmonth 
dim Trimyear 
    BookName="Name of a book" 
     Tmonth="02" 
     Trimyear="15" 
     Installfile = "Install " &BookName&" ("&Tmonth&"-"&Trimyear&").msi" 
     SystemUtil.Run Installfile,"","C:\TitleInstall" 
+0

Вы уверены, имеет ли ваш Installfile правильное имя файла, сначала попробуйте с именем жесткого кодированного файла. – user5612655

ответ

0

Эй, спасибо за понимание. Я проверил его с жестко закодированными значениями, он работал нормально. Проблема возникает только тогда, когда значение изменяется динамически. Пожалуйста, проверьте его с помощью любого приложения в вашей системе и попробуйте присвоить значение динамически.

0

Если он работает для жесткого кодирования, он будет работать и для динамических значений. Просто убедитесь, что динамическое значение, которое вы генерируете в переменной Installfile, то же имя файла присутствует в вашей папке «C: \ TitleInstall»

В соответствии с указанным выше кодом должен быть файл с именем «Установить имя книги (02-15) .msi». Есть ли в вашей папке какой-либо файл?

Просто поместите эту переменную Installfile в msgbox чуть выше SystemUtil.Run и убедитесь, что имя файла, которое входит в msgbox, присутствует в вашей папке или нет.

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

Изменение SystemUtil.Run Installfile,"","C:\TitleInstall"

в SystemUtil.Run Installfile,,"C:\TitleInstall"

+0

и прокомментируйте здесь, и пометьте мое имя как @ user5612655, поскольку отслеживание ответов затруднено – user5612655

+0

Я добавил значение установочного файла для просмотра и проверки, а требуемая строка такая же. Пожалуйста, обратитесь к любому из приложений из вашей системы. И попробуйте один раз перед отправкой запроса, так как я попробовал и проверил все необходимые вещи. Мне нужны пробелы, так как это был формат приложения. Спасибо за ответ –

+0

Чувак Я попробовал, а потом ответил. Мы не можем создавать динамические файлы, созданные на нашей машине. А по динамике вы имеете в виду, что я пытался сохранить имя файла в var и попробовать, и он работает для меня на моей машине. – user5612655

0
myInstallerPath= "Inataller - Copy.msi" 
SystemUtil.Run myInstallerPath , "\q" , "C:\InstallerDir" 

Выше работали для меня, обратите внимание, что «\ q» заключается в установке приложения без взаимодействия с пользователем и не имеет каких-либо конкретных последствий. SystemUtil.Run - это в основном ваше окно команд. Запустите CMD-окно и введите путь к файлу u, который вы пытаетесь выполнить, чтобы быть уверенным, что это действительно. (Вы можете дать путь к файлу в двойных кавычках)

Другим вариантом является, чтобы дать путь установки сразу .. как это ..

myInstallerPath= "C:\InstallerDir\Inataller - Copy.msi" 
SystemUtil.Run myInstallerPath , "\q" 
+0

да prageth же работал для меня спасибо за ответ. :) но я не использовал \ q –

+0

Рад, что он работал :) –