如何重命名exe文件

时间:2008-12-11 21:28:09

标签: delphi linker rename

说我有一个通用的垂直市场应用程序,我想将它打包为两个单独的程序aaa.exe和bbb.exe。有没有办法使用Delphi链接器创建一个与DPR名称不同的EXE / DLL文件?

我不能只重命名文件因为我收到此错误

    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,这将是非常棒的,因为我需要更多的饲料进行升级)

6 个答案:

答案 0 :(得分:15)

Delphi 2007和Delphi 2009都使用MSbuild。您可以在MSbuild中使用后期构建事件来执行您想要的任何操作。例如,您可以使用“复制”任务将EXE复制到新文件名中。

答案 1 :(得分:4)

除了Craig的优秀答案(投票结果),如果你不幸被困在D7中,Craig说仍然适用,你只需要自己做繁重的工作,即创建自己的构建脚本来构建你的应用程序而不是仅仅从IDE编译,使用dos脚本或(甚至更好)PowerShell,它可以预先做一些工作,但从长远来看,它会给你更大的灵活性。

答案 2 :(得分:4)

您可以自己使用像FinalBuilder甚至MSBuild这样的构建管理器。我仍然建议升级到Delphi 2009。 2009年还有很多其他神话般的新成员。

答案 3 :(得分:3)

为什么无法在编译后重命名文件?我没有得到整个unix参考。我可以重命名我在我的机器上找到的每个可执行文件,好吧......几乎每个人,只要他们当前没有执行那个。

你为什么不能?你不是在告诉我们什么?

在资源管理器中右键单击该文件,选择“重命名”,然后为其命名。这不适合你吗?如果没有,请告诉我们原因,因为你没有告诉我们你的情况。

答案 4 :(得分:2)

不,你不能让编译器创建一个名称与项目名称不同的文件。

您可以将项目置于“项目组”中。将批处理项目附加到组,并在该批处理项目中,输入命令以重命名或复制该文件。当您选择“全部编译”或“全部构建”时,您的主项目将被处理,如果编译成功,下一个项目也将被处理,运行批处理文件。

或者,既然您只想将打包它作为两个程序,只需将安装程序配置为在安装期间使用不同的名称编写两个副本,而不是在构建环境中生成两个副本,然后分发该文件的两个副本。

我不明白你在编译后无法重命名文件的评论。完全允许重命名EXE文件,只要它当时没有使用。

答案 5 :(得分:0)

或者您可以让程序在运行时检查它自己的exe名称。如果它不是aaa.exe或bbb.exe,那么让它自己复制到这两个名称并终止(或启动它们!)