SlideShare une entreprise Scribd logo
1  sur  7
Télécharger pour lire hors ligne
W H I T E PA P E R




                     Fixing Design-Time
                     Validation Errors
                     by Robert Dickau
                     Principal Technical Training Writer, Flexera Software
Fixing Design-Time Validation Errors
Introduction                                                             It is also assumed you are familiar with some of the wizards
To help you detect and resolve potential problems in your installation   available with InstallShield, such as the Release Wizard and
project, you can perform several types of validation before you run      Component Wizard.
the installation on a target system. The types of validation discussed
in this white paper include:                                               • The Release Wizard, available under the Build menu and also
                                                                             from the Releases view, lets you describe the properties—
    • Build warnings and errors                                              media type, compression settings, and so forth—of a release,
    • Internal Consistency Evaluator (ICE) validation                        and then builds the specified release image.
    • Update and patch validation                                          • The Component Wizard, available by right-clicking a feature
                                                                             in the Setup Design view, lets you create special types of
Addressing these types of design-time validation errors will help            components, such as components for COM servers, fonts,
you avoid errors. This white paper also shows you how                        and Windows services.
InstallShield® helps you with design-time validation.
                                                                         The InstallShield Help Library contains information about using
Using the InstallShield Environment                                      every view and wizard in the InstallShield environment. The
This white paper frequently refers to the InstallShield development      InstallShield Help Library is available when you press F1 with
environment. It is assumed you are familiar with the general layout      any view selected; you can also select Contents from the Help
of the InstallShield interface, which contains a list of views with      menu to view the help library.
which you can modify different portions of your installation project.
                                                                         In addition to the graphical environment, InstallShield provides
                                                                         several tools for modifying and building projects from the command
                                                                         line or an external script. For example, to build a project from the
                                                                         command line, batch file, or other automated process, you can use
                                                                         the executable IsCmdBld.exe. The IsCmdBld executable is located
                                                                         in the System subdirectory of the InstallShield distribution directory.

                                                                         To rebuild a project, you pass IsCmdBld the project file path, the
                                                                         product configuration name, and the release name that you want
                                                                         to rebuild. A sample command appears as follows:

                                                                          iscmdbld -p C:ProductName.ism -a BuildConfig -r ReleaseName

                                                                         In addition, InstallShield provides an Automation interface, with
                                                                         which you can modify the contents of a project file without using the
                                                                         graphical environment.
For example, the General Information view is where you set general
product and project properties; the Setup Design view enables you            Learn More about InstallShield
to edit the features, components, and component data used by your            If you wish to learn more about the capabilities of
project; the Registry view enables you to modify the registry data           InstallShield, please visit the Flexera Software Web site
installed by your installation program; and the Direct Editor view           at www.flexerasoftware.com/installshield
gives you access to the raw MSI database tables.


2                                                                                           Flexera Software: InstallShield White Paper Series
Validat ing MSI Updates and Patches




Build Warnings and Errors                                                the locations of source files on the development system. Whenever
As InstallShield builds your project, status messages are displayed in   you add a file to a component, InstallShield by default creates a
the output window at the bottom of the development environment.          path variable or reuses an existing path variable to represent that
                                                                         file’s location. If you move the source file, instead of having to
                                                                         reestablish the file link, you can simply assign the path variable
                                                                         a new value in the Path Variables view of the InstallShield
                                                                         environment. (The InstallShield help library also describes registry-
                                                                         based and environment variable–based path variables, with
                                                                         which you can modify path variable values without having to
For a command-line build using IsCmdBld.exe, status messages are         modify the project file.)
displayed at the command prompt.
                                                                         In addition, if you have source directories that contain lists of files
If any errors or warnings occur, they are displayed in the Build tab     that are continually changing, you can use dynamic file linking.
of the output window, as well as in the Tasks tab. The Tasks tab         With dynamic linking, you specify a directory and optional file
contains links to the InstallShield Knowledge Base for the latest        name masks for inclusion and exclusion. Each build process
information about resolving these warnings. (This requires a live        then copies all of the matching files in the dynamic link into the
Internet connection.)                                                    corresponding component.

                                                                         An important consideration regarding file linking is that a
                                                                         dynamically linked file cannot be the key file of its component.
                                                                         However, a component can contain any combination of static and
                                                                         dynamic links, and therefore a solution is to set a statically linked
                                                                         file as the key file, additionally marking the key file as an exclusion
                                                                         to the dynamic link.
Addressing Build Errors and Warnings
Build errors and warnings typically refer to missing or unexpected       Moreover, when using dynamic file linking, it is important to
source files or merge modules, but can refer to any condition that       specify a “previous package” in the build settings to ensure File,
prevents a build from completing. For example, the build process         Component, and Media table keys are synchronized between
reports error –1014 (“Cannot rename directory…”) if an installation      builds. For more information, see the InstallShield help topic
inside the build folder is running, or if Windows Explorer or a          “Upgrade Considerations”.
command prompt is pointing to the build folder.
                                                                         Another error related to missing data on the build system is –1024
In addition, the InstallShield environment will prevent you from         (“File not found. Cannot stream the file into the Binary file.”), which
entering some project settings that would cause the package to fail      occurs if a file used by a custom action or dialog box (such as
at deployment time. For example, a project cannot use DATABASE           a DLL or bitmap file) has been moved or deleted. Similarly, build
or PATCH as an internal Directory-table identifier—the way               error –7017 occurs if your project includes merge modules or other
INSTALLDIR or SystemFolder is a Directory identifier—as these are        redistributables that are not present on your build system. Other
reserved identifiers used by Windows Installer. If you try to define     errors sometimes related to missing source files are –6271 (“File
a component destination folder with internal identifier DATABASE,        file not found. An error occurred building the MsiFileHash table
the environment will rename the identifier to a valid value such as      record…”) and –1501 (“Could not compress file into file.cab”).
DATABASE_DIR1. (If, however, you use the Direct Editor to define a
Directory called DATABASE or PATCH, the build process will report        Design Issues and Build Warnings
error –6262.)                                                            In addition to issues related to source files, some build warnings
                                                                         address design issues in your project.
TIP: When you manually search the InstallShield Knowledge Base
for a particular build warning or error number, omit the minus sign      A deferred custom action must be placed between InstallInitialize
in the search. For example, instead of searching for “–1014”,            and InstallFinalize in the Execute sequence of an installation. To
search for “1014”.                                                       help detect problems with improper placement of deferred actions,
                                                                         the build process generates warning –6524 if it detects a deferred
Errors Regarding Missing Source Files                                    custom action outside the range of InstallInitialize and InstallFinalize.
If the build process cannot find a source file, because it has
been renamed or deleted, the build process returns error –6103           TIP: By default, the build process will continue to completion even
(“Could not find file file”) and –1007 (“Cannot copy source file         if any build errors occur. To cancel a build, you can click the Stop
to target directory”).                                                   Build toolbar button, or press Ctrl+Break. To specify always to stop
                                                                         a build if an error occurs, you can pull down the Tools menu and
Two features of InstallShield that can help you work with source         select Options; in the General tab, select the check box labeled
files are path variables and dynamic file linking. Path variables        “Stop build process when first error is encountered”.
are variables used by the InstallShield build process to represent


Flexera Software: InstallShield White Paper Series                                                                                                 3
Validat ing MSI Updates and Patches




If you use the command-line build tool IsCmdBld, the -x switch              To perform ICE validation using the command-line build tool
enables you to stop the build when the first error occurs, and the          IsCmdBld, you can pass it the -m switch, followed by the path
-w switch lets you specify that build warnings should be treated            to the validation file (.cub file) to use. The Microsoft .cub files are
as errors.                                                                  stored in the Support subdirectory of the InstallShield distribution:

