How to run a Delphi 6 executable on Windows Azure cloud platform (need tutorial/sample)?
Asked Answered
B

2

13

I've been reading up on Windows Azure cloud services lately. The problem I'm running into is that the Microsoft documentation is very Visual Studio centric. The second main source of tutorials/samples are based on the PHP for Azure environment. Neither of those use case scenarios fits my needs. I have a very rough idea of the configuration files and packages involved with creating an image that is compatible with a Azure VM, but I don't want to waste a lot of time figuring out the exact syntax/setup needed to get a simple Delphi 6 EXE that waits for HTTP requests on a port and returns documents without the help of IIS. I believe that my app would be classified as that of a Worker Role providing an HTTP endpoint.

Can someone point me to a simple tutorial that can show me how to do this without bringing VS, IIS, or PHP for Azure into the discussion?

Any tips/docs on being able to do remote desktop access in this scenario would be appreciated too, if it's possible to use RDP in this case.

Battology answered 3/7, 2011 at 17:3 Comment(2)
I would start with an HTTP Server Demo built with the component suite of your choice. You haven't mentioned if you intend to use indy, ics, synapse, or what component suite you might use to make a HTTP server that is standalone, but pretty much any of those would do just fine.Onfroi
Hello @Warren P. I use ICS. But I'm not sure how your comment helps with the Azure aspect of my question which is the only place I need help. I already have a fully functional version that runs on our corporate intranet with a port exposed through the firewall. Now I need to port that program to Azure.Battology
C
7

If you want to run a custom executable, AFAIK you have two options:

  1. Create a Worker role, and "Run" the custom EXE from some C# code. You can run it with Process.Start. What you need to do (or what we are doing with this example) is that we have an executable on our blob storage and we download it on worker role start. You will need Visual Studio to do this though. Keep in mind, the underlying machine is still a classic Windows Server 2008 (or R2) machine so you can save things in your local storage etc.
  2. Create a VM role - we have a blog post coming up on how to do that, but in general, you have a base image; which is a classic Windows Server installation, and it's run in the cloud. You can setup services, etc. and servers to be run on start. Each time you provision a new instance, a copy of this VHD is deployed and started.

IMPORTANT: in both of these case, you DO NOT have state. That means any logs, etc., are lost if you do not sync them to some sort of permanent storage (e.g. blob storage).

I would opt for option #1. If you need more info, let me know, I'll be happy to help if I can.

EDIT: I forgot to mention, we store our custom log data in a VHD mounted drive that's stored on blob storage - gives the application the feeling it's writing to a standard disk.

Clegg answered 3/7, 2011 at 18:5 Comment(5)
Vodovnik - Can't I just include the EXE in the package's app folders directory image instead of using blob storage?Battology
I think you could. We decided to go the BLOB way because we may want to update the executable and/or some additional files without doing the whole deployment. Your call though.Scarificator
Ok Thanks. I'm currently trying to get VS 2010 going. For some reason I'm not seeing the Cloud project templates when I run VS 2010 C# express. I'm wondering if the Cloud templates are only in VS 2010 Pro, or if it's because I installed VS 2010 Express after I installed Windows Azure SDK 1.4. I tried reinstalling the Azure SDK but the web installer simply says everything is already installed.Battology
Uninstall the SDK, and reinstall it again? p.s.: would appreciate if you would mark the post as answer if it solves your problem.Scarificator
Has the options changed any in the last 2 years with Azure?Muncy
T
1

If I read this: http://www.microsoft.com/windowsazure/virtualmachines/

It sounds like you should be able to create a VirtualPC image and install Windows Server 2008 R2 in it, and your application(s), then upload it to the Azure cloud and have it run for you. The technical details about access to HTTP from outside, I'm not sure since I don't have any experience with the Azure platform.

Toddle answered 3/7, 2011 at 18:6 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.