2008-12-11 3 views
2

Скажем, у меня есть общее приложение вертикального рынка, и я хочу его упаковать как две отдельные программы aaa.exe и bbb.exe. Есть ли способ использовать компоновщик Delphi для создания EXE/DLL-файла, который не имеет то же имя, что и DPR?Как переименовать exe-файл

Я не могу просто переименовать файл, потому что я получаю эту ошибку

 
    bbb.exe - Unable to to locate component 
     This application has failed to start because aaa.exe was not found. 
     Re-installing the application may fix this problem. 

В настоящее время в целом, я могу переименовать исполняемый файл, но это не один. Спасибо за комментарии, чтобы указать на мою болтливость в этом отношении. Есть проблема, очевидно, не нормальная, возможно, даже не обязательно связанная с Delphi.

Я использую Delphi 7 (если это возможно в 2007/2009, что было бы удивительным, потому что мне нужно больше кормов для обновления)

+0

Как именно вы пытаетесь переименовать файл, чтобы создать это сообщение об ошибке? Какой инструмент/команда вы используете? Выход не выглядит знакомым вообще. – 2008-12-12 16:40:32

+0

Это окно сообщений Windows, я получаю сообщение об ошибке при попытке запустить исполняемый файл. Я переименовываю с помощью проводника Windows, ничего необычного. – 2008-12-12 18:20:52

+0

Итак, вы действительно смогли переименовать файл, но ошибка показывает, когда вы пытаетесь запустить переименованный исполняемый файл? Это было не совсем понятно из ваших предыдущих описаний. Похоже, ваша программа смотрит на свое собственное имя файла и пытается извлечь из него что-то. – 2008-12-13 01:31:05

ответ

15

Delphi 2007 и Delphi 2009 и использовать MSBuild. Вы можете использовать события post-build в MSbuild, чтобы делать практически все, что захотите. Например, вы можете использовать задачу «Копировать», чтобы скопировать EXE в новое имя файла.

4

В дополнение к превосходному ответу Крейга (проголосовавшему), если вы, к сожалению, застряли в D7, то, что говорит Крейг, может все же применяться, вам просто нужно будет сделать тяжелый подъем, т. Е. Создать сценарий сборки для создания своего приложений, а не просто компиляции из среды IDE, используйте сценарий dos или (даже лучше) powershell, его немного работайте впереди, но дает большую гибкость в долгосрочной перспективе.

+0

+1. Я сделал это с D7 и FinalBuilder. – Jamie 2008-12-12 08:25:54

4

Вы можете использовать менеджер сборки, такой как FinalBuilder или даже MSBuild самостоятельно. Тем не менее, я по-прежнему рекомендую обновить Delphi 2009. Есть так много других потрясающих дополнений к 2009 году.

0

Или вы могли бы проверить, что программа запускает ее собственное имя exe. Если это не файл aaa.exe или bbb.exe, попробуйте скопировать его в эти два имени и завершить (или запустить их!).

2

Нет, вы не можете заставить компилятор создать файл с именем, отличным от имени проекта ,

Вы можете поместить свой проект в «группу проектов». Добавьте в группу пакетный проект и в этом пакетном проекте добавьте команду для переименования или копирования файла. Когда вы выберете «Скомпилировать все» или «Создать все», ваш основной проект будет обработан, и если он будет успешно компилироваться, будет обработан следующий проект, запустив командный файл.

Или, поскольку вы только сказали, что хотите до пакет как две программы, просто настройте установщика для записи двух копий во время установки, используя разные имена, вместо того, чтобы создавать обе копии в вашей среде сборки, а затем распространять две копии файла.

Я не понимаю вашего комментария о невозможности переименовать файл после его компиляции. Переименование EXE-файла полностью разрешено, если оно не используется в то время.

3

Почему Вы не можете переименовать файл после компиляции? Я не получаю всю ссылку unix. Я могу переименовать каждый исполняемый файл, который я нахожу на своей машине, ну ... почти все, до тех пор, пока они не выполняются.

Почему ты не можешь? Что ты нам не рассказываешь?

Простой щелчок правой кнопкой мыши по файлу в проводнике, выберите «Переименовать» и дайте ему новое имя. Это не работает для вас?Если нет, пожалуйста, скажите нам, почему, потому что там есть то, что вы не рассказываете нам о вашей ситуации.

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

  • Нет связанных вопросов^_^