ICE Validation                                                               IsCmdBld -p ProjectName.ism -a FullBuild -r cdrom
Internal Consistency Evaluator (ICE) validation tests your MSI               -m “C:Program FilesInstallShieldSupportdarice.cub”
database records for different types of data that can lead to
undesirable or unpredictable run-time behavior. There are over              NOTE: There are separate merge module validation rules for merge
100 predefined ICE rules, testing for such conditions as duplicated         module (.msm) projects. In the InstallShield environment, you can
component codes, missing properties and dialog boxes, and invalid           select Build > Validate > Merge Module Validation Suite. From the
scheduling for various types of built-in and custom actions. (The           command line, you can validate the database using the validation
graphical editors and referential integrity features of the InstallShield   file mergemod.cub.
environment ensure that many types of ICE failures do not occur.)
Because ICE validation is performed on an MSI database and not              You can specify that InstallShield should perform ICE validation
an ISM project file, your project must build successfully before you        whenever you perform a build by pulling down the Tools menu,
can perform this type of validation.                                        selecting Options, and then selecting the Validation tab. In the
                                                                            Validation tab, select the check box labeled “Perform validation
You perform ICE validation in the InstallShield environment by              using”, and then select the desired validation suite.
pulling down the Build menu, selecting Validate, and then selecting
Full MSI Validation Suite.




As with build errors and warnings, ICE errors and warnings appear
in the Tasks tab of the output window.




(The output window in InstallShield displays only ICE warnings and
errors. If you use another tool such as Orca to perform validation,         Using the Customize button, you can additionally select rules within
you might see additional informational messages regarding the ICE           a validation suite to skip.
validation process.)
                                                                            The Windows Installer Help Library contains a summary of ICE
The Validate tab also lists any ICE warnings or errors that occur,          messages in the topic “ICE Reference”; and also provides a specific
and provides a hyperlink to a text log file that contains the               page for each ICE error, describing typical scenarios in which the
validation results. Validation log files are saved in a subdirectory        error occurs and how to address the error.
called ValidationFiles, relative to the release folder.

In addition, the Direct Editor view highlights tables, records, and
fields related to the validation error or warning.




TIP: You can right-click an error or warning in the Tasks tab of the
output window and select “Go to Direct Editor”, which selects the
corresponding record in the Direct Editor view.


4                                                                                               Flexera Software: InstallShield White Paper Series
Validat ing MSI Updates and Patches




ICE Warnings You Can Ignore                                               ICE33 warnings can often be safely ignored, especially if you
The following paragraphs describe some ICE warnings that can be           intend not to use Windows Installer advertisement functionality.
safely ignored.
                                                                          Common ICE Errors
ICE36 and ARPPRODUCTICON                                                  The following sections describe some of the most common ICE
An advertised Windows Installer installation is one that installs         warnings and errors.
application “entry points”, such as shortcuts, COM information, and
file-extension information on a user’s system, but does not install any   ICE09 and SystemFolder Components
application files or registry information until the user invokes one of   In legacy installation programs, application libraries (DLLs and
these entry points. Because the targets of these entry points will not    other files) were commonly installed to the System folder during
initially be installed, Windows Installer requires any icon resources     installation. Two problems with this behavior are: One of these
used by these entry points to be extracted and stored separately          libraries would sometimes be installed over a newer version of
inside the MSI database. To this end, the Icon table is used to           the library, and sometimes the library would inadvertently be
store icons used by advertiseable shortcuts, COM classes, and             removed during uninstallation while other applications still
file extensions.                                                          required the library.

ICE36 warns if any icons in the Icon table appear to be unused,           The Windows Installer file-overwrite rules (along with System
which means the MSI database is larger than necessary. However,           File Protection) help prevent the first problem from occurring. To
some ICE validation suites overlook the possibility that resources        avoid the problem of system libraries being removed when other
in the Icon table can refer to the ARPPRODUCTICON property,               applications need them, a requirement is that any component
which specifies the icon to appear in the application’s Add or            having a destination of [SystemFolder] be marked as Permanent.
Remove Programs entry. Therefore, ICE36 errors that refer to              That is, any files installed to the System folder will permanently
ARPPRODUCTICON can safely be ignored.                                     remain there. If a file needs to be removed during uninstallation,
                                                                          it should be installed to a vendor-specific folder in the Common
ICE17 and InstallShield SQL Dialog Boxes                                  Files folder.
ICE17 tests various characteristics of user-interface controls,
including checking that PushButton controls have associated control       ICE09 verifies that a component with [SystemFolder] as its
events; icons used for controls are available in the Binary table;        destination is marked permanent. To fix ICE09 errors, select the
and that ComboBox, ListBox, and RadioButton controls have                 referenced component in the Components view or Setup Design
corresponding data in the respective tables.                              view and set its Permanent property to Yes.

With InstallShield projects, validation will report an ICE17              ICE57 and Per-User Data
warning for the SQL dialog boxes SQLBrowse and SQLLogin,                  Some Windows Installer Directory properties can resolve to different
which create their data dynamically at run time. These warnings           locations based on the type of installation being performed. For
can safely be ignored.                                                    example, the ProgramMenuFolder and DesktopFolder properties
                                                                          resolve to a location available to all users of a system for a per-
ICE33 and the Registry Table                                              machine installation, and to a location available only to the current
The self-registration process for COM servers—commonly called self-       user for a per-user installation. Similarly, registry data you place
registering DLLs and OCXs—places the registration information in          under the root key HKEY_USER_SELECTABLE is installed to either
the target system’s registry. COM information is typically written to     HKEY_LOCAL_MACHINE or HKEY_CURRENT_USER based on
the keys HKCRCLSID{CLSID} and HKCRCom.Prog.Id when the                 the type of installation being performed. Whether a per-machine
DllRegisterServer entry point of the COM library is invoked. Calling      or per-user installation is taking place depends on the value of
the DllRegisterServer function in a COM library is often called           the ALLUSERS property, which is typically set by the Customer
“legacy self-registration”.                                               Information dialog box.

For reasons related to various Windows Installer features (such           A single Windows Installer component should not contain both
as advertisement, rollback, and per-user installations), it is            per-machine and per-user data, because doing so can result in an
recommended that you use the COM-related MSI tables (Class,               incomplete installation for other user accounts on the target system.
ProgId, and AppId) instead of registering the COM server directly.        Instead, a single component should contain only per-machine
Even so, there is some COM information that does not fit into the         data or only per-user data. ICE57 reports an error if a component
MSI COM-table schema (such as threading model information) that           contains both types of data.
must be placed in the Registry table. ICE33 warnings appear for
this type of information. (These warnings often occur in projects that    NOTE: ICE57 is related to ICE38, which validates that every
use Microsoft merge modules.)                                             component installed to the user’s profile has a key path in
                                                                          HKEY_CURRENT_USER; and is also related to ICE91, which
The same applies to file-extension information: On a target system,       reports a warning for resources are being installed to a per-user-only
file-association information is ultimately written to the keys HKCR.     location (such as AppDataFolder), which can cause errors for a
ext and HKCRExt.Prog.Id, but for MSI advertisement should be             per-machine installation.
placed in the Extension, Verb, and ProgId tables.



