我知道这在过去被问过几次。我已经阅读了所有的回复和答案,但似乎都不合适。
我尝试将 .config 放在同一个组件和不同的组件中。我在同一个组件和不同的组件中尝试过 CompanionFile。我试过 CopyFile。我尝试了自定义操作。
该组件需要在 GAC 中,因为它是许多不同子系统(服务、网站等)使用的通用日志记录 dll。但它对所有系统的配置都是相同的。
所以现在我将文件安装到 SDK 目录并告诉用户复制文件。
唯一可行的方法是手动复制文件并对“您需要管理员权限才能执行此操作”说“是”。
<File Id="SDK.Logging.dll.config"
Source="$(var.LOGGER_DIR)\SDK.Logging.dll.config"
Vital="yes">
</File>
<Property Id="XCOPY">xcopy.exe</Property>
<CustomAction Id="Copy.SDK.Logging.dll.config"
Property="XCOPY"
ExeCommand='"[INSTALLLOCATION]SDK.Logging.dll.config" "[GAC.SDK.Logging.Dir]"' />