我正在尝试,目的是在Windows Azure上进行可执行程序工作。

首先我试图使用windows azure角色使用远程桌面工作(ref http://msdn.microsoft.com/en-us/library/windowsazure/gg443832.aspx ),我将我的exe复制到远程桌面,也是一些dll,然后我使用”regsvr32.exe“要注册这些DLL,那么问题来自:”并排配置是凹陷的“。

我知道如何在我自己的计算机中解决这个问题(只需确保正确的依赖项在“Winsxs”目录中),但现在它在使用Windows Azure角色的远程桌面中,我没有权限将正确的依赖项添加到WinSxS目录中。 所以在这里,我来提出一些帮助,提前谢谢!

ps:我无法改变我的exe引用的这些dll。

有帮助吗?

解决方案

我会说问题可能只是因为少数参考dll不在Azure VM中,因此当您部署包(EXE + DLL)时,您需要确定所有组件,它们都已注册系统。它确实很好,您可以使用RDP登录Azure VM,并测试您的部署方式如何通过Web / Worker将您的包部署到您的WABLE角色似乎良好。

您仍然需要进一步挖掘以了解为什么exe没有工作,如果您提供有关图书馆和流程的更多细节,我们可能会有所帮助,但上面的信息非常少于提供建议。 为了解决这样的问题,这是你应该做的:

  1. 创建一个zip文件,包括您的应用程序所需的所有参考dll / exe,静态文件
  2. 创建一个工作者角色并将此zip文件添加为内容,并将其属性复制本地设置为true。
  3. 将cmd批处理文件添加到Azure项目,并在以下写下所有步骤:

    3.1。将文件解压缩到本地文件夹 3.2。使用Regsvr32进程注册所有DLL 3.3。将exe设置为perviceDefinition.csdef

    使用exe作为programentrypoint,Worker角色主机进程将启动它并监控它,设置如下所示:

    <Runtime executionContext="limited">
     <EntryPoint>
       <ProgramEntryPoint commandLine="your_exe_name.exe" setReadyOnProcessStart="true" />
     </EntryPoint>
    </Runtime>
    
    .

    在您上面的设置后,您可以部署Azure包,然后部署RDP到Azure VM并测试您的应用程序是否有任何问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top