Flexera Software: InstallShield White Paper Series                                                                                                 5
Validat ing MSI Updates and Patches




    ICE44 and Deleted Dialog Boxes                                           Tools menu, select Options, select the Preferences tab, and clear
    The flow of dialog boxes in a Windows Installer project is handled       the check box labeled “Uninstall before installing”.
    by the NewDialog control events on the Next and Back buttons of
    each dialog box. To reorder dialog boxes, you should adjust the          For a complete list of errors and their descriptions, see the
    arguments of the NewDialog control events for the Back and Next          InstallShield Help Library topic “Validators”.
    buttons for the affected dialogs. If you simply delete a dialog box
    from the Dialogs view, the validation process will return an ICE44       Summary
    error, which indicates that the target of a NewDialog control event      This white paper discusses types of validation you can perform
    does not exist in the project. Fixing ICE44 errors avoids Windows        before you run the installation on a target system. Addressing
    Installer run-time error 2803.                                           these types of design-time validation errors will help you avoid
                                                                             errors. This white paper also shows you how InstallShield helps
    For other ICE warnings and errors, you should consult the Windows        you with design-time validation.
    Installer Help Library and the InstallShield Knowledge Base, as ICE
    failures tend to be very specific.
                                                                               Begin a Free Evaluation of InstallShield
    TIP: You can search your project for a particular string in the Direct     You can download a free trial version of InstallShield from
    Editor view. Pressing Ctrl+F opens a standard Find panel, with which       the Flexera Software Web site at:
    you can search the currently selected table or all tables for a given      www.flexerasoftware.com/installshield/eval
    string.

    An advanced technique is to create custom ICE validation rules.
                                                                               Want to learn more best practices for building quality
    Upgrade and Patch Validation                                               installations?
    Another type of validation performed by the InstallShield build            Join an InstallShield training class – visit
    process is validation that tests for common errors in authoring an         www.flexerasoftware.com/training for available classes.
    update installation. The errors and warnings displayed differ for
    major upgrades, minor upgrades, and patches.                               Also, if you have a critical installation project but are short
                                                                               on developer bandwidth or expertise, Flexera Software’s
    TIP: A first step for addressing many problems related to updates          Professional Services team can help. Learn more at:
    and patches is to use the Patch Optimization setting in the Release        www.flexerasoftware.com/services/consulting/software-
    Wizard. In the Advanced Settings panel of the Release Wizard, in           installations.htm.
    the “Previous package” field, enter the path to the MSI database for
    the previous release of your project. Using this setting ensures that
    certain types of dynamic data in the File, Component, and Media
    tables is compatible between builds.

    Some of the common upgrade and patch validation failures are:

      • Val004: Displays an error if a change to an existing
        component’s files will prevent the component from being
        updated in a minor upgrade.
      • Val006: Displays an error if a minor upgrade is being
        performed when a major upgrade should be; for example,
        because a component has been deleted or moved in the
        product tree.
      • Val008: Displays an error if a record in the Upgrade table for a
        major upgrade contains invalid data.

    By default, upgrade and patch validation is performed each time
    you build your project. You can also manually perform this type of
    validation by pulling down the Build menu, selecting Validate, and
    then selecting Upgrade Validation Wizard.

    When you test an update project from the InstallShield environment,
    by default clicking the Run toolbar button causes any version of the
    product already on the system to be uninstalled. To properly test
    update installations from the InstallShield environment, pull down the




6                                                                                                Flexera Software: InstallShield White Paper Series
Flexera Software LLC                      Schaumburg                                United Kingdom (Europe,                   Japan (Asia,                              For more office locations visit:
1000 East Woodfield Road,                 (Global Headquarters):                    Middle East Headquarters):                Pacific Headquarters):                    www.flexerasoftware.com
Suite 400                                 +1 800-809-5659                           +44 870-871-1111                          +81 3-4360-8291
Schaumburg, IL 60173 USA                                                            +44 870-873-6300

Copyright © 2011 Flexera Software LLC. All other brand and product names mentioned herein may be the trademarks and registered trademarks of their respective owners.
                                                                                                                                                                              IA_WP_Time-Validation_Oct11

Contenu connexe

Tendances

Dell Reference Architecture Guide Deploying Microsoft® SQL ...
Dell Reference Architecture Guide Deploying Microsoft® SQL ...Dell Reference Architecture Guide Deploying Microsoft® SQL ...
Dell Reference Architecture Guide Deploying Microsoft® SQL ...webhostingguy
 
Protecting Microsoft Exchange with the NEW Backup Exec 15
Protecting Microsoft Exchange with the NEW Backup Exec 15Protecting Microsoft Exchange with the NEW Backup Exec 15
Protecting Microsoft Exchange with the NEW Backup Exec 15Symantec
 
Trunk and branches for database configuration management
Trunk and branches for database configuration managementTrunk and branches for database configuration management
Trunk and branches for database configuration managementscmsupport
 
SYMC BE 15 Boot Camp Presentation
SYMC BE 15 Boot Camp PresentationSYMC BE 15 Boot Camp Presentation
SYMC BE 15 Boot Camp PresentationMohamed El Fishawy
 
VDI Performance of PRIMERGY S7 Server Generation
VDI Performance of PRIMERGY S7 Server GenerationVDI Performance of PRIMERGY S7 Server Generation
VDI Performance of PRIMERGY S7 Server GenerationKingfin Enterprises Limited
 
Frameworkevolution ohne Nebenwirkung - Automatische Adaption von Clients und ...
Frameworkevolution ohne Nebenwirkung - Automatische Adaption von Clients und ...Frameworkevolution ohne Nebenwirkung - Automatische Adaption von Clients und ...
Frameworkevolution ohne Nebenwirkung - Automatische Adaption von Clients und ...SoftwareSaxony
 
Eql tr symantec-backup-exec-10d-tr1024
Eql tr symantec-backup-exec-10d-tr1024Eql tr symantec-backup-exec-10d-tr1024
Eql tr symantec-backup-exec-10d-tr1024casanoteva
 
Performance tuningtoolkitintroduction
Performance tuningtoolkitintroductionPerformance tuningtoolkitintroduction
Performance tuningtoolkitintroductionRohit Kelapure
 
Net framework session03
Net framework session03Net framework session03
Net framework session03Niit Care
 
DUG'20: 09 - DAOS Middleware Update
DUG'20: 09 - DAOS Middleware UpdateDUG'20: 09 - DAOS Middleware Update
DUG'20: 09 - DAOS Middleware UpdateAndrey Kudryavtsev
 
Dynamics AX Cu7 ax2012r2 Installation guide
Dynamics AX Cu7 ax2012r2 Installation guide Dynamics AX Cu7 ax2012r2 Installation guide
Dynamics AX Cu7 ax2012r2 Installation guide Tariq Rafique
 
Dell open manage essentials install
Dell open manage essentials installDell open manage essentials install
Dell open manage essentials installSvetlana Kachintseva
 
Vidlis.vendor-MSFT(16)
Vidlis.vendor-MSFT(16)Vidlis.vendor-MSFT(16)
Vidlis.vendor-MSFT(16)Viktor Idlis
 

Tendances (14)

Dell Reference Architecture Guide Deploying Microsoft® SQL ...
Dell Reference Architecture Guide Deploying Microsoft® SQL ...Dell Reference Architecture Guide Deploying Microsoft® SQL ...
Dell Reference Architecture Guide Deploying Microsoft® SQL ...
 
Protecting Microsoft Exchange with the NEW Backup Exec 15
Protecting Microsoft Exchange with the NEW Backup Exec 15Protecting Microsoft Exchange with the NEW Backup Exec 15
Protecting Microsoft Exchange with the NEW Backup Exec 15
 
Veerendra_2016_V2
Veerendra_2016_V2Veerendra_2016_V2
Veerendra_2016_V2
 
Trunk and branches for database configuration management
Trunk and branches for database configuration managementTrunk and branches for database configuration management
Trunk and branches for database configuration management
 
SYMC BE 15 Boot Camp Presentation
SYMC BE 15 Boot Camp PresentationSYMC BE 15 Boot Camp Presentation
SYMC BE 15 Boot Camp Presentation
 
VDI Performance of PRIMERGY S7 Server Generation
VDI Performance of PRIMERGY S7 Server GenerationVDI Performance of PRIMERGY S7 Server Generation
VDI Performance of PRIMERGY S7 Server Generation
 
Frameworkevolution ohne Nebenwirkung - Automatische Adaption von Clients und ...
Frameworkevolution ohne Nebenwirkung - Automatische Adaption von Clients und ...Frameworkevolution ohne Nebenwirkung - Automatische Adaption von Clients und ...
Frameworkevolution ohne Nebenwirkung - Automatische Adaption von Clients und ...
 
