WiX:VS2013 如何更改输出目录

Ole*_*leg 4 windows-installer wix visual-studio-2013

我在 VS2013 中有一个 WiX 项目。

wixproj 中的输出目录为:

bin\$(Platform)\$(Configuration)\
Run Code Online (Sandbox Code Playgroud)

事实上它是

\bin\x64\Release\en-us
Run Code Online (Sandbox Code Playgroud)

如何以及在何处将实际输出更改为

\bin\x64\Release\
Run Code Online (Sandbox Code Playgroud)

?

Nik*_*kin 5

通过;(单分号)作为要构建的文化列表。WiX 将其解释为一个单一的、空的文化代码,意思是“中性文化”。


Mar*_*los 4

首先,发生这种情况的原因。当指定要生成的多种区域性(例如 en-US 和 ja-JP)时,Visual Studio 需要一种方法来区分生成的安装包。这就是为什么您会获得附加了区域性字符串的输出路径的原因。

\n\n

如果您有单一区域性,则可以在 Project Properties\xe2\x86\x92Build\xe2\x86\x92General\xe2\x86\x92Cultures 中指定它来构建。

\n\n

文化建设

\n\n

因此解决方案之一是使用单一文化。如果无法做到这一点,您可以修改 wix2010.targets 并编辑目标链接。原始目标在 Light 任务下的第 2497 行有以下代码:

\n\n
OutputFile="$(TargetDir)%(CultureGroup.OutputFolder)$(TargetName)$(TargetExt)"\n
Run Code Online (Sandbox Code Playgroud)\n\n

然后您需要删除%(CultureGroup.OutputFolder). 不要忘记区分不同的文化。这种区分的一种解决方案是这样的(未经测试):

\n\n
OutputFile="$(TargetDir)$(TargetName)%(Culture)$(TargetExt)"\n
Run Code Online (Sandbox Code Playgroud)\n