2012-02-24 145 views
0

我已经在我的Visual Studio安装项目中成功实现了自定义操作,以加密app.config文件,并通过文本框捕获用户输入。但是我的项目有我想要合并的第三方dll引用。我已经使用redgate smart assembly进行了合并,之后当我使用合并的混淆程序集构建安装项目时,在安装过程中出现错误(无法获取安装程序类型,用于汇编错误1001)。visual studio/installshield设置项目

你能告诉我怎样的app.config和捕捉用户输入通过使用InstallShield

回答

1

InstallerClass自定义操作(InstallUtil)的自定义对话框进行加密是很脆弱的,不应该被使用。您遇到的问题很可能是您的自定义操作程序集引用了一个程序集,因为该程序集已合并到另一个程序集中,所以该程序集在磁盘上不再可以找到。

InstallUtil CA无论是由Visual Studio安装项目还是由InstallShield Basic MSI项目调用,都会发生此问题,因为问题不在MSI中,而是在您的CA中。

我建议你看看WiX部署工具框架(DTF)。这是实现托管代码自定义操作的更简洁的方式,以便CA及其所有依赖项作为Windows Installer的单个本机DLL显示。在运行时,本地存根提取所有文件,运行您的.NET代码,并为您编组双方之间的所有MSI API调用。

它非常干净,可用于安装项目,WiX,InstallShield和其他MSI创作工具,因为输出是一个带有导出stdcall函数的简单Win32 DLL。 (Msi Type 1定制动作规格)

+0

thx提醒WiX。我正在看它,并会告诉我们是否解决了我的问题 – jeff 2012-02-24 12:28:41

+0

FYI'dtf自定义操作'是一个很好的谷歌搜索。 – 2012-02-24 13:18:08