Eql tr symantec-backup-exec-10d-tr1024
Eql tr symantec-backup-exec-10d-tr1024Eql tr symantec-backup-exec-10d-tr1024
Eql tr symantec-backup-exec-10d-tr1024
 
Performance tuningtoolkitintroduction
Performance tuningtoolkitintroductionPerformance tuningtoolkitintroduction
Performance tuningtoolkitintroduction
 
Net framework session03
Net framework session03Net framework session03
Net framework session03
 
DUG'20: 09 - DAOS Middleware Update
DUG'20: 09 - DAOS Middleware UpdateDUG'20: 09 - DAOS Middleware Update
DUG'20: 09 - DAOS Middleware Update
 
Dynamics AX Cu7 ax2012r2 Installation guide
Dynamics AX Cu7 ax2012r2 Installation guide Dynamics AX Cu7 ax2012r2 Installation guide
Dynamics AX Cu7 ax2012r2 Installation guide
 
Dell open manage essentials install
Dell open manage essentials installDell open manage essentials install
Dell open manage essentials install
 
Vidlis.vendor-MSFT(16)
Vidlis.vendor-MSFT(16)Vidlis.vendor-MSFT(16)
Vidlis.vendor-MSFT(16)
 

En vedette

Somali Shilling
Somali ShillingSomali Shilling
Somali ShillingShedinski
 
A Place for Us Presentation (June 22, 2007)
A Place for Us Presentation (June 22, 2007)A Place for Us Presentation (June 22, 2007)
A Place for Us Presentation (June 22, 2007)Andy Carswell
 
Zero Waste Antigua Strategy
Zero Waste Antigua StrategyZero Waste Antigua Strategy
Zero Waste Antigua StrategyJessica Brookes
 
Cut Through Cloud Clutter: Insights from Visible Ops Private Cloud
Cut Through Cloud Clutter: Insights from Visible Ops Private CloudCut Through Cloud Clutter: Insights from Visible Ops Private Cloud
Cut Through Cloud Clutter: Insights from Visible Ops Private CloudFlexera
 
Glenn L Martin Posters
Glenn L Martin PostersGlenn L Martin Posters
Glenn L Martin Posterslmoriconi
 
2017ryan Cheale
2017ryan Cheale2017ryan Cheale
2017ryan Chealeryanch
 
Internet Services Tutorial
Internet Services TutorialInternet Services Tutorial
Internet Services Tutorialgueste468ce6
 
Welcome to SoftSummit 2010
Welcome to SoftSummit 2010Welcome to SoftSummit 2010
Welcome to SoftSummit 2010Flexera
 
Cooking UX with Cultural Leftovers
Cooking UX with Cultural LeftoversCooking UX with Cultural Leftovers
Cooking UX with Cultural LeftoversErik Dahl
 
Earn More Work Less, Teach ESL Online
Earn More Work Less, Teach ESL OnlineEarn More Work Less, Teach ESL Online
Earn More Work Less, Teach ESL OnlineLouisa Chan 陈毅信
 
Actividades de dislexia
Actividades de dislexiaActividades de dislexia
Actividades de dislexiaestermachado
 
Hotpot Presentatie Stap Voor Stap
Hotpot Presentatie Stap Voor StapHotpot Presentatie Stap Voor Stap
Hotpot Presentatie Stap Voor StapAanzicht
 
Designing an Update-Friendly MSI Installation
Designing an Update-Friendly MSI InstallationDesigning an Update-Friendly MSI Installation
Designing an Update-Friendly MSI InstallationFlexera
 

En vedette (20)

Somali Shilling
Somali ShillingSomali Shilling
Somali Shilling
 
A Place for Us Presentation (June 22, 2007)
A Place for Us Presentation (June 22, 2007)A Place for Us Presentation (June 22, 2007)
A Place for Us Presentation (June 22, 2007)
 
Zero Waste Antigua Strategy
Zero Waste Antigua StrategyZero Waste Antigua Strategy
Zero Waste Antigua Strategy
 
SharePoint 2010 DEV
SharePoint 2010 DEVSharePoint 2010 DEV
SharePoint 2010 DEV
 
Cut Through Cloud Clutter: Insights from Visible Ops Private Cloud
Cut Through Cloud Clutter: Insights from Visible Ops Private CloudCut Through Cloud Clutter: Insights from Visible Ops Private Cloud
Cut Through Cloud Clutter: Insights from Visible Ops Private Cloud
 
Glenn L Martin Posters
Glenn L Martin PostersGlenn L Martin Posters
Glenn L Martin Posters
 
melnic
melnicmelnic
melnic
 
3.unitatelaburpena
3.unitatelaburpena3.unitatelaburpena
3.unitatelaburpena
 
2017ryan Cheale
2017ryan Cheale2017ryan Cheale
2017ryan Cheale
 
Internet Services Tutorial
Internet Services TutorialInternet Services Tutorial
Internet Services Tutorial
 
Welcome to SoftSummit 2010
Welcome to SoftSummit 2010Welcome to SoftSummit 2010
Welcome to SoftSummit 2010
 
Cooking UX with Cultural Leftovers
Cooking UX with Cultural LeftoversCooking UX with Cultural Leftovers
Cooking UX with Cultural Leftovers
 
Maths Project
Maths ProjectMaths Project
Maths Project
 
Earn More Work Less, Teach ESL Online
Earn More Work Less, Teach ESL OnlineEarn More Work Less, Teach ESL Online
Earn More Work Less, Teach ESL Online
 
Actividades de dislexia
Actividades de dislexiaActividades de dislexia
Actividades de dislexia
 
Wintereinbruch
WintereinbruchWintereinbruch
Wintereinbruch
 
TIENDA VIRTUAL
TIENDA VIRTUALTIENDA VIRTUAL
TIENDA VIRTUAL
 
Hotpot Presentatie Stap Voor Stap
Hotpot Presentatie Stap Voor StapHotpot Presentatie Stap Voor Stap
Hotpot Presentatie Stap Voor Stap
 
Tsucs
TsucsTsucs
Tsucs
 
Designing an Update-Friendly MSI Installation
Designing an Update-Friendly MSI InstallationDesigning an Update-Friendly MSI Installation
Designing an Update-Friendly MSI Installation
 

Similaire à Fixing Design-Time Validation Errors

MSI / Windows Installer for NGN 'Dummies'
MSI / Windows Installer for NGN 'Dummies'MSI / Windows Installer for NGN 'Dummies'
MSI / Windows Installer for NGN 'Dummies'Roel van Bueren
 
Windows installerbasics
Windows installerbasicsWindows installerbasics
Windows installerbasicsseethalux
 
Software Build processes and Git
Software Build processes and GitSoftware Build processes and Git
Software Build processes and GitAlec Clews
 
Extend Eclipse p2 framework capabilities: Add your custom installation steps
Extend Eclipse p2 framework capabilities: Add your custom installation stepsExtend Eclipse p2 framework capabilities: Add your custom installation steps
Extend Eclipse p2 framework capabilities: Add your custom installation stepsDragos_Mihailescu
 
Visual Studio commands
Visual Studio commandsVisual Studio commands
Visual Studio commandsPVS-Studio
 
THE CLR AND THE .NET FRAMEWORK, C#
THE CLR AND THE .NET FRAMEWORK, C#THE CLR AND THE .NET FRAMEWORK, C#
THE CLR AND THE .NET FRAMEWORK, C#MANOJ BURI
 
Continuous Integration for Oracle Database Development
Continuous Integration for Oracle Database DevelopmentContinuous Integration for Oracle Database Development
Continuous Integration for Oracle Database DevelopmentVladimir Bakhov
 
Talk on .NET assemblies
Talk on .NET assembliesTalk on .NET assemblies
Talk on .NET assembliesVidya Agarwal
 
