程序在MSI安装后导致错误

时间:2014-06-06 11:20:08

标签: c# excel csv windows-installer converter

我创建了一个C#VS2008程序的msi安装程序。该程序从位于安装文件夹中的xml文件中读取数据,并复制可在同一文件夹中找到的excel文件。

当我在调试模式或发布模式下运行它时,它工作正常。但是,使用MSI安装程序后,我使用真正的可执行文件,我收到以下错误:

  

错误:拒绝访问路径C:\。 (现已解决)

     

错误:找不到匹配的个人资料。联系您的服务提供商。 (现在已经解决了。)

     

错误:字典中没有给定的键。 (这发生过   在另一台机器上,一台笔记本电脑,当试图从csv转换为   Excel中。)

有关安装MSI后可能导致此问题的任何想法?

编辑:前两个错误已经解决,但是,第三个错误仍然存​​在。

2 个答案:

答案 0 :(得分:0)

出于好奇:您在构建计算机上使用哪个.NET框架以及在笔记本电脑上安装了哪个.NET框架?您还需要安装Windows Installer。版本很重要,因此请检查您的构建计算机和笔记本电脑上是否安装了相同的Windows Installer版本。

答案 1 :(得分:0)

由于它在开发人员计算机上运行良好,因此很可能是程序所需的缺少组件。可能是组件(DLL等)可能未在目标计算机上注册。确保安装程序安装并注册程序所需的所有组件。

/在第一条评论

后更新

此外,您还可以找到解决方案属性中使用的引用。见下图,

enter image description here

这将告诉我们使用的引用是什么。此外,复制本地列中任何显示 True 的内容都需要与目标计算机上的程序位于同一文件夹中,并且必须注册。 错误意味着它们在.NET框架中是自己的,不需要复制到目标计算机,因为它将自己在.NET框架中。

此外,您可以使用以下命令注册组件

在32位电脑上:

  

“regsvr32.exe”“组件文件路径和名称”

在64位电脑上:

  

“C:\ Windows \ SysWOW64 \ regsvr32.exe”“组件文件路径和名称”

您可以通过VBScript(* .vbs)文件运行它。