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