8

我正在尝试将我在具有 IIS 的服务器上托管的网站移动到 Azure 网站。我正在使用 COM 对象,但我不确定是否可以注册它?我发现一些帖子谈论上传 dll 并在启动时注册它,但该文章似乎丢失了。这可能吗?

4

2 回答 2

6

我在 Azure 上注册旧 COM 组件时遇到了这个确切的问题。我在这里记录了我的方法:

Windows Azure 上的 AspPDF 和 AspJPEG

Igorek 是正确的,您需要使用 Web 角色来实现这一点。上面的解决方案基于带有启动脚本的单个 Web 角色,以将 regsvr32 作为启动任务运行。

总而言之,实现这一目标基本上有两个部分。首先创建一个批处理文件来运行 regsvr32 命令:

chcp 1252>NUL
regsvr32 /s .\library\my-com-class.dll
exit /b 0

然后在你的 ServiceDefinition.csdef 文件中定义一个启动任务:

<Startup>
<Task commandLine="mybatchfile.cmd" executionContext="elevated" taskType="simple" />
</Startup>

这将触发命令文件在部署时运行。

于 2013-04-16T15:16:01.627 回答
3

不能在 Azure 网站中注册 COM 对象。您需要升级到 Web 角色才能执行此操作。com 对象的注册可以在启动脚本期间发生。

于 2013-04-16T14:43:43.087 回答