This whitepaper describes using InstallAware for deploying applications running for the Microsoft .NET Framework. Although the .NET Framework makes deploying applications easier as a result of features like the Global Assembly Cache, which eliminates shared resource conflicts often encountered by Win32 applications, it is possible to unique challenges towards the deployment of .NET applications. One significant challenge may be the download and installation of the .NET Framework, which requires considerable bandwidth and raises the setup package size dramatically. InstallAware addresses this challenge by using a combination of unique deployment technologies, including WebAware Installations, superior compression, and MSIcode scripting.
InstallAware's unique WebAware Installation technology can be used to isolate application runtimes in the main setup program, while still providing a self contained installer that work well without mandating an Internet connection. This technology works well with the .NET Framework runtime, greatly simplifying deployment by downloading and installing the runtime not until called with the setup.
Another key InstallAware technology will be the superior LZMA/BCJ2 compression, which pre-processes data using call jump converters to raise compressibility, then compresses the optimized data streams by using a large 32 MB data buffer. The LZMA/BCJ2 algorithm is so efficient who's decreases the size the .NET Framework to literally half its already compressed size.
While offering new and unique technologies, InstallAware is completely standards based - every InstallAware setup is really a pure Windows Installer (MSI) package that will execute directly, without requiring a third-party scripting runtime to be previously installed. Windows Installer may be the only Microsoft approved installation technology and is often a feature Microsoft logo certification programs. It offers a number of other advantages like elevated-privilege installations in high-security contexts and automated corporate deployment using Active Directory Group Policy. These benefits make MSI packages the only accepted software distribution format for large enterprises.
Creating a .NET Project
To develop a simple .NET Project using InstallAware, perform the following steps.
1. Click the InstallAware button around the top left corner in the IDE window, then choose New Project - .NET Setup for the application menu. The New Project window is displayed.
2. The .NET Setup project type is pre-selected. Additionally, the New Project window lists other kinds of templates, wizards, sample projects, and project converters.
3. Under the Project Name field, accept the default price of My dotNET Setup, or provide your personal project name. Projects are typically created through your My Documents folder, and reside in their own subfolders. If you would like to employ a different folder, enter that folder name here, or utilize the suggested value. Click OK when you're ready to produce the project.
4. The IDE has now developed a new setup project through the chosen template, and displays the Welcome Page inside the MSIcode tab. Various other pages can be purchased letting you see the complete source code in our setup project. You can have a look at these source codes later, after the basic setup has been built. To get started, choose the Design tab switch towards the Design Views which you may be using to produce your setup.
5. The Application Information designer appears, providing a summary in the various designers which have been categorized under this heading. In the InstallAware IDE, each designer is categorized with a particular heading for easy accessibility. All available headings and designers are listed about the tree view at the left with the IDE, and also inside View group in the about the Design tab. Clicking a heading or possibly a designer switches fot it design view. Designers perform selection of installation tasks ? from basic steps like copying files and creating registry keys, to complex operations like installing application runtimes, hardware drivers, running SQL scripts, and more. As you work with the designers, they seamlessly enhance increase the actual MSIcode causes of your setup. Remember ? the designers give a rapid strategy to prototype the basic behavior of your respective setup, however are not restricted to the things they offer. The full power and richness in the MSIcode scripting language is always one look away.
Take an instant to analyze the Application Information heading. It provides links to the designers it contains, together with their brief descriptions. The See Also section provides links to related designers under other headings.
When you're all set, click the Project Properties link to access the very first design view we'll be dealing with.
6. The Project Properties designer enables you to make advanced level changes to the installation, like seeking the default Target Folder, as well as the default Shortcut Folder. The $PROGRAMFILES$ variable is displayed in the Target Folder field. It represents the location in the Program Files directory on the destination computer. InstallAware denotes variables by enclosing them within dollar signs, in the form $VARIABLE$. Variables are defined and modified within the script that continues to be accessible from your MSIcode view.
In InstallAware 7, the Receive Application Updates check-box allows you to serve unlimited application updates to your member list when you ship your products. If you're thinking about this functionality, check this box and select the Web Updates heading for more information.
Also do not forget that help within the InstallAware IDE is not multiple button away. At any time you happen to be confused or need more details, just press F1. Context sensitive help walks you from the current design view, MSIcode command, or other things that are you may well be doing in the moment.
7. The remainder from the design views might be accessed by clicking their names on the left of the main IDE window. You may skip the Summary Information designer for this project. The summary facts are recorded directly in the MSI database (Windows Installer package) that will be produced by InstallAware, which is visible in Windows Explorer if the MSI file is right-clicked. You may wish to update the default values provided by the .NET setup template in order that they accurately reflect your company and product information.
8. Now click Add-Remove Programs to switch the signal from this designer which customizes the way the application is shown within the Control Panel | Add-Remove Programs applet.
You might also change the icon from the setup package here. Click the Load Icon button to load any icon to display your application. You are totally free icons of the color and pixel depth which can be backed up by Windows. Edit the other fields as important to reflect your company and website information.
9. Click Application Requirements.
The Application Requirements designer can help you enforce any run-time hardware or software requirements that the application might have. Windows 98 had been selected since the Minimum Operating System, since .NET Framework isn't supported on Windows 95. Internet Explorer 5.01 Service Pack 1 may be selected under Minimum Internet Explorer Version, which can be another requirement of the .NET Framework. If your .NET application has other requirements - including memory, resolution, color depth, or IIS version, set them here. You could also encrypt all of your setup payload with a global password on this screen. Simply provide a password for the Setup Password field, and InstallAware encrypts your application files and data using strong 256-bit AES encryption. In InstallAware 7, the Special Requirements section enables you to configure additional options for your setup. You may force the application to install only on real hardware ? disallowing instances on Virtual PC or VMware virtual machines. You may put setup in native 64 bit installation mode, requiring native 64 bit hardware. You can also check Administrator Privileges, if the application requires webmaster account to own successfully. However, InstallAware installations work without administrator privileges, even if they copy files to protected system folders.
10. Click Application Runtimes.
The Application Runtimes designer permits you to add runtimes necessary for your products or services in your setup with all the click of a single check-box. The .NET setup template has pre-selected .NET Framework
2.0 in your case, in addition to Windows Installer 3.0 which can be essental to .NET Framework 2.0. If your .NET application necessitates the older .NET Framework 1.1, simply uncheck these runtimes, and after that look into the .NET Framework 1.1 runtime. Doing so will likely automatically range from the Windows Installer 2.0 runtime, which can be essental to .NET Framework 1.x. Any time you choose something for this list, its dependencies is going to be selected also, using guesswork out of complex runtime installations.
Notice the Options button on this screen that's currently disabled. This button is going to be automatically enabled if you highlight a software runtime with configurable options. For instance, this button enables you to configure the instance name to evaluate for (and install, if not found), once the Microsoft SQL Server Express 2005 with Service Pack 2 runtime is checked and highlighted.
11. Click Features. This designer takes us underneath the Setup Architecture heading.
The Features designer enables you to define the logical components of one's product, as will be seen by end-users when they're installing your products. For the hypothetical application here, two features have been defined: Visual Notepad, corresponding on the main application, and Shell Extension, an optional sub-feature of Visual Notepad.
Define the logical components of one's .NET application here, with their descriptions. You might also utilize Up/Down arrow buttons to reorder the appearance of one's setup features. If the application will not have any configurable features, simply skip this designer. In that case, you might want to remove the pre-defined feature (called My dotNET Setup inside our template project), and uncheck the feature selection and setup type dialogs (called componentstree and setuptype) inside the Dialogs designer, so they aren't shown through the installation wizard sequence.
12. Click Files.
Files could be included with a selected feature of your setup, or unconditionally on the entire installation. Check the Filter Files by Feature check-box to activate the feature selection combo-box about this screen. Then choose Feature Independent to unconditionally install files, or pick the particular feature you desire to add files into.
To add a whole folder in your setup, browse fot it folder while using directory browser, and click on Add Folder. To add files, first browse in to the folder containing the files to include, after which highlight every one of the files to include, clicking Add Files when ready. In InstallAware 7, you could also drag-drop files directly from Windows Explorer into any folder to put in them there.
Notice the list of variables that are displayed under the Target Folders list. $TARGETDIR$ is really a special variable which indicates the destination directory chosen from the user at install time. You can also choose another pre-defined location, such as $WINSYSDIR$ for the system directory or $WINDIR$ for the Windows directory.
You may display more pre-defined folder locations with this list. Right-click on the view and select Add System Folder. Then, choose the special folder to incorporate, like the My Documents folder with the end-user. This way, you could possibly directly install files to a various pre-defined system folders on the target machine.
Once you've added some items to the Target Files listing, it is easy to make further changes. Just double-click on the item to update, or highlight multiple items, right-click, and judge Edit Files.
The Install Files dialog box appears, letting you adjust the settings in the items being installed.
This dialog box controls many advanced settings for installing files. You may edit the Source Files field and specify any wildcard pattern for installing files (for any folders you added above, seo provides the mask *.* which means "everything"). You may edit the Exclude Wildcards field and specify a mask of files to ignore when building your setups. You may edit the Target Folder field and change the destination directory of files being installed. For instance, to repeat files to your subfolder in the user chosen directory, you would enter $TARGETDIR$\subfolder in this field. You may self-register files at install time by checking the File is Self Registering DLL check-box. If the files you might be installing are shared by many application, be sure to look at the Shared DLL File field with this dialog box. Review one other available options and look into the ones as essental to your application.
When you're done making your changes in your files, click OK to continue.
13. Next focus on the Registry designer to create the registry entries essental to the application. Click Registry.
The hypothetical application has some registry entries defined under the Shell Extension feature. These were imported from your self registering COM server with all the Import button. Use the Import button to import registry data from your .REG file or perhaps a self registering COM server (needless to say, you could also opt to look at the File is Self-Registering DLL check-box inside the Install Files dialog to join up your servers).
The remainder from the Registry designer works much the same way since the Files designer. Expand keys beneath the Source Keys heading, click the Add Key button to add entire keys along with their subkeys, and click the Add Values button to provide a variety of values. Customize keys and values by double-clicking the product to update, or highlight multiple items, right-click, and select Edit Value. Adding registry elements to specific features of one's application is again possible using the Filter Keys by Feature check-box.
14. Click Shortcuts.
The Shortcuts designer displayed here already contains one entry for uninstalling the example application. Existing entries are removed with all the Delete button, and customized using the Edit button. To add a new shortcut, click the New button.
The New Shortcut dialog box allows to only define shortcuts, and will position them in frequently employed system locations such as the Quick Launch toolbar as well as the Desktop, at the click of a single check-box. You don't need to memorize your application paths to populate the Shortcut Target field either ? just click on the Browse button to visually locate the file how the shortcut should point out.
You may type any value inside Shortcut Target field ? you aren't limited to the list of files you might be installing with the application (as shown by the Browse button). You may type a path with a pre-existing file about the target system, and even enter a URL. To develop a shortcut that launches a URL within the default system browser, simply type inside full URL path in the Shortcut Target field, instead of a file path.
15. We'll skip the remaining two designers under this heading. Choose the Dialogs designer, beneath the User Interface heading.
The Dialogs designer lists each wizard panel which will be displayed because of your installer at run-time. Clicking the Edit button customizes a dialog inside dialog editor (every factor of each dialog is fully customizable). The check box option beside each dialog name determines when the dialog is to be shown in the installation. The Change Theme button permits you to instantly change to another list of dialogs - 15 unique themes are available, and you could possibly build your personal.
Feel liberated to explore the rest of the designers on your own personal ?our hypothetical application doesn't have them. We now skip ahead for the Deployment section.
16. Choose Build Settings beneath the Deployment heading.
InstallAware offers three build options, the last of which can be especially ideal for deploying .NET applications. The Uncompressed Directory Layout option builds your setup files without compressing them, and creates multiple directories inside build folder as part from the process. This option is great for CD/DVD distributions. The Compressed Single Self-Installing EXE option packages the application files inside a single downloadable EXE file, and that means you don't have to worry about distributing multiple folders. The Compressed Web-Based EXE option enables Web Media Blocks, which let you optimize your download package if you take out the optional components through the main setup file. Once you've chosen this choice, switch for the Web Media Blocks designer to discover this build option in detail.
17. Click Web Media Blocks.
The Web Media Blocks designer allows you to define the various parts your setup file may be separated into. This can be a unique and critical benefit of InstallAware, and makes Partial Web Deployment (also called WebAware Installation) possible. In the .NET template project, there are two predefined Web Media Blocks, in addition towards the main setup file. The Microsoft Windows Installer 3.0 web media block seamlessly downloads and installs the Windows Installer runtime, if it is just not found on the target system. Similarly, the Microsoft .NET Framework
2.0 web media block downloads and installs the .NET Framework. Files added to the setup while using Feature Independent are included with the main installer file - allowing the installer to always install those files, even if an Internet connection is unavailable. The remaining Web Media Blocks correspond on the features that you have made for your setup. When setup is running, it's going to attempt to download Web Media Blocks only if the corresponding runtimes are missing and/or the connected features happen to be chosen being installed from the end-user.
18. On the Project tab, inside the Build group, click Web Deploy and wait for your build process to perform. Then click Output Folder Folder in the same group. You should notice that the following three files are already Samsung Firmware
created because result with the build:
* My dotNET : This will be the main setup executable, which contains the installer as well as the feature independent files for your setup project.
* Microsoft .NET Framework 2.0.7zip: This could be the Web Media Block that offers the .NET Framework 2.0.
* Microsoft Windows Installer 3.0.7zip: This may be the Web Media Block that contains Windows Installer 3.0.
Other Web Media Block files could also exist; based around the features you defined on your setup, and if they contained any files.
To tell the installer how to locate the Web Media Blocks at runtime, double-click a Web Media Block within the Web Media Blocks designer. The Define Web Media Block dialog box appears.
Populate the Download URLs list to point out the installer to 1 or higher actual download locations at run-time. Web Media Block files do not have any special server requirements. Simply make them available for download as standard files on the indicated URLs, along with the installer will obtain them on-the-fly. Using many URL increases scalability and reliability. If your web server won't serve 7zip files due to security restrictions, you might rename the extensions of the created Web Media Block files for an approved extension, and upload them accordingly. Just make sure the Download URLs list points for the exact locations with the files for the server, such as file extensions ? the original file name from the Web Media Block as created with the build process just isn't important. You might also specify FTP sites, network locations, or other file sources (not necessarily Internet locations) one of many URLs to become used. Your InstallAware installation will receive the Web Media Blocks successfully when the target machine can "download" them in one in the specified URLs. Using Internet Explorer (or perhaps your favorite browser) on the specified URLs is often a great approach to test that Web Media Blocks are uploaded correctly and being served.
If you would like to save time during builds, you could also look at the Skip on Build check-box. This is often a very convenient option, particularly for application runtimes that do not change in between different builds of your own application. When Skip on Build is checked, InstallAware is not going to copy any files belonging to that Web Media Block, nor can it compress any data in this Web Media Block, effectively eliminating that part with the setup from your build process, and for that reason improving build speed. As long as you possess a pre-built copy of these web media block, you could possibly skip it during builds and save time.
InstallAware 7 also offers the option to individually encrypt each Web Media Block using 256 bit strong AES encryption. Just populate the Password field to turn on encryption. Individually encrypting each Web Media Block helps it be harder on your setups to become compromised with all the loss of a single global password, as each Web Media Block can potentially be using a unique password.
Coupled using the superior compression provided through the InstallAware engine, Compressed Web-Based EXE builds provide you with the industry's leading solution for online software distribution. With the new individual encryption options and URL lists in InstallAware 7, online software distribution becomes even more reliable, scalable, and secure.
You may observe that if you perform CD or Single File build, Web Media Blocks aren't created, whilst they are actually defined; this causes it to be simpler to build for multiple media types when generating your setups. In fact, it is possible to click Batch Build within the Compile group for the MSIcode tab to develop for multiple media types in a pass. Just select each desired build type.
19. Finally take a peek on the setup script, which has been automatically generated and maintained for you so far from the visual designers. Choose the MSICode tab, then choose the My dotNET Setup page next towards the Welcome Page.
On the very best left combo box, choose Apply Changes. On the most notable right combo box, choose Install Product. This walks you right on the place inside your script where most of the install actions occur.
Look around the script. This script is a genuine programming language, called MSIcode. MSIcode provides complete branching code execution for Windows Installer, another unique benefit for InstallAware, also called Genuine scripting for Windows Installer. Not only does this feature make developing setups easier - what's more, it eliminates the design overhead by a less complicated development model than is ordinarily possible with Windows Installer. You simply author your human readable MSIcode script, using either the Design Views or perhaps the MSIcode view, and InstallAware produces a logo compliant MSI for you personally automatically at build-time. MSIcode is the easiest way to describe this content and logic associated with an MSI database, significantly simplifying the setup development process, and reducing development, maintenance, and support costs to your setups.
Also notice the Install Files, Create Shortcut, and Write Registry commands inside the script. You will recall them from your edits we made inside the Files, Registry and Shortcuts designers. The InstallAware IDE features two-way integrated code editing, to ensure whenever you make adjustments to any in the Design Views, the modifications are always reflected inside the MSIcode view, and the other way round. This permits you to rapidly prototype your setup inside the Design Views, after which switch to the MSIcode view to fine-tune your installation. When you build your setup, the resulting installer will always be a logo certifiable MSI installer database - InstallAware takes care with the necessary MSI table insertions and MSI sequences in your case. Absolutely no custom action authoring is required with InstallAware!
There are lots of more MSIcode commands to test ? just scroll this list around the right in the script editor. Each command executes a specific installation task, saving you a lot of time of custom development effort. You may drag-and-drop commands after that to the setup script, or select a line inside script editor and merely type the first few letters of the command ? this activates smart code completion. The script editor features all modern conveniences including copy/paste, find/replace, and much more. You may even use code folding and define your custom code folding regions to prepare your setup script.
20. This concludes the creation of one's .NET application installation. Make ample use with the available Design Views and MSIcode to refine your setup, and ship when ready!
Independent Software Vendors (ISVs)
Isolate Application Runtimes
Most ISVs distribute their setups on the Internet. This means downloads have to become as small as possible - smaller files mean more downloads and less bandwidth consumption. Especially for .NET applications, the common 23 megabyte size of the .NET Framework might be a huge problem. InstallAware works surrounding this problem by both stripping runtimes from the main product download, and through using superior compression to cut back the .NET Framework size to simply 12 megabytes.
Secure Installers with Authenticode Code Signing
Especially with all the release of Windows XP Service Pack 2, along with the upcoming Windows Vista, users are cautioned strongly against installing packages which aren't digitally signed. InstallAware supports Authenticode code signing technologies to ensure the integrity of downloaded content.
Protect Application Features
ISVs can use Web Media Blocks to strip crucial application components from their public downloads. Using scripting, the installer can query user and system information to verify how the end-user is eligible to setup protected features. Only in the event the user is authenticated (by, by way of example, querying a web page with user credentials), will the installer go on to download the protected Web Media Blocks.
Deploy Unlimited Web Updates
In InstallAware 7 could be the ability to deliver unlimited updates in your users on the internet. The update experience closely resembles that regarding Windows Update ? displaying standard message balloons within the system tray (even on old Windows versions that will not support tray balloons), and customizable dialogs that configure the update schedule, list available updates, and install them.
Improve the End-User Experience
InstallAware present just one, unified graphical user interface during the entire setup process. Separate install wizards or progress windows aren't shown when launching custom third party installers and/or configuring application runtimes. InstallAware even natively captures and displays the progress of lengthy runtime installs like .NET Framework 2.0 with your InstallAware setup wizard, improving the consumer experience.
Leverage One-Click Incremental Patching
InstallAware supplies a one-click patching mechanism that works well by building a patch against older versions in the installer. This is done through showing the setup project the place that the older installer files with the product are simply. When a patch is created, it includes exactly the minimum incremental data forced to bring a product or service up-to-date with the latest installation files. Incremental patching saves developers and end-users commitment in updating their current installers.
Build Logo Certifiable Installers
Microsoft's Designed for Windows logo program provides ISVs using a approach to certify the stability, reliability, and quality of their solutions. Most enterprises today is not going to even consider software titles that won't use a logo certified MSI installer, for reasons of automating and securing their corporate deployment. For any product to feed testing for your Designed for Windows logo programs, an MSI installer for that product, with the next features, is essential:
* No ICE (MSI database internal consistency evaluator) errors should be found
* MSI databases should support advertising InstallAware setups are automatically logo compliant. No matter how complex or simple the setup script, the output MSI files always pass ICE tests, and support advertised installations.
Rapidly Customize Installers for Product Editions
ISVs typically produce several editions of the products, tailored for different market and user segments. Because these products rely for the same core, their installers are often similar. Typically the highest edition features essentially the most complex install, with files and logic being stripped away progressively since the product editions are traversed. Instead of building tweaking multiple installs for each and every edition, InstallAware lets developers define compiler variables, which work comparable to IFDEF statements present in programming languages. Based for the values of those compiler variables, parts with the setup script may be excluded from the build process, thereby emitting customized installers with zero manual effort.
Communicate with End-Users
InstallAware can make it quite simple to build custom dialogs that capture virtually any information through the end-user at install time. Simply utilize the dialog editor and customize a current dialog, or build your personal from scratch. Use edit boxes, drop-down combo boxes, radio buttons and look-boxes to have interaction with end-users and survey them as a possible integral part of one's installation ? not on an internet form where they could walk away from your download. Seamlessly submit captured information with a web server. Ask end-users where they found about your products, why they're uninstalling, and much more!
Enterprise Information Technology Scenarios
Allow Partners to Customize Their Own Installers
InstallAware features a COM automation library, in addition to an ASP scripting object so that access to that particular library from ASP web pages. Using COM automation, enterprises could programmatically emit complete setup projects and scripts, after which build them on-the-fly in reply to partner requests. For instance, consider a business product that's made available with a large number of resellers, each having its own language and branding requirements. A web site could possibly be built where resellers could upload their custom text and branding images. Then, in the event the Build Installer button is clicked, InstallAware automation may be invoked to dynamically develop a customized installer, which could make the custom setup available for download as soon because the build process finished. This would slow up the burden on a company when supporting its resellers.
Lock Down Installers to Only Run Inside a Network
InstallAware's Web Media Blocks can download files not just from your Internet, but also UNC paths. Where sensitive application and data may take place, an installer might be built that placed it's contents inside Web Media Blocks, the ones Web Media Blocks placed on locations accessible only in the corporate network. Even if these installers were to get "stolen", they would not actually work, since they might make an effort to download Web Media Blocks from your location that will not exist by using an outside site.
Use Silent Installs for Automated Software Distribution
Installing and applications deployed onto thousands of computers on the corporate network can rapidly escalate in a maintenance nightmare. Because InstallAware installations are Windows Installer based, they conform and interoperate well with large corporate deployment scenarios. Applications may be silently installed, removed, and monitored - all without user intervention or knowledge. Log files could be created from installations to deliver additional debugging data in case deployment problems arise.
Group Policy Deployment
InstallAware setups are fully works with Active Directory deployment using Group Policy, too as other automated deployment technologies. Push installers onto a huge number of desktops with a single click.
Shell to and Repackage Installs
Typically, when deploying older software, corporate administrators are required to convert old and nonstandard package formats in to the MSI package format. Even when dealing with MSI based installers, packages may need to be installed having a precisely defined pair of configuration settings, to be sure proper operation. InstallAware addresses both these needs. InstallAware's Shell to MSI technology enables the execution of any MSI package, with a specified pair of configuration settings, just as one integral part of your larger software installation process. In fact the Shell to MSI process can be so efficient who's even captures the progress from the spawned installation. With non-MSI packages, the PackageAware tool that ships with InstallAware provides a migration path: PackageAware takes before and after snapshots of the state with the system being a legacy package is installed. It then encapsulates the delta of the system snapshots inside a ready-to-build, customizable InstallAware setup project. Both these technologies enable seamless and painless installations of huge numbers of interdependent packages throughout the entire corporate network.
Allow Non-Administrative Installs
Since InstallAware setups are Windows Installer based, they automatically leverage the ability of Windows Installer to perform low level changes to the system even when administrator rights usually are not present. As long because the Always Install Elevated group policy has become defined by the corporate administrator for user accounts, all InstallAware installations will successfully install inside locked-down user environments, rendering it unnecessary for the system administrator to manually login and install the required product around the system.
Use Advertising for Install-On-Demand and Self-Healing
Advertising is often a Windows Installer term for just two similar concepts:
1. An installation that runs in advertised mode creates shortcuts, registers file types, and helps to create registry entries required with the product - overall creating the impression how the application may be installed. However, it doesn't actually copy any files, until the application form may be invoked for the initial time, from either the Start Menu, or by double-clicking its associated file in Explorer.
2. Advertised shortcuts and file types both let the above behavior, plus repair a damaged application by copying missing files whenever they're invoked. They do this by checking that all required files exist when they're being invoked.
InstallAware setups fully support both of those advertising technologies. Plus, InstallAware adds the capability of storing each feature of an advertised installation like a Web Media Block to seamlessly download it on-demand from any desired URL.