I'm developing an Inno Setup installer and I need to manage an IIS server from my delphi code. I've googled how to add/remove ISAPI filters and how to create a virtual folder. However, I still need to be able to add/remove/list ISAPI extensions and create/remove websites. So my question is how can I do that?
IIS admin has a scripting interface, you should be able to call from either Delphi or InnoSetup or a combination of both:
http://msdn.microsoft.com/en-us/library/ms526050(VS.90).aspx
Related
This may be a terribly simple question, but....
I am using MVC3, Razor, C#, ASP.NET4.5/SQL Server 2008 and deploying to Azure Websites & SQL Azure.
I need to copy all of my source code, without compilation, from my web application ie model source, class libraries and views. All additional projects such as Entity Framework DAL projects will remain as a DLL. However I do not wish to have a web application DLL since I need to edit C# code in situ, and have the site run using this code, no doubt using the JIT compiler.
The main reason is because I am doing some integration work and the 3rd party site sends a return url back, and "Localhost" is not very accessible to the outside world, so wish to use my Azure website instead.
So can I copy my web application code as source, and if so is it a matter of copying all the C# files up and removing the web application DLL?
Thanks in advance.
EDIT
Further thoughts. Azure Websites provides a container for the Worker process to operate which hosts the Application DLL which is P-Code which is then dynamically compiled to native code. So I am not sure if one can start with a source C# file like one can with a Razor View.
EDIT2
Or do I need to make the changes on my Local machine and keep republishing to Azure Websites to test the integration? A little long winded...
MVC Sites must be Web Applications, they cannot be on the fly compiled. Sorry, there is no way around this. You must compile your code into a DLL for it to run if you want to use MVC.
The reasons for this are many, but a big one is that the "on the fly" compilation model used by ASP.NET Web Site projects does not use namespaces, and namespaces are very important to the operation of MVC.
Another issue is that MVC depends heavily on static assembly references, which is also not the case in Web Site projects.
In general, ASP.NET Web Site projects are poorly supported, have a lot of issues that make them unsuitable for larger projects, and even more unsuitable for use with more advanced frameworks.
I am currently using Delphi 5 and planning to migrate application to latest version(XE3) or to other technology. Main purpose of migration is dont want thick client. In currrent scenario application(exe) gets downloaded to the users local folder and then it runs rom local. Main purpose is dont want to download the application to users machine. .
Wanted to stick with Delphi if that downloading limitation resolved. Is there web solution? or way to access the application from common point without downloading to users machine.
Thanks for the help and suggestions.
Note: There are lots of users who uses these application.
Depending on the type of application you could add web layer around the core functionality of your application.
If you create something like a SOAP or REST interface, you can write a web client in any language that suits. Could be Delphi, or some more web-oriented language like PHP or ASP.Net.
By having a web interface your users can access from any platform.
On the other hand, if your current application is not layered properly, and you've got a lot of code mixed between the GUI and your model, this could be difficult. It would mean rewriting a lot of code, or just accept the fact that your users need Windows, and an .exe file.
At least by using Delphi, your users don't need to download a huge framework that requires administrator privileges to install.
Anyway, you should provide some more information about what you already have, and what type of application it is, how complicated it is, etc.
If you are planning a move to Java Enterprise Edition (Java EE), accessing existing Delphi logic can be achieved using two communication models, using existing commercial and open source solutions:
for synchronous (request/response) style communication between Delphi and Java, there are lightweight web frameworks for Delphi (I wrote this one recently) and open source JSON/XML libraries which can be used for data exchange. This allows the Java application server to access Delphi logic over HTTP
for asynchronous communication, I wrote (commercial) message broker client libraries for Delphi and Free Pascal, they can be used with the Java Message Service (JMS) servers in the JBoss and the GlassFish application server - JBoss and GlassFish already include a messaging solution (HornetQ and Open MQ), as a mandatory part of the full Java EE profile
I also have written some step by step tutorials for JBoss and GlassFish Delphi integration:
Delphi Integration with JBoss Application Server 5
Delphi Integration with the GlassFish v3 Application Server Part 1 - Sending Messages
Delphi Integration with the GlassFish v3 Application Server Part 2 - Receiving Messages
Is there a way to create an installable (ideally XCopy installable) version of an ASP.NET MVC application that will run in a standalone fashion on a Windows XP machine?
I don't mind installing SQL Server Express for this purpose, so I guess the question boils down to this: Can the Cassini web server that comes with Visual Studio 2008 be bundled with the application? Or are there other options?
NOTE: The installation is for demo purposes only, so there are no licensing problems. Also, I am suggesting Cassini because I don't know of a way to install IIS7 on Windows XP. I can't do major hackage on the registry to get this to work.
Not sure if it'll help, but you could definitely check out the UltiDev Cassini Web Server, which can be bundled with your app and should support what you need.
You can package, embed, bend fold and spindle CassiniDev with my blessings.
I have been told that it suits this purpose admirably.
I think this is a bit old, but check out http://msdn.microsoft.com/en-us/magazine/cc188791.aspx.
Also, the ComponentArt demos run on Cassini.
My company makes a product for this purpose called the Neokernel Web Server which includes several features that are missing from cassini like SSL support, logging, multi-threaded request processing, and the ability to start/stop/configure the server from your own process.
A free 30 day evaluation license is available for testing and evaluation purposes.
http://www.neokernel.com
The project is developed using ASP.NET MVC framework and heavily relies on .NET 3.5.
What would be the best solution to allow a web designer, who is using OSX, to develop the site's UI? Basically he would just need to edit the aspx, css and js files, but also run the web application locally.
I've thought of some possibilites:
Install parallels/vmware/bootcamp and set up everything as you would for windows. Bad: it would be slow, OSX user doesn't like working in windows
Set up Mono and run the webapp on that. Use whatever tool you want for editing the front end files. Bad: does mono support MVC framework, .NET 3.5 and database connections? Unfamiliar platform, so possibly a lot of work setting it up, if it even will work.
Run the site on a separate server, and edit the front end files via network drive. Bad: our development server is so slow that seeing the changes takes too long...
Do you have other ideas or comments for these options?
Thanks!
You could try using a virtual machine. VirtualBox is a free one and is quite simple to setup. The only downside is that you need your own copy of Windows...
What you really need to do is have your web designer mock up the pages in static HTML, CSS, and JavaScript first (in their environment of preference.) Once that's done, adapting the markup to the ASP.NET project should be easily doable by yourself or the designer on a Windows machine (or virtual machine, your preference).
The MVC framework is part of Mono. Ares Technica has an article about the MVC framework and running it on Mono.
While it seems that some people were able to hack the framework to work on Mono back in March and April of this year, Microsoft has since released the MVCframework as open source and it is now fully supported by Mono as of the 2.4.2 release.
Here is a link to the most recent Mono releases along with Virtual Machine images that already been pre-configured to give you the best development experience.
Good luck with your project and hope this helps some.
My app has its own installer but I have to guide my users to install Firebird on their own.
I'd like to install it automatically.
Thanks.
You can download Firebird source code. It contains InnoSetup script that actually installs firebird on windows targets. You can then modify it to suit your needs.
As a side advice, maybe you should consider Inno Setup yourself.
InterBase and hence Firebird provide an API you can use in your installer script to automate installation.
See documentation for this API in the document "InterBase 5.5 Embedded Installation Guide" http://dn.codegear.com/article/26386
The InterBase Express (IBX) components provide a Delphi binding for the installation API. This is documented in the InterBase 6.0 "Developer's Guide".
#mghie and #TOndrej have made comments about my mistake. I was the Product Manager for InterBase once upon a time, when InterBase did provide an installation API. But this answer is outdated, by literally ten years now.
Here's another resource which is more up to date:
Unofficial Firebird Installation page
This has step-by-step instructions for creating your own Inno Setup installer for Firebird, to accompany your own application installer. No doubt you could use a different installer technology for your application, and simply call the Inno Setup installer as an external program from your installer. But it would probably be more seamless if you also use the Inno Setup for your own product.
If you don't need standalone Firebird server, you could also just include required files in your setup and use Firebird as a embedded SQL server.
See http://www.firebirdsql.org/manual/ufb-cs-embedded.html
Create a bootstrapper, for your product and the prerequisites that your product needs.
Other products might be a good model to follow. For example, Pidgin relies on a specific version of GTK and guides you through running the GTK installer. Being open source, one option would be to look through the source for their NSIS installer package to see how they're doing it.