What is Dll, Assemblies and GAC...?
What is Dll, Assemblies and GAC...?What is Dll, Assemblies and GAC...?
What is Dll, Assemblies and GAC...?Raja Naqash
 
Enterprise Library 3.0 Overview
Enterprise Library 3.0 OverviewEnterprise Library 3.0 Overview
Enterprise Library 3.0 Overviewmcgurk
 
Best practices for share point solution deployment
Best practices for share point solution deploymentBest practices for share point solution deployment
Best practices for share point solution deploymentSalaudeen Rajack
 
Improving Your Admin Image
Improving Your Admin ImageImproving Your Admin Image
Improving Your Admin Imageelisemoss
 

Similaire à Fixing Design-Time Validation Errors (20)

MSI / Windows Installer for NGN 'Dummies'
MSI / Windows Installer for NGN 'Dummies'MSI / Windows Installer for NGN 'Dummies'
MSI / Windows Installer for NGN 'Dummies'
 
Windows installerbasics
Windows installerbasicsWindows installerbasics
Windows installerbasics
 
Windows installerbasics
Windows installerbasicsWindows installerbasics
Windows installerbasics
 
Software Build processes and Git
Software Build processes and GitSoftware Build processes and Git
Software Build processes and Git
 
Rapidly deploying software
Rapidly deploying softwareRapidly deploying software
Rapidly deploying software
 
Installers
InstallersInstallers
Installers
 
installaware_faq
installaware_faqinstallaware_faq
installaware_faq
 
Extend Eclipse p2 framework capabilities: Add your custom installation steps
Extend Eclipse p2 framework capabilities: Add your custom installation stepsExtend Eclipse p2 framework capabilities: Add your custom installation steps
Extend Eclipse p2 framework capabilities: Add your custom installation steps
 
Visual Studio commands
Visual Studio commandsVisual Studio commands
Visual Studio commands
 
THE CLR AND THE .NET FRAMEWORK, C#
THE CLR AND THE .NET FRAMEWORK, C#THE CLR AND THE .NET FRAMEWORK, C#
THE CLR AND THE .NET FRAMEWORK, C#
 
Readme
ReadmeReadme
Readme
 
10team
10team10team
10team
 
Continuous Integration for Oracle Database Development
Continuous Integration for Oracle Database DevelopmentContinuous Integration for Oracle Database Development
Continuous Integration for Oracle Database Development
 
Talk on .NET assemblies
Talk on .NET assembliesTalk on .NET assemblies
Talk on .NET assemblies
 
ClearCase Basics
ClearCase BasicsClearCase Basics
ClearCase Basics
 
What is Dll, Assemblies and GAC...?
What is Dll, Assemblies and GAC...?What is Dll, Assemblies and GAC...?
What is Dll, Assemblies and GAC...?
 
Prepping software for w7 deployment
Prepping software for w7 deploymentPrepping software for w7 deployment
Prepping software for w7 deployment
 
Enterprise Library 3.0 Overview
Enterprise Library 3.0 OverviewEnterprise Library 3.0 Overview
Enterprise Library 3.0 Overview
 
Best practices for share point solution deployment
Best practices for share point solution deploymentBest practices for share point solution deployment
Best practices for share point solution deployment
 
Improving Your Admin Image
Improving Your Admin ImageImproving Your Admin Image
Improving Your Admin Image
 

Plus de Flexera

Get a Complete View of Your Business Services and IT Estate in ServiceNow wit...
Get a Complete View of Your Business Services and IT Estate in ServiceNow wit...Get a Complete View of Your Business Services and IT Estate in ServiceNow wit...
Get a Complete View of Your Business Services and IT Estate in ServiceNow wit...Flexera
 
Make Smarter Cloud Decisions at Every Step of Your Journey
Make Smarter Cloud Decisions at Every Step of Your JourneyMake Smarter Cloud Decisions at Every Step of Your Journey
Make Smarter Cloud Decisions at Every Step of Your JourneyFlexera
 
10 Tips to Optimize, Automate, and Govern your Hybrid IT Environment
10 Tips to Optimize, Automate, and Govern your Hybrid IT Environment10 Tips to Optimize, Automate, and Govern your Hybrid IT Environment
10 Tips to Optimize, Automate, and Govern your Hybrid IT EnvironmentFlexera
 
Using Automated Policies for SaaS Governance and Compliance
Using Automated Policies for SaaS Governance and ComplianceUsing Automated Policies for SaaS Governance and Compliance
Using Automated Policies for SaaS Governance and ComplianceFlexera
 
The Practical Approach for End-to-End SaaS Management
The Practical Approach for End-to-End SaaS ManagementThe Practical Approach for End-to-End SaaS Management
The Practical Approach for End-to-End SaaS ManagementFlexera
 
7 Things You Need to Know for Your Cloud-First Strategy
7 Things You Need to Know for Your Cloud-First Strategy7 Things You Need to Know for Your Cloud-First Strategy
7 Things You Need to Know for Your Cloud-First StrategyFlexera
 
The Role of In-House & External Counsel in Managing Open Source Software
The Role of In-House & External Counsel in Managing Open Source SoftwareThe Role of In-House & External Counsel in Managing Open Source Software
The Role of In-House & External Counsel in Managing Open Source SoftwareFlexera
 
Addressing Open Source Risks During M&A: A Legal View
Addressing Open Source Risks During M&A: A Legal ViewAddressing Open Source Risks During M&A: A Legal View
Addressing Open Source Risks During M&A: A Legal ViewFlexera
 
Having Trouble Managing All Your Cloud Services? We Know!
Having Trouble Managing All Your Cloud Services? We Know!Having Trouble Managing All Your Cloud Services? We Know!
Having Trouble Managing All Your Cloud Services? We Know!Flexera
 
Webinar: Maximizing the ROI of IT by Simplifying Technology Complexity
Webinar: Maximizing the ROI of IT by Simplifying Technology ComplexityWebinar: Maximizing the ROI of IT by Simplifying Technology Complexity
Webinar: Maximizing the ROI of IT by Simplifying Technology ComplexityFlexera
 
Webinar: What's New In FlexNet Manager Suite 2018 R1
Webinar: What's New In FlexNet Manager Suite 2018 R1Webinar: What's New In FlexNet Manager Suite 2018 R1
Webinar: What's New In FlexNet Manager Suite 2018 R1Flexera
 
Open Source Security - It can be done easily.
Open Source Security - It can be done easily.Open Source Security - It can be done easily.
Open Source Security - It can be done easily.Flexera
 
Software Distribution, Customer Experience and the IoT: Get Ready for Fast, S...
Software Distribution, Customer Experience and the IoT: Get Ready for Fast, S...Software Distribution, Customer Experience and the IoT: Get Ready for Fast, S...
Software Distribution, Customer Experience and the IoT: Get Ready for Fast, S...Flexera
 
Windows 10 webinar: What’s new for IT pros Windows 10 v 1709
Windows 10 webinar: What’s new for IT pros Windows 10 v 1709Windows 10 webinar: What’s new for IT pros Windows 10 v 1709
Windows 10 webinar: What’s new for IT pros Windows 10 v 1709Flexera
 
Don’t Let Hackers Breach Your Data: Shutting Your Risk Window on Apache Struts2
Don’t Let Hackers Breach Your Data:  Shutting Your Risk Window on Apache Struts2Don’t Let Hackers Breach Your Data:  Shutting Your Risk Window on Apache Struts2
Don’t Let Hackers Breach Your Data: Shutting Your Risk Window on Apache Struts2Flexera
 
BDNA joins Flexera
BDNA joins FlexeraBDNA joins Flexera
BDNA joins FlexeraFlexera
 
Flexera Event - The Game Has Changed - Are You Ready?
Flexera Event - The Game Has Changed - Are You Ready?Flexera Event - The Game Has Changed - Are You Ready?
Flexera Event - The Game Has Changed - Are You Ready?Flexera
 
