This document gives high-level overview of the steps that need to be taken in
order to create an installation package for your web application, regardless
which technology is used to create your application and its installer.
This content of the document assumes that reader is familiar with the following
topics:
- Developer's Guide: The Overview.
- Developer's Guide: Creating Your Web App
Store.
- Developer's Guide: Creating
Application's Release Definition and managing product lines.
Let's say you already have a regular redistributable
intranet web app, which
becomes accessible inside the local-area network after the installation. All you
need to turn such intranet application into a secure Internet application
is the following change to the installation routine:
- Install HttpVPN Proxy on the client PC.
- Install your app (and a web server, if necessary).
- Launch HttpVPN Proxy Registration utility with the command line including
application's intranet URL and application's App Store Release ID.
In order to implement this step, a developer needs to get HttpVPN Proxy
redistributable package. It comes in two flavors: one is a self-installing EXE,
and another is the prerequisite for the Visual Studio Setup & Deployment project.
First kind, the EXE, is best for InstallShield, WISE or any other
third-party
installation authoring tools. Second option is for Visual Studio 2005 and 2008
developers, who create installers right in the Visual Studio.
If you are using InstallShield,
WISE or any other non Visual Studio installation authoring tool to implement
this step, or if you need HttpVPN Proxy redistributable components for any other
reason, download HttpVPN Proxy runtime using the second link on the
download page. Include the downloaded EXE into your app's setup package, and
launch the HttpVPN Proxy installer before executing step 3. If your app's
setup package is
Windows
Installer/MSI-based, then you need to launch HttpVPN proxy installer before
the MSI installation of your app, because normally one MSI installer can't
launch another, while installation is in progress.
To register your app with HttpVPN (at this point both HttpVPN Proxy and your
application are already deployed) the installer has to know web app's
intranet
URL and its Web App Store release ID, and then launch HttpVPN application
registration utility.
To see the exact command line (except the URL) for the start of the app
registration process, go to the Release Management page of your App Store, and
then click "Proxy Reg Info" link:
If you click the "Proxy Reg Info" link on the page as shown on the screen-shot
above, the release management page will display complete command line that your
installer will need to run to kick off the app registration process with the
HttpVPN:
As you can see, the command line has following format:
"%ProgramFiles%\UltiDev\HttpVPNProxy\Plugins\MyOwnSecureWeb.com\AgentPluginInstallUtility.exe"
/SKU=<App Release GUID> "/AppUrl=<App's
intranet URL>"
... and the value of the /SKU is provided by Web App Store, as shown on the
screenshot above. Just supply application's intranet URL, and the installer will
start the
process of application registration with HttpVPN.
Whenever /AppUrl parameter is used, the registration utility assumes that default document of the
URL is in application's root. For example, if web app was
registered as
/AppUrl=http://host/Folder/Subfolder/Index.htm, the registration utility will interpret it as
if http://host/Folder/Subfolder/ is the application root. If you want to register the same application
with its root being http://host/Folder/ and default document residing in the
subfolder
(Subfolder/Index.htm), the registration command line will have slightly different parameters:
"%ProgramFiles%\UltiDev\HttpVPNProxy\Plugins\MyOwnSecureWeb.com\AgentPluginInstallUtility.exe"
/SKU=<App Release GUID> "/AppUrlRoot=<App's URL root> "/AppUrlDoc=<App's URL default doc in subfolder>"
Parameter | Description | Examples |
/AppRegFile
|
Instructs the utility to load all registration parameters from an .hpvna file.
Instructs the utility to load all registration parameters from an .hvpna file.
When used, all other parameters are ignoreddds a Start menu item for
the re-registration of the app. A shortcut to an .hvpna file from a Start menu
will allow users to re-do HttpVPN application registration part in case
it was not completed during application installation.
|
"/AppRegFile=c:\Program Files\ISVName\WebApp\Re-register app with HttpVPN.hvpna"
|
/SKU
|
Release ID of the product. Can be obtained using "Proxy Reg Info"
link on the Application Releases section of the App Store page (see above).
|
/SKU=2e9c30bf-e393-42c5-a5dd-e5b72c3b8998
|
/AppUrl
|
Full intranet application URL. When used, default document
is assumed to be in the application root.
Ignored if both /AppUrlRoot and /AppUrlRoot parameters
are specified.
|
/AppUrl=http://machine:1234/Folder/Index.htm
/AppUrl=http://machine/Folder/
/AppUrl=http://machine:1234/
|
/AppUrlRoot
|
Specifies application root. Most useful when application
root is not the folder where default page is located.
Must be used together with /AppUrlDoc parameter.
Should not be used together with /AppUrl parameter.
|
/AppUrlRoot=http://machinename/
/AppUrlRoot=http://machinename/Folder/
|
/AppUrlDoc
|
Specifies application default page location.
Most useful when a default page is located in a subfolder
relative to application's root. Must be used together
with /AppUrlRoot parameter. Should not be used together
with /AppUrl parameter.
|
/AppUrlDoc=Subfolder/Default.aspx
/AppUrlDoc=Subfolder1/Subfolder2/
|
.HVPNA files contain values for AgentPluginInstallUtility.exe command line
parameters required to execute application
registration with HttpVPN.
.HVPNA file should be created by your application installation
to ensure that the application can be registered with HttpVPN outside of
the installation process. This is necessary because user may choose to
abort HttpVPN application registration sequence launched during the
installation process.
.HVPNA file extension is associated with AgentPluginInstallUtility.exe
and therefore when a user double-clicks .hvpna file, the process of
intranet web application registration with HttpVPN starts.
In most cases application installation routines should create .HVPNA file
and place a shortcut to the file into the Start menu.
.HVPNA file is a simple text file where every line contains one of the
AgentPluginInstallUtility.exe command line parameters, except /AppRegFile
(see table above).
Below are examples of valid .HVPNA files.
/SKU=2e9c30bf-e393-42c5-a5dd-e5b72c3b8998
/AppUrl=http://machinename:9874/
/SKU=2e9c30bf-e393-42c5-a5dd-e5b72c3b8998
/AppUrlRoot=http://machinename/
/AppUrlDoc=Subfolder/home.php
If you build an installer using Microsoft Visual Studio, please use this
detailed step-by-step walk-through,
explaining in details how to do it.
|