1

当我在 VS 2012 中使用 InstallShield LE 创建安装项目时,我将需要安装的项目添加到“文件”选项卡中(在安装项目中指定应用程序数据)。我还需要应用程序的本地化资源,所以我选择本地化资源。
安装后,第 3 方 dll 全部复制到语言文件夹中,而不是应用程序的主文件夹中。因此应用程序无法找到它们并且无法启动事件。
我尝试取消选中本地化资源输出的依赖项(构建时扫描的依赖项),但它们在主输出中也未选中。

如果我在输出中添加第 3 方 dll,它似乎可以工作,但这不好,因为它硬编码了 dll 的路径,迫使我的团队中的每个成员在每次需要构建它时更改设置项目。

关于如何将依赖项安装在正确位置的任何想法?

编辑:
经过进一步测试,问题似乎是随机的,在某些情况下它会正确创建路径,但在大多数情况下不是。

4

1 回答 1

2

假设设置有以下输出:

MainProject.Debug 符号
MainProject.Localized 资源
MainProject.Primary 输出
AuxProject.Debug 符号
AuxProject.PrimaryOutput AnotherProject.PrimaryOutput
如果

您右键单击“MainProject.Localized 资源”和“MainProject.Primary 输出”,然后选择“Dependencies from scan at build...”,可以看到它们都具有相同的依赖关系。这是我的问题的原因(在本地化文件夹中复制的依赖项)。
为了解决这个问题,我转到 MainProject.Localized 资源,右键单击它,选择属性 -> COM & .NET 设置选项卡 -> 将“扫描时生成”设置为“无” -> 确定。
现在它在 InstallShield builds DVD-5 和 Single Image (tested) 上构建设置并正确安装。

于 2012-12-14T10:16:54.113 回答