Webinar: Take Proactive Control of Your SAP Licensing, Indirect Usage and Ven...
Webinar: Take Proactive Control of Your SAP Licensing, Indirect Usage and Ven...Webinar: Take Proactive Control of Your SAP Licensing, Indirect Usage and Ven...
Webinar: Take Proactive Control of Your SAP Licensing, Indirect Usage and Ven...Flexera
 
Keeping a Lid on Costs for Cloud Infrastructure and SaaS Applications
Keeping a Lid on Costs for Cloud Infrastructure and SaaS ApplicationsKeeping a Lid on Costs for Cloud Infrastructure and SaaS Applications
Keeping a Lid on Costs for Cloud Infrastructure and SaaS ApplicationsFlexera
 
Do You Manage Software? Understanding Your Role in Cybersecurity Defense
Do You Manage Software? Understanding Your Role in Cybersecurity DefenseDo You Manage Software? Understanding Your Role in Cybersecurity Defense
Do You Manage Software? Understanding Your Role in Cybersecurity DefenseFlexera
 

Plus de Flexera (20)

Get a Complete View of Your Business Services and IT Estate in ServiceNow wit...
Get a Complete View of Your Business Services and IT Estate in ServiceNow wit...Get a Complete View of Your Business Services and IT Estate in ServiceNow wit...
Get a Complete View of Your Business Services and IT Estate in ServiceNow wit...
 
Make Smarter Cloud Decisions at Every Step of Your Journey
Make Smarter Cloud Decisions at Every Step of Your JourneyMake Smarter Cloud Decisions at Every Step of Your Journey
Make Smarter Cloud Decisions at Every Step of Your Journey
 
10 Tips to Optimize, Automate, and Govern your Hybrid IT Environment
10 Tips to Optimize, Automate, and Govern your Hybrid IT Environment10 Tips to Optimize, Automate, and Govern your Hybrid IT Environment
10 Tips to Optimize, Automate, and Govern your Hybrid IT Environment
 
Using Automated Policies for SaaS Governance and Compliance
Using Automated Policies for SaaS Governance and ComplianceUsing Automated Policies for SaaS Governance and Compliance
Using Automated Policies for SaaS Governance and Compliance
 
The Practical Approach for End-to-End SaaS Management
The Practical Approach for End-to-End SaaS ManagementThe Practical Approach for End-to-End SaaS Management
The Practical Approach for End-to-End SaaS Management
 
7 Things You Need to Know for Your Cloud-First Strategy
7 Things You Need to Know for Your Cloud-First Strategy7 Things You Need to Know for Your Cloud-First Strategy
7 Things You Need to Know for Your Cloud-First Strategy
 
The Role of In-House & External Counsel in Managing Open Source Software
The Role of In-House & External Counsel in Managing Open Source SoftwareThe Role of In-House & External Counsel in Managing Open Source Software
The Role of In-House & External Counsel in Managing Open Source Software
 
Addressing Open Source Risks During M&A: A Legal View
Addressing Open Source Risks During M&A: A Legal ViewAddressing Open Source Risks During M&A: A Legal View
Addressing Open Source Risks During M&A: A Legal View
 
Having Trouble Managing All Your Cloud Services? We Know!
Having Trouble Managing All Your Cloud Services? We Know!Having Trouble Managing All Your Cloud Services? We Know!
Having Trouble Managing All Your Cloud Services? We Know!
 
Webinar: Maximizing the ROI of IT by Simplifying Technology Complexity
Webinar: Maximizing the ROI of IT by Simplifying Technology ComplexityWebinar: Maximizing the ROI of IT by Simplifying Technology Complexity
Webinar: Maximizing the ROI of IT by Simplifying Technology Complexity
 
Webinar: What's New In FlexNet Manager Suite 2018 R1
Webinar: What's New In FlexNet Manager Suite 2018 R1Webinar: What's New In FlexNet Manager Suite 2018 R1
Webinar: What's New In FlexNet Manager Suite 2018 R1
 
Open Source Security - It can be done easily.
Open Source Security - It can be done easily.Open Source Security - It can be done easily.
Open Source Security - It can be done easily.
 
Software Distribution, Customer Experience and the IoT: Get Ready for Fast, S...
Software Distribution, Customer Experience and the IoT: Get Ready for Fast, S...Software Distribution, Customer Experience and the IoT: Get Ready for Fast, S...
Software Distribution, Customer Experience and the IoT: Get Ready for Fast, S...
 
Windows 10 webinar: What’s new for IT pros Windows 10 v 1709
Windows 10 webinar: What’s new for IT pros Windows 10 v 1709Windows 10 webinar: What’s new for IT pros Windows 10 v 1709
Windows 10 webinar: What’s new for IT pros Windows 10 v 1709
 
Don’t Let Hackers Breach Your Data: Shutting Your Risk Window on Apache Struts2
Don’t Let Hackers Breach Your Data:  Shutting Your Risk Window on Apache Struts2Don’t Let Hackers Breach Your Data:  Shutting Your Risk Window on Apache Struts2
Don’t Let Hackers Breach Your Data: Shutting Your Risk Window on Apache Struts2
 
BDNA joins Flexera
BDNA joins FlexeraBDNA joins Flexera
BDNA joins Flexera
 
Flexera Event - The Game Has Changed - Are You Ready?
Flexera Event - The Game Has Changed - Are You Ready?Flexera Event - The Game Has Changed - Are You Ready?
Flexera Event - The Game Has Changed - Are You Ready?
 
Webinar: Take Proactive Control of Your SAP Licensing, Indirect Usage and Ven...
Webinar: Take Proactive Control of Your SAP Licensing, Indirect Usage and Ven...Webinar: Take Proactive Control of Your SAP Licensing, Indirect Usage and Ven...
Webinar: Take Proactive Control of Your SAP Licensing, Indirect Usage and Ven...
 
Keeping a Lid on Costs for Cloud Infrastructure and SaaS Applications
Keeping a Lid on Costs for Cloud Infrastructure and SaaS ApplicationsKeeping a Lid on Costs for Cloud Infrastructure and SaaS Applications
Keeping a Lid on Costs for Cloud Infrastructure and SaaS Applications
 
Do You Manage Software? Understanding Your Role in Cybersecurity Defense
Do You Manage Software? Understanding Your Role in Cybersecurity DefenseDo You Manage Software? Understanding Your Role in Cybersecurity Defense
Do You Manage Software? Understanding Your Role in Cybersecurity Defense
 

Dernier

DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 

Dernier (20)

DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 

