【问题标题】:Issue with silverlight application OOB on corporate network企业网络上的 Silverlight 应用程序 OOB 问题
【发布时间】:2012-07-07 07:09:11
【问题描述】:

我正在开发一个适用于 OOB 的 Silverlight 应用程序。当我在 VS2010 中调试应用程序时,它就像魅力一样工作,即使我将它安装在我的 PC 上也是如此。该应用程序正在使用 Excel COM 自动化来自动创建、读取和写入 Excel 文件。

我现在面临的问题是,当我在公司网络上运行应用程序时,我无法创建任何 Excel 文件。虽然如果我使用 MS excel 创建一个 excel 文件并尝试使用我的应用程序对其进行读写,它会正常工作。

OBS!!!我在我的 PC 和公司 PC 上使用相同版本的 MS excel。

我的问题是,这(不能创建,但可以读写)是否与 cor 上的用户权限有关。网络?

【问题讨论】:

    标签: excel silverlight-4.0 comautomationfactory


    【解决方案1】:

    我确定这是权限。如果路径不正确,甚至在较新的操作系统上使用 winform 和 wpf 应用程序时也会发生这种情况。

    尝试为文件创建和使用“特殊文件夹”。

    System.Environment.SpecialFolder.ApplicationData 等

    As a developer, how should I use the special folders in Windows Vista (and Windows 7)?

    我建议在 MSDN 上查找特殊文件夹。不久前我遇到了类似的问题,现在我在开始一个新项目时总是会想到 UAC。

    【讨论】:

    • 感谢您的回答,您是指通过管理员授予我的权限吗?顺便说一句,我在 Q 中并不太清楚。在家里我使用 Windows 7,在工作中我使用 Windows XP。当涉及到应用程序时,在我的代码中,我使用 Enviroment.SpecialFolders.Personal 来创建/读取/写入“我的文档”中的文件。创建文件时出现错误,而如果我使用 MS Excel 创建文件并将其放入“我的文档”中,我可以轻松地对其进行读写。
    • 使用 excel 很简单,但文件创建是个问题。我使用 Dim UACSAFEEDIR = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) 如果我的文件夹和文件最终这样 C:\Users\Dave\AppData\Roaming\someapp
    • 嗨戴夫,我尝试了你的建议并做了一些测试,但我仍然遇到了同样的问题。我让我的系统管理员为我安装和运行该应用程序,但她无法运行它。知道为什么吗?
    • 不确定。如果他们以管理员身份运行它并且它仍然没有运行,它可能是一个被阻止的程序集或一个空的 try catch?这很奇怪,我有一个配置非常严密的 win2008 服务器,我只需以管理员身份登录就可以运行大多数事情。希望我能提供更多帮助
    【解决方案2】:

    在回答我自己的问题之前,让我总结一下我面临的问题。

    我正在开发一个 Silverlight 应用程序,该应用程序在 OOB 中使用 Excel COM 自动化来创建/读取/写入 Excel 文件。该应用程序在我运行 windows7 的 PC 上运行良好,无论是在调试还是在运行时。当我尝试在我的公司网络上运行我的应用程序时(那里的所有 PC 都使用 Windows XP),我无法运行它。所以为了解决这个问题,我经历了以下:-

    1. 我联系了我公司的系统管理员给我更高的权限,但他无法运行我的应用程序。 (失败)
    2. 我尝试将应用程序中的一些代码(如 System.Environment.SpecialFolder.Personal)更改为 System.Environment.SpecialFolder.ApplicationData。你猜怎么了?另一个失败:(
    3. 最后,我在家里的另一台装有 Windows XP 的 PC 上运行了该应用程序,你猜怎么着?它运行。但是为什么不在我的公司 PC 上呢???
    4. 现在我想我知道问题所在了。我设法在我家的 Windows XP PC 上重现了这个问题并解决了它。下周将尝试在公司进行测试。

    整个问题通过以下步骤解决:-

    1. 转到管理工具。
    2. 找到组件服务并打开它。
    3. 浏览至 DCOM 配置。
    4. 找到 Microsoft Excel 应用程序,右键单击并选择属性。
    5. 在“安全”选项卡上,将“启动和激活”权限更改为“自定义”。
    6. 然后给用户添加权限。

    之后你就可以启动了 ;)

    您也可以阅读以下内容了解更多信息:- Microsoft Excel Application entry missing in DCOMCNFG

    我将在我的公司 PC 上对此进行测试后更新此线程。

    最好的问候

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-06
      • 2012-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-04
      相关资源
      最近更新 更多