我已经将一个使用第三方dll的桌面应用程序部署到测试终端服务器,以报告其可用性。在我的测试中,我收到了这个错误:
An unhandled exception of type 'System.IO.FileNotFoundException' occurred in General Purpose.dll
Additional information: Creating an instance of the COM component with CLSID {8EB296F1-6C46-4BC1-9F00-B49F14B57DB8} from the IClassFactory failed due to the following error: 800a0035.
在创建新的第三方类时(对应用程序至关重要)会发生这种情况。据我所知,这是唯一有这类问题的第三方类,但是这个DLL中唯一一个。
应用程序使用ClickOnce正常部署以供正常桌面使用,但不适用于TS会话或服务器控制台。
所有DLL都设置为“Copy Local”,我已经确认它们被复制到用户本地设置“Apps \ 2.0 \ crazylongnamehere”文件夹中。
我选择了发布路线(通过MSI),因为我们目前拥有较厚的客户端,瘦客户端将随着时间的推移缓慢集成。
答案 0 :(得分:0)
如果您在其中一台终端服务器上,并深入查看ClickOnce缓存并双击[exe]文件,它是否有效?还是会崩溃?是否需要任何特权来做你想做的事情?
答案 1 :(得分:0)
在将参考文件复制到输出位置后,我终于让我的应用程序在TS上工作了。
解决方案是将引用的dll作为链接项添加到项目中,并将属性更改为:
一旦这些都得到更新,它就能正常工作。