2009-03-20 2 views
1

Я написал консольное приложение deploy.exe, которое запускает пакетный скрипт.Неверное имя файла, имени каталога или тома, C#

Process p1 = new Process(); 
p1.StartInfo.FileName = AppDomain.CurrentDomain.BaseDirectory + "installer.bat"; 
p1.StartInfo.WindowStyle = ProcessWindowStyle.Normal; 
p1.Start(); 
p1.WaitForExit(); 
p1.Close(); 

installer.bat содержит следующую команду. \ shared1 \ lists \ list1.cmd

Если я запускаю исполняемый файл, он успешно запускается.

Однако мне это нужно для запуска в проекте установщика Windows. Поэтому я создал проект установки и развертывания и успешно добавил deploy.exe как настраиваемое действие при установке.

Он работает нормально, но когда он начинает выполнять команду, я получаю эту ошибку. «Неверное имя файла, имя каталога или тома.». любая помощь?

ответ

1

Ошибка в скрипте, который выполняется. Он содержал переменные среды% kind%, которые по какой-то причине не были приемлемыми для установщика. Таким образом, он корректно работал за пределами установщика, а не правильно, когда его вызывал установщик.

0

Просто угадайте здесь, но, возможно, BaseDirectory не имеет задней обратной косой черты. Попробуйте:

System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "installer.bat"); 

вместо этого.

+0

Нет, это не то. Я вижу, что скрипт запущен. Я вижу, что окно появляется на экране. Кажется, это как-то связано с установщиком. –

0

Попробуйте распечатать, что такое значение AppDomain.CurrentDomain.BaseDirectory. Возможно, это не так, когда вы устанавливаете installer.bat.

Кроме того, вы попытались добавить файл bat к пользовательскому действию (если это возможно)?

И, возможно ли переместить то, что находится в летучей мыши, к exe?

0

Проблема в пакетном файле?

Проверьте это:

\\shared1\\lists\\list1.cmd

, вероятно, следует

\\shared1\lists\list1.cmd

Обратите внимание на дополнительные \ символы в исходной команде. Это приведет к тому, что командный файл даст эту ошибку.

+0

Обратите внимание на дополнительный, который у вас есть? Сетевые пути: \\ computer \ rest – Samuel

+0

Хе-хе, да. К сожалению. –

Смежные вопросы