更新:我更改了这个问题的标题,以反映以下一些答案的真正需要。
我希望能够在 Linux 中从 Visual Studio 2010 的本机部署工具中生成的 MSI 获取特定的可执行文件。但是 cabextract 得到的名字都很时髦:
-rw-r--r-- 1 root wheel 159 Jul 16 17:26 _07DAC52BD05CC8A8D6B2195350CC8C13
-rw-r--r-- 1 root wheel 34304 Oct 29 12:10 _09C75789ECE59A0AC891A85289474E75
-rw-r--r-- 1 root wheel 8704 Oct 29 12:10 _0CB147FD23752DEFAC3B73925E1E38DB
-rw-r--r-- 1 root wheel 766 Oct 29 12:10 _1D0B16C3296C400D9FD4018E77AC0B05
-rw-r--r-- 1 root wheel 10752 Oct 29 12:10 _24792622E94742D68A455C4F1D54D51F
-rw-r--r-- 1 root wheel 159 Oct 29 12:10 _90A663D25084CD22A230CCB8F55A3700
-rw-r--r-- 1 root wheel 12800 Oct 29 12:10 _BC47FBF48B42E5E71C9901188422814A
-rw-r--r-- 1 root wheel 873984 Oct 29 12:10 _EAFFD36EAA914E7F9D3DAC8BA13DFB6A
-rw-r--r-- 1 root wheel 4608 Oct 29 12:10 _F434E52DDE0AB5C2D68CE7A78B0B2477
-rw-r--r-- 1 root wheel 467456 Oct 29 12:10 _F90AF0EB7EEF445A92623132D00191EA
-rw-r--r-- 1 root wheel 421200 Oct 29 12:10 F_CENTRAL_msvcp100_x86.AFA96EB4_FA9F_335C_A7CB_36079407553D
-rw-r--r-- 1 root wheel 773968 Oct 29 12:10 F_CENTRAL_msvcr100_x86.AFA96EB4_FA9F_335C_A7CB_36079407553D
与解决方案的 Release 目录相比,我可以看到我想要的文件 (itragent.exe) 实际上是 _F90AF0EB7EEF445A92623132D00191EA - 有没有办法在 Linux 中以编程方式得出这个结论?使用 cabextract 还是借助其他实用程序?那里有两个 XML 文本文件,但它们只有 .NET Framework 版本信息,没有别的。
或者,有没有办法强制 VS 2010 在 MSI 中使用正确的名称归档可执行文件?