加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Advanced Installer打包包含水晶报表的机房收费系统

发布时间:2020-12-17 08:12:08 所属栏目:百科 来源:网络整理
导读:个人版机房收费系统做完之后,要进行异地发布,本来想用VB.NET自带的工具进行打包,却不如我愿,怎么弄也弄不好,只好重新找个工具,就找到Advanced Installer了,现在就说说我用这个软件打包时需要添加的几个.msm文件及出现的一些错误。 我的个人版机房收费

个人版机房收费系统做完之后,要进行异地发布,本来想用VB.NET自带的工具进行打包,却不如我愿,怎么弄也弄不好,只好重新找个工具,就找到Advanced Installer了,现在就说说我用这个软件打包时需要添加的几个.msm文件及出现的一些错误。

我的个人版机房收费系统包括两个报表,第一个是水晶报表(Grid++Report)和VB.NET自带的Reportview,我用的版本是Advanced Installer 9.8的汉化版。

需要添加的.msm文件:

当你在将你需要打包的文件添加进去的时候,不要忘记在左边选择合并模块,添加你需要的.msm文件,即在这里添加:

如果没有crystal reports redist要先下载,然后将下载的crystal reports redist放到C:Program FilesCommon FilesMerge Modules,并添加CrystalReportsRedist2005_x86或CrystalReportsRedist2005_x64(就看你的机子是多少位的了)

同时添加的文件还有C:Program FilesCommon FilesMerge Modules对应你电脑的机型的所有MSM文件。

错误一:

安装成功后,系统找不到水晶报表的文件,经过检查弹出的错误提示,发现是水晶报表的路径不对。设置路径我们要用水晶报表的当前路径,同时,把水晶报表.grf文件放在当前打包文件下的UIbinDebug下,将报表也打进去。

如何设置报表的当前路径呢?

在VB中用的是App.Path,在VB.NET用的是Application.StartupPath,示例:

Imports Microsoft.VisualBasic.Compatibility  '导入获取文件路径的类库
Public Shared GridppReport As New grproLib.GridppReport
Public Shared Function GetSampleRootPath() As String
        GetSampleRootPath = Application.StartupPath()  '获取报表路径
End Function
 Private Sub frmDayCheck_Load(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles MyBase.Load
GridppReport.LoadFromFile(GetSampleRootPath() + "日报表.grf") '加载模板报表
End Sub

错误二:

在打包安装完之后,VB.NET自带的报表却不能显示,出现错误:未能加载文件或程序集“Microsoft.ReportViewer.WebForms,Version=9.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。系统找不到指定的文件。

解决方法:

在打包的时候,添加模块中同样添加以下三个.dll文件:

Microsoft.ReportViewer.Common.dll

Microsoft.ReportViewer.WebForms.dll

Microsoft.ReportViewer.WinForms.dll

这三个文件存在位置:

如果你的VS安装在C盘,那么就在C:Program FilesMicrosoft Visual Studio 9.0ReportViewer

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读