Fixing Design-Time Validation Errors

  • 1. W H I T E PA P E R Fixing Design-Time Validation Errors by Robert Dickau Principal Technical Training Writer, Flexera Software
  • 2. Fixing Design-Time Validation Errors Introduction It is also assumed you are familiar with some of the wizards To help you detect and resolve potential problems in your installation available with InstallShield, such as the Release Wizard and project, you can perform several types of validation before you run Component Wizard. the installation on a target system. The types of validation discussed in this white paper include: • The Release Wizard, available under the Build menu and also from the Releases view, lets you describe the properties— • Build warnings and errors media type, compression settings, and so forth—of a release, • Internal Consistency Evaluator (ICE) validation and then builds the specified release image. • Update and patch validation • The Component Wizard, available by right-clicking a feature in the Setup Design view, lets you create special types of Addressing these types of design-time validation errors will help components, such as components for COM servers, fonts, you avoid errors. This white paper also shows you how and Windows services. InstallShield® helps you with design-time validation. The InstallShield Help Library contains information about using Using the InstallShield Environment every view and wizard in the InstallShield environment. The This white paper frequently refers to the InstallShield development InstallShield Help Library is available when you press F1 with environment. It is assumed you are familiar with the general layout any view selected; you can also select Contents from the Help of the InstallShield interface, which contains a list of views with menu to view the help library. which you can modify different portions of your installation project. In addition to the graphical environment, InstallShield provides several tools for modifying and building projects from the command line or an external script. For example, to build a project from the command line, batch file, or other automated process, you can use the executable IsCmdBld.exe. The IsCmdBld executable is located in the System subdirectory of the InstallShield distribution directory. To rebuild a project, you pass IsCmdBld the project file path, the product configuration name, and the release name that you want to rebuild. A sample command appears as follows: iscmdbld -p C:ProductName.ism -a BuildConfig -r ReleaseName In addition, InstallShield provides an Automation interface, with which you can modify the contents of a project file without using the graphical environment. For example, the General Information view is where you set general product and project properties; the Setup Design view enables you Learn More about InstallShield to edit the features, components, and component data used by your If you wish to learn more about the capabilities of project; the Registry view enables you to modify the registry data InstallShield, please visit the Flexera Software Web site installed by your installation program; and the Direct Editor view at www.flexerasoftware.com/installshield gives you access to the raw MSI database tables. 2 Flexera Software: InstallShield White Paper Series
  • 3. Validat ing MSI Updates and Patches Build Warnings and Errors the locations of source files on the development system. Whenever As InstallShield builds your project, status messages are displayed in you add a file to a component, InstallShield by default creates a the output window at the bottom of the development environment. path variable or reuses an existing path variable to represent that file’s location. If you move the source file, instead of having to reestablish the file link, you can simply assign the path variable a new value in the Path Variables view of the InstallShield environment. (The InstallShield help library also describes registry- based and environment variable–based path variables, with which you can modify path variable values without having to For a command-line build using IsCmdBld.exe, status messages are modify the project file.) displayed at the command prompt. In addition, if you have source directories that contain lists of files If any errors or warnings occur, they are displayed in the Build tab that are continually changing, you can use dynamic file linking. of the output window, as well as in the Tasks tab. The Tasks tab With dynamic linking, you specify a directory and optional file contains links to the InstallShield Knowledge Base for the latest name masks for inclusion and exclusion. Each build process information about resolving these warnings. (This requires a live then copies all of the matching files in the dynamic link into the Internet connection.) corresponding component. An important consideration regarding file linking is that a dynamically linked file cannot be the key file of its component. However, a component can contain any combination of static and dynamic links, and therefore a solution is to set a statically linked file as the key file, additionally marking the key file as an exclusion to the dynamic link. Addressing Build Errors and Warnings Build errors and warnings typically refer to missing or unexpected Moreover, when using dynamic file linking, it is important to source files or merge modules, but can refer to any condition that specify a “previous package” in the build settings to ensure File, prevents a build from completing. For example, the build process Component, and Media table keys are synchronized between reports error –1014 (“Cannot rename directory…”) if an installation builds. For more information, see the InstallShield help topic inside the build folder is running, or if Windows Explorer or a “Upgrade Considerations”. command prompt is pointing to the build folder. Another error related to missing data on the build system is –1024 In addition, the InstallShield environment will prevent you from (“File not found. Cannot stream the file into the Binary file.”), which entering some project settings that would cause the package to fail occurs if a file used by a custom action or dialog box (such as at deployment time. For example, a project cannot use DATABASE a DLL or bitmap file) has been moved or deleted. Similarly, build or PATCH as an internal Directory-table identifier—the way error –7017 occurs if your project includes merge modules or other INSTALLDIR or SystemFolder is a Directory identifier—as these are redistributables that are not present on your build system. Other reserved identifiers used by Windows Installer. If you try to define errors sometimes related to missing source files are –6271 (“File a component destination folder with internal identifier DATABASE, file not found. An error occurred building the MsiFileHash table the environment will rename the identifier to a valid value such as record…”) and –1501 (“Could not compress file into file.cab”). DATABASE_DIR1. (If, however, you use the Direct Editor to define a Directory called DATABASE or PATCH, the build process will report Design Issues and Build Warnings error –6262.) In addition to issues related to source files, some build warnings address design issues in your project. TIP: When you manually search the InstallShield Knowledge Base for a particular build warning or error number, omit the minus sign A deferred custom action must be placed between InstallInitialize in the search. For example, instead of searching for “–1014”, and InstallFinalize in the Execute sequence of an installation. To search for “1014”. help detect problems with improper placement of deferred actions, the build process generates warning –6524 if it detects a deferred Errors Regarding Missing Source Files custom action outside the range of InstallInitialize and InstallFinalize. If the build process cannot find a source file, because it has been renamed or deleted, the build process returns error –6103 TIP: By default, the build process will continue to completion even (“Could not find file file”) and –1007 (“Cannot copy source file if any build errors occur. To cancel a build, you can click the Stop to target directory”). Build toolbar button, or press Ctrl+Break. To specify always to stop a build if an error occurs, you can pull down the Tools menu and Two features of InstallShield that can help you work with source select Options; in the General tab, select the check box labeled files are path variables and dynamic file linking. Path variables “Stop build process when first error is encountered”. are variables used by the InstallShield build process to represent Flexera Software: InstallShield White Paper Series 3
  • 4. Validat ing MSI Updates and Patches If you use the command-line build tool IsCmdBld, the -x switch To perform ICE validation using the command-line build tool enables you to stop the build when the first error occurs, and the IsCmdBld, you can pass it the -m switch, followed by the path -w switch lets you specify that build warnings should be treated to the validation file (.cub file) to use. The Microsoft .cub files are as errors. stored in the Support subdirectory of the InstallShield distribution: ICE Validation IsCmdBld -p ProjectName.ism -a FullBuild -r cdrom Internal Consistency Evaluator (ICE) validation tests your MSI -m “C:Program FilesInstallShieldSupportdarice.cub” database records for different types of data that can lead to undesirable or unpredictable run-time behavior. There are over NOTE: There are separate merge module validation rules for merge 100 predefined ICE rules, testing for such conditions as duplicated module (.msm) projects. In the InstallShield environment, you can component codes, missing properties and dialog boxes, and invalid select Build > Validate > Merge Module Validation Suite. From the scheduling for various types of built-in and custom actions. (The command line, you can validate the database using the validation graphical editors and referential integrity features of the InstallShield file mergemod.cub. environment ensure that many types of ICE failures do not occur.) Because ICE validation is performed on an MSI database and not You can specify that InstallShield should perform ICE validation an ISM project file, your project must build successfully before you whenever you perform a build by pulling down the Tools menu, can perform this type of validation. selecting Options, and then selecting the Validation tab. In the Validation tab, select the check box labeled “Perform validation You perform ICE validation in the InstallShield environment by using”, and then select the desired validation suite. pulling down the Build menu, selecting Validate, and then selecting Full MSI Validation Suite. As with build errors and warnings, ICE errors and warnings appear in the Tasks tab of the output window. (The output window in InstallShield displays only ICE warnings and errors. If you use another tool such as Orca to perform validation, Using the Customize button, you can additionally select rules within you might see additional informational messages regarding the ICE a validation suite to skip. validation process.) The Windows Installer Help Library contains a summary of ICE The Validate tab also lists any ICE warnings or errors that occur, messages in the topic “ICE Reference”; and also provides a specific and provides a hyperlink to a text log file that contains the page for each ICE error, describing typical scenarios in which the validation results. Validation log files are saved in a subdirectory error occurs and how to address the error. called ValidationFiles, relative to the release folder. In addition, the Direct Editor view highlights tables, records, and fields related to the validation error or warning. TIP: You can right-click an error or warning in the Tasks tab of the output window and select “Go to Direct Editor”, which selects the corresponding record in the Direct Editor view. 4 Flexera Software: InstallShield White Paper Series
  • 5. Validat ing MSI Updates and Patches ICE Warnings You Can Ignore ICE33 warnings can often be safely ignored, especially if you The following paragraphs describe some ICE warnings that can be intend not to use Windows Installer advertisement functionality. safely ignored. Common ICE Errors ICE36 and ARPPRODUCTICON The following sections describe some of the most common ICE An advertised Windows Installer installation is one that installs warnings and errors. application “entry points”, such as shortcuts, COM information, and file-extension information on a user’s system, but does not install any ICE09 and SystemFolder Components application files or registry information until the user invokes one of In legacy installation programs, application libraries (DLLs and these entry points. Because the targets of these entry points will not other files) were commonly installed to the System folder during initially be installed, Windows Installer requires any icon resources installation. Two problems with this behavior are: One of these used by these entry points to be extracted and stored separately libraries would sometimes be installed over a newer version of inside the MSI database. To this end, the Icon table is used to the library, and sometimes the library would inadvertently be store icons used by advertiseable shortcuts, COM classes, and removed during uninstallation while other applications still file extensions. required the library. ICE36 warns if any icons in the Icon table appear to be unused, The Windows Installer file-overwrite rules (along with System which means the MSI database is larger than necessary. However, File Protection) help prevent the first problem from occurring. To some ICE validation suites overlook the possibility that resources avoid the problem of system libraries being removed when other in the Icon table can refer to the ARPPRODUCTICON property, applications need them, a requirement is that any component which specifies the icon to appear in the application’s Add or having a destination of [SystemFolder] be marked as Permanent. Remove Programs entry. Therefore, ICE36 errors that refer to That is, any files installed to the System folder will permanently ARPPRODUCTICON can safely be ignored. remain there. If a file needs to be removed during uninstallation, it should be installed to a vendor-specific folder in the Common ICE17 and InstallShield SQL Dialog Boxes Files folder. ICE17 tests various characteristics of user-interface controls, including checking that PushButton controls have associated control ICE09 verifies that a component with [SystemFolder] as its events; icons used for controls are available in the Binary table; destination is marked permanent. To fix ICE09 errors, select the and that ComboBox, ListBox, and RadioButton controls have referenced component in the Components view or Setup Design corresponding data in the respective tables. view and set its Permanent property to Yes. With InstallShield projects, validation will report an ICE17 ICE57 and Per-User Data warning for the SQL dialog boxes SQLBrowse and SQLLogin, Some Windows Installer Directory properties can resolve to different which create their data dynamically at run time. These warnings locations based on the type of installation being performed. For can safely be ignored. example, the ProgramMenuFolder and DesktopFolder properties resolve to a location available to all users of a system for a per- ICE33 and the Registry Table machine installation, and to a location available only to the current The self-registration process for COM servers—commonly called self- user for a per-user installation. Similarly, registry data you place registering DLLs and OCXs—places the registration information in under the root key HKEY_USER_SELECTABLE is installed to either the target system’s registry. COM information is typically written to HKEY_LOCAL_MACHINE or HKEY_CURRENT_USER based on the keys HKCRCLSID{CLSID} and HKCRCom.Prog.Id when the the type of installation being performed. Whether a per-machine DllRegisterServer entry point of the COM library is invoked. Calling or per-user installation is taking place depends on the value of the DllRegisterServer function in a COM library is often called the ALLUSERS property, which is typically set by the Customer “legacy self-registration”. Information dialog box. For reasons related to various Windows Installer features (such A single Windows Installer component should not contain both as advertisement, rollback, and per-user installations), it is per-machine and per-user data, because doing so can result in an recommended that you use the COM-related MSI tables (Class, incomplete installation for other user accounts on the target system. ProgId, and AppId) instead of registering the COM server directly. Instead, a single component should contain only per-machine Even so, there is some COM information that does not fit into the data or only per-user data. ICE57 reports an error if a component MSI COM-table schema (such as threading model information) that contains both types of data. must be placed in the Registry table. ICE33 warnings appear for this type of information. (These warnings often occur in projects that NOTE: ICE57 is related to ICE38, which validates that every use Microsoft merge modules.) component installed to the user’s profile has a key path in HKEY_CURRENT_USER; and is also related to ICE91, which The same applies to file-extension information: On a target system, reports a warning for resources are being installed to a per-user-only file-association information is ultimately written to the keys HKCR. location (such as AppDataFolder), which can cause errors for a ext and HKCRExt.Prog.Id, but for MSI advertisement should be per-machine installation. placed in the Extension, Verb, and ProgId tables. Flexera Software: InstallShield White Paper Series 5
  • 6. Validat ing MSI Updates and Patches ICE44 and Deleted Dialog Boxes Tools menu, select Options, select the Preferences tab, and clear The flow of dialog boxes in a Windows Installer project is handled the check box labeled “Uninstall before installing”. by the NewDialog control events on the Next and Back buttons of each dialog box. To reorder dialog boxes, you should adjust the For a complete list of errors and their descriptions, see the arguments of the NewDialog control events for the Back and Next InstallShield Help Library topic “Validators”. buttons for the affected dialogs. If you simply delete a dialog box from the Dialogs view, the validation process will return an ICE44 Summary error, which indicates that the target of a NewDialog control event This white paper discusses types of validation you can perform does not exist in the project. Fixing ICE44 errors avoids Windows before you run the installation on a target system. Addressing Installer run-time error 2803. these types of design-time validation errors will help you avoid errors. This white paper also shows you how InstallShield helps For other ICE warnings and errors, you should consult the Windows you with design-time validation. Installer Help Library and the InstallShield Knowledge Base, as ICE failures tend to be very specific. Begin a Free Evaluation of InstallShield TIP: You can search your project for a particular string in the Direct You can download a free trial version of InstallShield from Editor view. Pressing Ctrl+F opens a standard Find panel, with which the Flexera Software Web site at: you can search the currently selected table or all tables for a given www.flexerasoftware.com/installshield/eval string. An advanced technique is to create custom ICE validation rules. Want to learn more best practices for building quality Upgrade and Patch Validation installations? Another type of validation performed by the InstallShield build Join an InstallShield training class – visit process is validation that tests for common errors in authoring an www.flexerasoftware.com/training for available classes. update installation. The errors and warnings displayed differ for major upgrades, minor upgrades, and patches. Also, if you have a critical installation project but are short on developer bandwidth or expertise, Flexera Software’s TIP: A first step for addressing many problems related to updates Professional Services team can help. Learn more at: and patches is to use the Patch Optimization setting in the Release www.flexerasoftware.com/services/consulting/software- Wizard. In the Advanced Settings panel of the Release Wizard, in installations.htm. the “Previous package” field, enter the path to the MSI database for the previous release of your project. Using this setting ensures that certain types of dynamic data in the File, Component, and Media tables is compatible between builds. Some of the common upgrade and patch validation failures are: • Val004: Displays an error if a change to an existing component’s files will prevent the component from being updated in a minor upgrade. • Val006: Displays an error if a minor upgrade is being performed when a major upgrade should be; for example, because a component has been deleted or moved in the product tree. • Val008: Displays an error if a record in the Upgrade table for a major upgrade contains invalid data. By default, upgrade and patch validation is performed each time you build your project. You can also manually perform this type of validation by pulling down the Build menu, selecting Validate, and then selecting Upgrade Validation Wizard. When you test an update project from the InstallShield environment, by default clicking the Run toolbar button causes any version of the product already on the system to be uninstalled. To properly test update installations from the InstallShield environment, pull down the 6 Flexera Software: InstallShield White Paper Series
  • 7. Flexera Software LLC Schaumburg United Kingdom (Europe, Japan (Asia, For more office locations visit: 1000 East Woodfield Road, (Global Headquarters): Middle East Headquarters): Pacific Headquarters): www.flexerasoftware.com Suite 400 +1 800-809-5659 +44 870-871-1111 +81 3-4360-8291 Schaumburg, IL 60173 USA +44 870-873-6300 Copyright © 2011 Flexera Software LLC. All other brand and product names mentioned herein may be the trademarks and registered trademarks of their respective owners. IA_WP_Time-Validation_Oct11