From afe0203632b0fb801169424628caac111fa68db9 Mon Sep 17 00:00:00 2001 From: lidongsjtu Date: Wed, 14 Oct 2015 14:45:02 +0800 Subject: [PATCH] KYLIN-596 Support Excel and Power BI --- odbc/Common/JsonConverter.cpp | 345 +- odbc/Common/StringUtils.cpp | 380 +- odbc/Common/StringUtils.h | 4 +- odbc/Driver/GODBC.RC | 354 +- odbc/Driver/KO_CONN.CPP | 2056 ++--- odbc/Driver/KO_CTLG.CPP | 723 +- odbc/Driver/KO_DESC.CPP | 5597 ++++++------- odbc/Driver/KO_FETCH.CPP | 2560 +++--- odbc/Driver/KO_INFO.CPP | 2367 +++--- odbc/Driver/KO_UTILS.CPP | 1178 +-- odbc/Driver/driver.DEF | 171 +- odbc/Installer(64bit)/Installer(64bit).isl | 11472 +++++++++++++-------------- odbc/Installer/Installer.isl | 11432 +++++++++++++------------- odbc/README.md | 4 +- 14 files changed, 19400 insertions(+), 19243 deletions(-) diff --git a/odbc/Common/JsonConverter.cpp b/odbc/Common/JsonConverter.cpp index ce3fdfa..234faad 100644 --- a/odbc/Common/JsonConverter.cpp +++ b/odbc/Common/JsonConverter.cpp @@ -1,173 +1,174 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - -#include "JsonConverter.h" - -#define ASSIGN_IF_NOT_NULL(x,y,z) if(!y.is_null())x=y.z -#define x_ASSIGN_IF_NOT_NULL(x,y,z) if(!y.is_null())x=wstring2string(y.z) - - -TableMeta* TableMetaFromJSON ( web::json::value & object ) { - TableMeta* result = new TableMeta(); - x_ASSIGN_IF_NOT_NULL ( result->TABLE_CAT, object[U ( "table_CAT" )], as_string() ); - x_ASSIGN_IF_NOT_NULL ( result->TABLE_SCHEM , object[U ( "table_SCHEM" )], as_string() ); - x_ASSIGN_IF_NOT_NULL ( result->TABLE_NAME , object[U ( "table_NAME" )], as_string() ); - x_ASSIGN_IF_NOT_NULL ( result->TABLE_TYPE , object[U ( "table_TYPE" )], as_string() ); - x_ASSIGN_IF_NOT_NULL ( result->REMARKS , object[U ( "remarks" )], as_string() ); - x_ASSIGN_IF_NOT_NULL ( result->TYPE_CAT , object[U ( "type_CAT" )], as_string() ); - x_ASSIGN_IF_NOT_NULL ( result->TYPE_SCHEM , object[U ( "type_SCHEM" )], as_string() ); - x_ASSIGN_IF_NOT_NULL ( result->TYPE_NAME , object[U ( "type_NAME" )], as_string() ); - x_ASSIGN_IF_NOT_NULL ( result->SELF_REFERENCING_COL_NAME , object[U ( "self_REFERENCING_COL_NAME" )], as_string() ); - x_ASSIGN_IF_NOT_NULL ( result->REF_GENERATION , object[U ( "ref_GENERATION" )], as_string() ); - return result; -} - -ColumnMeta* ColumnMetaFromJSON ( web::json::value & object ) { - ColumnMeta* result = new ColumnMeta(); - x_ASSIGN_IF_NOT_NULL ( result->TABLE_CAT , object[U ( "table_CAT" )], as_string() ); - x_ASSIGN_IF_NOT_NULL ( result->TABLE_SCHEM , object[U ( "table_SCHEM" )], as_string() ); - x_ASSIGN_IF_NOT_NULL ( result->TABLE_NAME , object[U ( "table_NAME" )], as_string() ); - x_ASSIGN_IF_NOT_NULL ( result->COLUMN_NAME , object[U ( "column_NAME" )], as_string() ); - //ASSIGN_IF_NOT_NULL(result->DATA_TYPE ,object[U("data_TYPE")], as_integer()); - x_ASSIGN_IF_NOT_NULL ( result->TYPE_NAME , object[U ( "type_NAME" )], as_string() ); - ASSIGN_IF_NOT_NULL ( result->COLUMN_SIZE , object[U ( "column_SIZE" )], as_integer() ); - ASSIGN_IF_NOT_NULL ( result->BUFFER_LENGTH , object[U ( "buffer_LENGTH" )], as_integer() ); - ASSIGN_IF_NOT_NULL ( result->DECIMAL_DIGITS , object[U ( "decimal_DIGITS" )], as_integer() ); - ASSIGN_IF_NOT_NULL ( result->NUM_PREC_RADIX , object[U ( "num_PREC_RADIX" )], as_integer() ); - ASSIGN_IF_NOT_NULL ( result->NULLABLE , object[U ( "nullable" )], as_integer() ); - x_ASSIGN_IF_NOT_NULL ( result->REMARKS , object[U ( "remarks" )], as_string() ); - x_ASSIGN_IF_NOT_NULL ( result->COLUMN_DEF , object[U ( "column_DEF" )], as_string() ); - //ASSIGN_IF_NOT_NULL(result->SQL_DATA_TYPE ,object[U("sql_DATA_TYPE")], as_integer()); - ASSIGN_IF_NOT_NULL ( result->SQL_DATETIME_SUB , object[U ( "sql_DATETIME_SUB" )], as_integer() ); - ASSIGN_IF_NOT_NULL ( result->CHAR_OCTET_LENGTH , object[U ( "char_OCTET_LENGTH" )], as_integer() ); - ASSIGN_IF_NOT_NULL ( result->ORDINAL_POSITION , object[U ( "ordinal_POSITION" )], as_integer() ); - x_ASSIGN_IF_NOT_NULL ( result->IS_NULLABLE , object[U ( "is_NULLABLE" )], as_string() ); - x_ASSIGN_IF_NOT_NULL ( result->SCOPE_CATLOG , object[U ( "scope_CATLOG" )], as_string() ); - x_ASSIGN_IF_NOT_NULL ( result->SCOPE_SCHEMA , object[U ( "scope_SCHEMA" )], as_string() ); - x_ASSIGN_IF_NOT_NULL ( result->SCOPE_TABLE , object[U ( "scope_TABLE" )], as_string() ); - x_ASSIGN_IF_NOT_NULL ( result->IS_AUTOINCREMENT , object[U ( "iS_AUTOINCREMENT" )], as_string() ); - - if ( !object[U ( "source_DATA_TYPE" )].is_null() ) { - result->SOURCE_DATA_TYPE = ( short ) object[U ( "source_DATA_TYPE" )].as_integer(); - } - - // the orig value passed from REST is java.sql.Types, we convert it to SQL Type - - if ( !object[U ( "data_TYPE" )].is_null() ) { - result->DATA_TYPE = JDBC2ODBC ( object[U ( "data_TYPE" )].as_integer() ); - } - - if ( !object[U ( "sql_DATA_TYPE" )].is_null() ) { - result->SQL_DATA_TYPE = JDBC2ODBC ( object[U ( "sql_DATA_TYPE" )].as_integer() ); - } - - return result; -} - -std::unique_ptr MetadataResponseFromJSON ( web::json::value & object ) { - std::unique_ptr result ( new MetadataResponse() ); - web::json::array& tableMetaArray = object.as_array(); - - for ( auto iter = tableMetaArray.begin(); iter != tableMetaArray.end(); ++iter ) { - result->tableMetas.push_back ( TableMetaFromJSON ( *iter ) ); - web::json::value& columns = ( *iter ) [U ( "columns" )]; - web::json::array& columnsMetaArray = columns.as_array(); - - for ( auto inner_iter = columnsMetaArray.begin(); inner_iter != columnsMetaArray.end(); ++inner_iter ) { - result->columnMetas.push_back ( ColumnMetaFromJSON ( *inner_iter ) ); - } - } - - return result; -} -SelectedColumnMeta* SelectedColumnMetaFromJSON ( web::json::value & object ) { - SelectedColumnMeta* result = new SelectedColumnMeta(); - ASSIGN_IF_NOT_NULL ( result->isAutoIncrement , object[U ( "autoIncrement" )], as_bool() ); - ASSIGN_IF_NOT_NULL ( result->isCaseSensitive , object[U ( "caseSensitive" )], as_bool() ); - ASSIGN_IF_NOT_NULL ( result->isSearchable , object[U ( "searchable" )], as_bool() ); - ASSIGN_IF_NOT_NULL ( result->isCurrency , object[U ( "currency" )], as_bool() ); - ASSIGN_IF_NOT_NULL ( result->isNullable , object[U ( "isNullable" )], as_integer() ); - ASSIGN_IF_NOT_NULL ( result->isSigned , object[U ( "signed" )], as_bool() ); - ASSIGN_IF_NOT_NULL ( result->displaySize , object[U ( "displaySize" )], as_integer() ); - x_ASSIGN_IF_NOT_NULL ( result->label , object[U ( "label" )], as_string() ); - x_ASSIGN_IF_NOT_NULL ( result->name , object[U ( "name" )], as_string() ); - x_ASSIGN_IF_NOT_NULL ( result->schemaName , object[U ( "schemaName" )], as_string() ); - x_ASSIGN_IF_NOT_NULL ( result->catelogName , object[U ( "catelogName" )], as_string() ); - x_ASSIGN_IF_NOT_NULL ( result->tableName , object[U ( "tableName" )], as_string() ); - ASSIGN_IF_NOT_NULL ( result->precision , object[U ( "precision" )], as_integer() ); - ASSIGN_IF_NOT_NULL ( result->scale , object[U ( "scale" )], as_integer() ); - //ASSIGN_IF_NOT_NULL(result->columnType ,object[U("columnType")], as_integer()); - x_ASSIGN_IF_NOT_NULL ( result->columnTypeName , object[U ( "columnTypeName" )], as_string() ); - ASSIGN_IF_NOT_NULL ( result->isReadOnly , object[U ( "readOnly" )], as_bool() ); - ASSIGN_IF_NOT_NULL ( result->isWritable , object[U ( "writable" )], as_bool() ); - ASSIGN_IF_NOT_NULL ( result->isDefinitelyWritable , object[U ( "definitelyWritable" )], as_bool() ); - - if ( !object[U ( "columnType" )].is_null() ) { - result->columnType = JDBC2ODBC ( object[U ( "columnType" )].as_integer() ); - } - - return result; -} - -void constructUnflattenResults ( SQLResponse* result, web::json::value& o_results ) { - if ( o_results.is_null() ) - { return; } - - for ( auto iter = o_results.as_array().begin(); iter != o_results.as_array().end(); ++iter ) { - SQLRowContent* row = new SQLRowContent(); - - for ( auto jter = iter->as_array().begin(); jter != iter->as_array().end(); ++jter ) { - if ( jter->is_null() ) { - wstring emptyCell; - row->contents.push_back ( emptyCell ); - } - - else { - row->contents.push_back ( ( jter->as_string() ) ); - } - } - - result->results.push_back ( row ); - } -} - -std::unique_ptr SQLResponseFromJSON ( web::json::value & object ) { - std::unique_ptr result ( new SQLResponse() ); - web::json::value& o_columnMetas = object[U ( "columnMetas" )]; - web::json::value& o_results = object[U ( "results" )]; - result->affectedRowCount = object[U ( "affectedRowCount" )].as_integer(); - result->isException = object[U ( "isException" )].as_bool(); - ASSIGN_IF_NOT_NULL ( result->exceptionMessage, object[U ( "exceptionMessage" )], as_string() ); - - if ( !o_columnMetas.is_null() ) { - for ( auto iter = o_columnMetas.as_array().begin(); iter != o_columnMetas.as_array().end(); ++iter ) { - result->columnMetas.push_back ( SelectedColumnMetaFromJSON ( *iter ) ); - } - } - - constructUnflattenResults ( result.get(), o_results ); - return result; -} - -std::unique_ptr ErrorMessageFromJSON ( web::json::value & object ) { - std::unique_ptr result ( new ErrorMessage() ); - ASSIGN_IF_NOT_NULL ( result->url, object[U ( "url" )], as_string() ); - ASSIGN_IF_NOT_NULL ( result->msg, object[U ( "exception" )], as_string() ); - return result; +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +#include "JsonConverter.h" + +#define ASSIGN_IF_NOT_NULL(x,y,z) if(!y.is_null())x=y.z +#define x_ASSIGN_IF_NOT_NULL(x,y,z) if(!y.is_null())x=wstring2string(y.z) + + +TableMeta* TableMetaFromJSON ( web::json::value & object ) { + TableMeta* result = new TableMeta(); + x_ASSIGN_IF_NOT_NULL ( result->TABLE_CAT, object[U ( "table_CAT" )], as_string() ); + x_ASSIGN_IF_NOT_NULL ( result->TABLE_SCHEM , object[U ( "table_SCHEM" )], as_string() ); + x_ASSIGN_IF_NOT_NULL ( result->TABLE_NAME , object[U ( "table_NAME" )], as_string() ); + x_ASSIGN_IF_NOT_NULL ( result->TABLE_TYPE , object[U ( "table_TYPE" )], as_string() ); + x_ASSIGN_IF_NOT_NULL ( result->REMARKS , object[U ( "remarks" )], as_string() ); + x_ASSIGN_IF_NOT_NULL ( result->TYPE_CAT , object[U ( "type_CAT" )], as_string() ); + x_ASSIGN_IF_NOT_NULL ( result->TYPE_SCHEM , object[U ( "type_SCHEM" )], as_string() ); + x_ASSIGN_IF_NOT_NULL ( result->TYPE_NAME , object[U ( "type_NAME" )], as_string() ); + x_ASSIGN_IF_NOT_NULL ( result->SELF_REFERENCING_COL_NAME , object[U ( "self_REFERENCING_COL_NAME" )], as_string() ); + x_ASSIGN_IF_NOT_NULL ( result->REF_GENERATION , object[U ( "ref_GENERATION" )], as_string() ); + return result; +} + +ColumnMeta* ColumnMetaFromJSON ( web::json::value & object ) { + ColumnMeta* result = new ColumnMeta(); + x_ASSIGN_IF_NOT_NULL ( result->TABLE_CAT , object[U ( "table_CAT" )], as_string() ); + x_ASSIGN_IF_NOT_NULL ( result->TABLE_SCHEM , object[U ( "table_SCHEM" )], as_string() ); + x_ASSIGN_IF_NOT_NULL ( result->TABLE_NAME , object[U ( "table_NAME" )], as_string() ); + x_ASSIGN_IF_NOT_NULL ( result->COLUMN_NAME , object[U ( "column_NAME" )], as_string() ); + //ASSIGN_IF_NOT_NULL(result->DATA_TYPE ,object[U("data_TYPE")], as_integer()); + x_ASSIGN_IF_NOT_NULL ( result->TYPE_NAME , object[U ( "type_NAME" )], as_string() ); + ASSIGN_IF_NOT_NULL ( result->COLUMN_SIZE , object[U ( "column_SIZE" )], as_integer() ); + ASSIGN_IF_NOT_NULL ( result->BUFFER_LENGTH , object[U ( "buffer_LENGTH" )], as_integer() ); + ASSIGN_IF_NOT_NULL ( result->DECIMAL_DIGITS , object[U ( "decimal_DIGITS" )], as_integer() ); + ASSIGN_IF_NOT_NULL ( result->NUM_PREC_RADIX , object[U ( "num_PREC_RADIX" )], as_integer() ); + ASSIGN_IF_NOT_NULL ( result->NULLABLE , object[U ( "nullable" )], as_integer() ); + x_ASSIGN_IF_NOT_NULL ( result->REMARKS , object[U ( "remarks" )], as_string() ); + x_ASSIGN_IF_NOT_NULL ( result->COLUMN_DEF , object[U ( "column_DEF" )], as_string() ); + //ASSIGN_IF_NOT_NULL(result->SQL_DATA_TYPE ,object[U("sql_DATA_TYPE")], as_integer()); + ASSIGN_IF_NOT_NULL ( result->SQL_DATETIME_SUB , object[U ( "sql_DATETIME_SUB" )], as_integer() ); + ASSIGN_IF_NOT_NULL ( result->CHAR_OCTET_LENGTH , object[U ( "char_OCTET_LENGTH" )], as_integer() ); + ASSIGN_IF_NOT_NULL ( result->ORDINAL_POSITION , object[U ( "ordinal_POSITION" )], as_integer() ); + x_ASSIGN_IF_NOT_NULL ( result->IS_NULLABLE , object[U ( "is_NULLABLE" )], as_string() ); + x_ASSIGN_IF_NOT_NULL ( result->SCOPE_CATLOG , object[U ( "scope_CATLOG" )], as_string() ); + x_ASSIGN_IF_NOT_NULL ( result->SCOPE_SCHEMA , object[U ( "scope_SCHEMA" )], as_string() ); + x_ASSIGN_IF_NOT_NULL ( result->SCOPE_TABLE , object[U ( "scope_TABLE" )], as_string() ); + x_ASSIGN_IF_NOT_NULL ( result->IS_AUTOINCREMENT , object[U ( "iS_AUTOINCREMENT" )], as_string() ); + + if ( !object[U ( "source_DATA_TYPE" )].is_null() ) { + result->SOURCE_DATA_TYPE = ( short ) object[U ( "source_DATA_TYPE" )].as_integer(); + } + + // the orig value passed from REST is java.sql.Types, we convert it to SQL Type + + if ( !object[U ( "data_TYPE" )].is_null() ) { + result->DATA_TYPE = JDBC2ODBC ( object[U ( "data_TYPE" )].as_integer() ); + } + + if ( !object[U ( "sql_DATA_TYPE" )].is_null() ) { + result->SQL_DATA_TYPE = JDBC2ODBC ( object[U ( "sql_DATA_TYPE" )].as_integer() ); + } + + return result; +} + +std::unique_ptr MetadataResponseFromJSON ( web::json::value & object ) { + std::unique_ptr result ( new MetadataResponse() ); + web::json::array& tableMetaArray = object.as_array(); + + for ( auto iter = tableMetaArray.begin(); iter != tableMetaArray.end(); ++iter ) { + result->tableMetas.push_back ( TableMetaFromJSON ( *iter ) ); + web::json::value& columns = ( *iter ) [U ( "columns" )]; + web::json::array& columnsMetaArray = columns.as_array(); + + for ( auto inner_iter = columnsMetaArray.begin(); inner_iter != columnsMetaArray.end(); ++inner_iter ) { + result->columnMetas.push_back ( ColumnMetaFromJSON ( *inner_iter ) ); + } + } + + return result; +} +SelectedColumnMeta* SelectedColumnMetaFromJSON ( web::json::value & object ) { + SelectedColumnMeta* result = new SelectedColumnMeta(); + ASSIGN_IF_NOT_NULL ( result->isAutoIncrement , object[U ( "autoIncrement" )], as_bool() ); + ASSIGN_IF_NOT_NULL ( result->isCaseSensitive , object[U ( "caseSensitive" )], as_bool() ); + ASSIGN_IF_NOT_NULL ( result->isSearchable , object[U ( "searchable" )], as_bool() ); + ASSIGN_IF_NOT_NULL ( result->isCurrency , object[U ( "currency" )], as_bool() ); + ASSIGN_IF_NOT_NULL ( result->isNullable , object[U ( "isNullable" )], as_integer() ); + ASSIGN_IF_NOT_NULL ( result->isSigned , object[U ( "signed" )], as_bool() ); + ASSIGN_IF_NOT_NULL ( result->displaySize , object[U ( "displaySize" )], as_integer() ); + x_ASSIGN_IF_NOT_NULL ( result->label , object[U ( "label" )], as_string() ); + x_ASSIGN_IF_NOT_NULL ( result->name , object[U ( "name" )], as_string() ); + x_ASSIGN_IF_NOT_NULL ( result->schemaName , object[U ( "schemaName" )], as_string() ); + x_ASSIGN_IF_NOT_NULL ( result->catelogName , object[U ( "catelogName" )], as_string() ); + x_ASSIGN_IF_NOT_NULL ( result->tableName , object[U ( "tableName" )], as_string() ); + ASSIGN_IF_NOT_NULL ( result->precision , object[U ( "precision" )], as_integer() ); + ASSIGN_IF_NOT_NULL ( result->scale , object[U ( "scale" )], as_integer() ); + //ASSIGN_IF_NOT_NULL(result->columnType ,object[U("columnType")], as_integer()); + x_ASSIGN_IF_NOT_NULL ( result->columnTypeName , object[U ( "columnTypeName" )], as_string() ); + ASSIGN_IF_NOT_NULL ( result->isReadOnly , object[U ( "readOnly" )], as_bool() ); + ASSIGN_IF_NOT_NULL ( result->isWritable , object[U ( "writable" )], as_bool() ); + ASSIGN_IF_NOT_NULL ( result->isDefinitelyWritable , object[U ( "definitelyWritable" )], as_bool() ); + + if ( !object[U ( "columnType" )].is_null() ) { + result->columnType = JDBC2ODBC ( object[U ( "columnType" )].as_integer() ); + } + + return result; +} + +void constructUnflattenResults ( SQLResponse* result, web::json::value& o_results ) { + if ( o_results.is_null() ) + { return; } + + for ( auto iter = o_results.as_array().begin(); iter != o_results.as_array().end(); ++iter ) { + SQLRowContent* row = new SQLRowContent(); + + for ( auto jter = iter->as_array().begin(); jter != iter->as_array().end(); ++jter ) { + if ( jter->is_null() ) { + wstring emptyCell; + row->contents.push_back ( emptyCell ); + } + + else { + row->contents.push_back ( ( jter->as_string() ) ); + } + } + + result->results.push_back ( row ); + } +} + +std::unique_ptr SQLResponseFromJSON ( web::json::value & object ) { + std::unique_ptr result ( new SQLResponse() ); + + result->affectedRowCount = object[U ( "affectedRowCount" )].as_integer(); + result->isException = object[U ( "isException" )].as_bool(); + + ASSIGN_IF_NOT_NULL ( result->exceptionMessage, object[U ( "exceptionMessage" )], as_string() ); + + if ( object[U ( "columnMetas" )].is_array()) { + web::json::array& columnMetasArray = object[U ( "columnMetas" )].as_array(); + for ( auto iter = columnMetasArray.begin(); iter != columnMetasArray.end(); ++iter ) { + result->columnMetas.push_back ( SelectedColumnMetaFromJSON ( *iter ) ); + } + } + + constructUnflattenResults ( result.get(), object[U ( "results" )] ); + return result; +} + +std::unique_ptr ErrorMessageFromJSON ( web::json::value & object ) { + std::unique_ptr result ( new ErrorMessage() ); + ASSIGN_IF_NOT_NULL ( result->url, object[U ( "url" )], as_string() ); + ASSIGN_IF_NOT_NULL ( result->msg, object[U ( "exception" )], as_string() ); + return result; } \ No newline at end of file diff --git a/odbc/Common/StringUtils.cpp b/odbc/Common/StringUtils.cpp index f31b75b..1ddcfd9 100644 --- a/odbc/Common/StringUtils.cpp +++ b/odbc/Common/StringUtils.cpp @@ -1,184 +1,196 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - -#include -#include -#include - -#include "atlbase.h" -#include "atlstr.h" -#include "comutil.h" - - -#include "StringUtils.h" -#include "Base64.h" - -using namespace std; - -std::unique_ptr str_base64_encode ( char* raw ) { - trimwhitespace ( raw ); - string encStr = base64_encode ( ( const unsigned char* ) raw, strlen ( raw ) ); - std::unique_ptr temp ( new char[encStr.length() + 1] ); - strcpy ( temp.get(), encStr.c_str() ); - return temp; -} - -std::unique_ptr str_base64_decode ( char* enc ) { - string s ( enc ); - string decStr = base64_decode ( s ); - std::unique_ptr temp ( new char[decStr.length() + 1] ); - strcpy ( temp.get(), decStr.c_str() ); - return temp; -} - -void trimwhitespace ( char* str ) { - if ( str == NULL || strlen ( str ) == 0 ) - { return; } - - char* start = str; - char* end; - - // Trim leading space - while ( isspace ( *start ) ) { start++; } - - if ( *start == 0 ) { // All spaces? - str[0] = '\0'; - return; - } - - // Trim trailing space - end = start + strlen ( start ) - 1; - - while ( end > start && isspace ( *end ) ) { end--; } - - // Write new null terminator - * ( end + 1 ) = 0; - memmove ( str, start, end - start + 2 ); -} - -void copyTrimmed ( char** dest, char* src ) { - // check if previous value exists - if ( *dest ) { - delete[] ( *dest ); - *dest = NULL; - } - - *dest = new char[strlen ( src ) + 1]; - strcpy ( *dest, src ); - trimwhitespace ( *dest ); -} - -std::unique_ptr char2wchar ( char* orig ) { - if ( orig == NULL ) - { return NULL; } - - size_t newsize = strlen ( orig ) + 1; - std::unique_ptr wcstring ( new wchar_t[newsize] ); - size_t convertedChars = 0; - mbstowcs_s ( &convertedChars, wcstring.get(), newsize, orig, _TRUNCATE ); - return wcstring; -} - -std::unique_ptr char2wchar ( const char* orig ) { - if ( orig == NULL ) - { return NULL; } - - size_t newsize = strlen ( orig ) + 1; - std::unique_ptr wcstring ( new wchar_t[newsize] ); - size_t convertedChars = 0; - mbstowcs_s ( &convertedChars, wcstring.get(), newsize, orig, _TRUNCATE ); - return wcstring; -} - -//specifying the destination -void char2wchar ( char* orig, wchar_t* dest, int destBufferLength ) { - if ( orig == NULL ) - { return; } - - if ( destBufferLength > 0 ) { - if ( destBufferLength <= ( int ) strlen ( orig ) ) { - throw - 1; - } - } - - size_t newsize = strlen ( orig ) + 1; - size_t convertedChars = 0; - mbstowcs_s ( &convertedChars, dest, newsize, orig, _TRUNCATE ); -} - -std::unique_ptr wchar2char ( wchar_t* orig ) { - if ( orig == NULL ) - { return NULL; } - - size_t origsize = wcslen ( orig ) + 1; - size_t convertedChars = 0; - const size_t newsize = origsize; - std::unique_ptr nstring ( new char[newsize] ); - wcstombs_s ( &convertedChars, nstring.get(), newsize, orig, _TRUNCATE ); - return nstring; -} - -std::unique_ptr wchar2char ( const wchar_t* orig ) { - if ( orig == NULL ) - { return NULL; } - - size_t origsize = wcslen ( orig ) + 1; - size_t convertedChars = 0; - const size_t newsize = origsize; - std::unique_ptr nstring ( new char[newsize] ); - wcstombs_s ( &convertedChars, nstring.get(), newsize, orig, _TRUNCATE ); - return nstring; -} - -void wchar2char ( wchar_t* orig, char* dest, int destBufferLength ) { - if ( orig == NULL ) - { return; } - - if ( destBufferLength > 0 ) { - if ( destBufferLength <= ( int ) wcslen ( orig ) ) { - throw - 1; - } - } - - size_t origsize = wcslen ( orig ) + 1; - size_t convertedChars = 0; - const size_t newsize = origsize; - wcstombs_s ( &convertedChars, dest, newsize, orig, _TRUNCATE ); -} - - -std::wstring string2wstring ( std::string& orig ) { - std::wstring ws; - ws.assign ( orig.begin(), orig.end() ); - return ws; -} - -std::string wstring2string ( std::wstring& orig ) { - std::string s; - s.assign ( orig.begin(), orig.end() ); - return s; -} - -std::unique_ptr make_unique_str ( int size ) { - return std::unique_ptr ( new char[size + 1] ); -} - - - - +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +#include +#include +#include + +#include "atlbase.h" +#include "atlstr.h" +#include "comutil.h" + + +#include "StringUtils.h" +#include "Base64.h" + +using namespace std; + +std::unique_ptr str_base64_encode ( char* raw ) { + trimwhitespace ( raw ); + string encStr = base64_encode ( ( const unsigned char* ) raw, strlen ( raw ) ); + std::unique_ptr temp ( new char[encStr.length() + 1] ); + strcpy ( temp.get(), encStr.c_str() ); + return temp; +} + +std::unique_ptr str_base64_decode ( char* enc ) { + string s ( enc ); + string decStr = base64_decode ( s ); + std::unique_ptr temp ( new char[decStr.length() + 1] ); + strcpy ( temp.get(), decStr.c_str() ); + return temp; +} + +void trimwhitespace ( char* str ) { + if ( str == NULL || strlen ( str ) == 0 ) + { return; } + + char* start = str; + char* end; + + // Trim leading space + while ( isspace ( *start ) ) { start++; } + + if ( *start == 0 ) { // All spaces? + str[0] = '\0'; + return; + } + + // Trim trailing space + end = start + strlen ( start ) - 1; + + while ( end > start && isspace ( *end ) ) { end--; } + + // Write new null terminator + * ( end + 1 ) = 0; + memmove ( str, start, end - start + 2 ); +} + +void copyTrimmed ( char** dest, char* src ) { + // check if previous value exists + if ( *dest ) { + delete[] ( *dest ); + *dest = NULL; + } + + *dest = new char[strlen ( src ) + 1]; + strcpy ( *dest, src ); + trimwhitespace ( *dest ); +} + +std::unique_ptr char2wchar ( char* orig ) { + if ( orig == NULL ) + { return NULL; } + + size_t newsize = strlen ( orig ) + 1; + std::unique_ptr wcstring ( new wchar_t[newsize] ); + size_t convertedChars = 0; + mbstowcs_s ( &convertedChars, wcstring.get(), newsize, orig, _TRUNCATE ); + return wcstring; +} + +std::unique_ptr char2wchar ( const char* orig ) { + if ( orig == NULL ) + { return NULL; } + + size_t newsize = strlen ( orig ) + 1; + std::unique_ptr wcstring ( new wchar_t[newsize] ); + size_t convertedChars = 0; + mbstowcs_s ( &convertedChars, wcstring.get(), newsize, orig, _TRUNCATE ); + return wcstring; +} + +//specifying the destination +void char2wchar ( char* orig, wchar_t* dest, int destBufferLength ) { + if ( orig == NULL ) + { return; } + + if ( destBufferLength > 0 ) { + if ( destBufferLength <= ( int ) strlen ( orig ) ) { + throw - 1; + } + } + + size_t newsize = strlen ( orig ) + 1; + size_t convertedChars = 0; + mbstowcs_s ( &convertedChars, dest, newsize, orig, _TRUNCATE ); +} + +std::unique_ptr wchar2char ( wchar_t* orig ) { + if ( orig == NULL ) + { return NULL; } + + size_t origsize = wcslen ( orig ) + 1; + size_t convertedChars = 0; + const size_t newsize = origsize; + std::unique_ptr nstring ( new char[newsize] ); + wcstombs_s ( &convertedChars, nstring.get(), newsize, orig, _TRUNCATE ); + return nstring; +} + +std::unique_ptr wchar2char ( const wchar_t* orig ) { + if ( orig == NULL ) + { return NULL; } + + size_t origsize = wcslen ( orig ) + 1; + size_t convertedChars = 0; + const size_t newsize = origsize; + std::unique_ptr nstring ( new char[newsize] ); + wcstombs_s ( &convertedChars, nstring.get(), newsize, orig, _TRUNCATE ); + return nstring; +} + +void wchar2char ( wchar_t* orig, char* dest, int destBufferLength ) { + if ( orig == NULL ) + { return; } + + if ( destBufferLength > 0 ) { + if ( destBufferLength <= ( int ) wcslen ( orig ) ) { + throw - 1; + } + } + + size_t origsize = wcslen ( orig ) + 1; + size_t convertedChars = 0; + const size_t newsize = origsize; + wcstombs_s ( &convertedChars, dest, newsize, orig, _TRUNCATE ); +} + + +std::wstring string2wstring ( std::string& orig ) { + std::wstring ws; + ws.assign ( orig.begin(), orig.end() ); + return ws; +} + +std::string wstring2string ( std::wstring& orig ) { + std::string s; + s.assign ( orig.begin(), orig.end() ); + return s; +} + +std::unique_ptr make_unique_str ( int size ) { + return std::unique_ptr ( new char[size + 1] ); +} + +void remove_char(char *src, const char tgt) +{ + char * fp = src; + while (*src) { + if (*src != tgt) { + *fp = *src; + fp++; + } + src++; + } + *fp = '\0' ; +} + + + diff --git a/odbc/Common/StringUtils.h b/odbc/Common/StringUtils.h index d42796e..5aec343 100644 --- a/odbc/Common/StringUtils.h +++ b/odbc/Common/StringUtils.h @@ -41,4 +41,6 @@ void copyTrimmed ( char** dest, char* src ); std::unique_ptr str_base64_encode ( char* raw ); std::unique_ptr str_base64_decode ( char* enc ); -std::unique_ptr make_unique_str ( int size ); \ No newline at end of file +std::unique_ptr make_unique_str ( int size ); + +void remove_char(char *src, const char tgt); \ No newline at end of file diff --git a/odbc/Driver/GODBC.RC b/odbc/Driver/GODBC.RC index da9a478..9a9c051 100644 --- a/odbc/Driver/GODBC.RC +++ b/odbc/Driver/GODBC.RC @@ -1,177 +1,177 @@ -// Microsoft Visual C++ generated resource script. -// -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "afxres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (United States) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN -"resource.h\0" -END - -2 TEXTINCLUDE -BEGIN -"#include ""afxres.h""\r\n" -"\0" -END - -3 TEXTINCLUDE -BEGIN -"\r\n" -"\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -VS_VERSION_INFO VERSIONINFO -FILEVERSION 1, 0, 0, 1 -PRODUCTVERSION 1, 0, 0, 1 -FILEFLAGSMASK 0x3fL -#ifdef _DEBUG -FILEFLAGS 0x1L -#else -FILEFLAGS 0x0L -#endif -FILEOS 0x40004L -FILETYPE 0x2L -FILESUBTYPE 0x0L -BEGIN -BLOCK "StringFileInfo" -BEGIN -BLOCK "040904b0" -BEGIN -VALUE "CompanyName", "kylinolap" -VALUE "FileDescription", "Kylin ODBC Driver" -VALUE "FileVersion", "1, 0, 0, 1" -VALUE "InternalName", "KylinODBC" -VALUE "LegalCopyright", "Copyright ?2014" -VALUE "OriginalFilename", "driver.dll" -VALUE "ProductName", "Kylin ODBC Driver" -VALUE "ProductVersion", "1, 0, 0, 1" -END -END -BLOCK "VarFileInfo" -BEGIN -VALUE "Translation", 0x409, 1200 -END -END - - -///////////////////////////////////////////////////////////////////////////// -// -// Dialog -// - -IDD_DSN_CFG1 DIALOGEX 0, 0, 263, 162 -STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION -CAPTION "Kylin Driver Connect Dialog" -FONT 8, "MS Sans Serif", 0, 0, 0x0 -BEGIN -PUSHBUTTON "Cancel", IDCANCEL, 152, 138, 50, 14 -LTEXT "Server Host", IDC_STATIC, 49, 16, 38, 8 -LTEXT "Port", IDC_STATIC, 69, 32, 14, 8 -EDITTEXT IDC_SERVER, 92, 14, 110, 12, ES_AUTOHSCROLL -EDITTEXT IDC_PORT, 92, 31, 30, 12, ES_AUTOHSCROLL -LTEXT "Username", IDC_STATIC, 52, 60, 33, 8 -LTEXT "Password", IDC_STATIC, 54, 79, 32, 8 -EDITTEXT IDC_UID, 92, 59, 111, 12, ES_AUTOHSCROLL -EDITTEXT IDC_PWD, 92, 76, 111, 13, ES_PASSWORD | ES_AUTOHSCROLL -DEFPUSHBUTTON "Done", IDOK, 91, 138, 50, 14, WS_DISABLED -LTEXT "(only https service permitted)", IDC_STATIC, 93, 45, 90, 8 -COMBOBOX IDC_COMBO1, 92, 117, 112, 30, CBS_DROPDOWN | CBS_SORT | WS_DISABLED | WS_VSCROLL | WS_TABSTOP -PUSHBUTTON "Connect", IDC_CONNECT, 91, 95, 111, 14 -LTEXT "Project", IDC_STATIC, 61, 119, 23, 8 -END - -IDD_DSN_CFG2 DIALOGEX 0, 0, 263, 204 -STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION -CAPTION "Kylin DSN Configuration Dialog" -FONT 8, "MS Sans Serif", 0, 0, 0x0 -BEGIN -PUSHBUTTON "Cancel", IDCANCEL, 145, 167, 50, 14 -LTEXT "Server Host", IDC_STATIC, 48, 35, 38, 8 -LTEXT "Port", IDC_STATIC, 72, 52, 14, 8 -EDITTEXT IDC_SERVER, 93, 33, 102, 12, ES_AUTOHSCROLL -EDITTEXT IDC_PORT, 93, 50, 30, 12, ES_AUTOHSCROLL -LTEXT "Username", IDC_STATIC, 53, 82, 33, 8 -LTEXT "Password", IDC_STATIC, 55, 102, 32, 8 -EDITTEXT IDC_UID, 93, 79, 102, 12, ES_AUTOHSCROLL -EDITTEXT IDC_PWD, 93, 97, 102, 13, ES_PASSWORD | ES_AUTOHSCROLL -DEFPUSHBUTTON "Done", IDOK, 84, 167, 50, 14, WS_DISABLED -LTEXT "&DSN Name", IDC_STATIC, 49, 17, 37, 8 -EDITTEXT IDC_DSNNAME, 93, 14, 102, 12, ES_AUTOHSCROLL -LTEXT "(only https service permitted)", IDC_STATIC, 94, 66, 90, 8 -PUSHBUTTON "Test", IDC_BTEST, 94, 117, 102, 14 -LTEXT "Project", IDC_STATIC, 63, 145, 23, 8 -COMBOBOX IDC_COMBO1, 94, 143, 101, 30, CBS_DROPDOWN | CBS_SORT | WS_DISABLED | WS_VSCROLL | WS_TABSTOP -END - - -///////////////////////////////////////////////////////////////////////////// -// -// DESIGNINFO -// - -#ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO -BEGIN -IDD_DSN_CFG1, DIALOG -BEGIN -LEFTMARGIN, 7 -RIGHTMARGIN, 256 -TOPMARGIN, 7 -BOTTOMMARGIN, 155 -END - -IDD_DSN_CFG2, DIALOG -BEGIN -LEFTMARGIN, 7 -RIGHTMARGIN, 256 -TOPMARGIN, 7 -BOTTOMMARGIN, 197 -END -END -#endif // APSTUDIO_INVOKED - -#endif // English (United States) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - +// Microsoft Visual C++ generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "afxres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (United States) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN +"resource.h\0" +END + +2 TEXTINCLUDE +BEGIN +"#include ""afxres.h""\r\n" +"\0" +END + +3 TEXTINCLUDE +BEGIN +"\r\n" +"\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO +FILEVERSION 1, 0, 0, 1 +PRODUCTVERSION 1, 0, 0, 1 +FILEFLAGSMASK 0x3fL +#ifdef _DEBUG +FILEFLAGS 0x1L +#else +FILEFLAGS 0x0L +#endif +FILEOS 0x40004L +FILETYPE 0x2L +FILESUBTYPE 0x0L +BEGIN +BLOCK "StringFileInfo" +BEGIN +BLOCK "040904b0" +BEGIN +VALUE "CompanyName", "kylinolap" +VALUE "FileDescription", "Kylin ODBC Driver" +VALUE "FileVersion", "1, 0, 0, 1" +VALUE "InternalName", "KylinODBC" +VALUE "LegalCopyright", "Copyright ?2014" +VALUE "OriginalFilename", "driver.dll" +VALUE "ProductName", "Kylin ODBC Driver" +VALUE "ProductVersion", "1, 0, 0, 1" +END +END +BLOCK "VarFileInfo" +BEGIN +VALUE "Translation", 0x409, 1200 +END +END + + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog +// + +IDD_DSN_CFG1 DIALOGEX 0, 0, 263, 162 +STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION +CAPTION "Kylin Driver Connect Dialog" +FONT 8, "MS Sans Serif", 0, 0, 0x0 +BEGIN +PUSHBUTTON "Cancel", IDCANCEL, 152, 138, 50, 14 +LTEXT "Server Host", IDC_STATIC, 49, 16, 38, 8 +LTEXT "Port", IDC_STATIC, 69, 32, 14, 8 +EDITTEXT IDC_SERVER, 92, 14, 110, 12, ES_AUTOHSCROLL +EDITTEXT IDC_PORT, 92, 31, 30, 12, ES_AUTOHSCROLL +LTEXT "(only https service permitted)", IDC_STATIC, 93, 45, 90, 8 +LTEXT "Username", IDC_STATIC, 52, 60, 33, 8 +LTEXT "Password", IDC_STATIC, 54, 79, 32, 8 +EDITTEXT IDC_UID, 92, 59, 111, 12, ES_AUTOHSCROLL +EDITTEXT IDC_PWD, 92, 76, 111, 13, ES_PASSWORD | ES_AUTOHSCROLL +PUSHBUTTON "Connect", IDC_CONNECT, 91, 95, 111, 14 +LTEXT "Project", IDC_STATIC, 61, 119, 23, 8 +COMBOBOX IDC_COMBO1, 92, 117, 112, 30, CBS_DROPDOWN | CBS_SORT | WS_DISABLED | WS_VSCROLL | WS_TABSTOP +DEFPUSHBUTTON "Done", IDOK, 91, 138, 50, 14, WS_DISABLED +END + +IDD_DSN_CFG2 DIALOGEX 0, 0, 263, 204 +STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION +CAPTION "Kylin DSN Configuration Dialog" +FONT 8, "MS Sans Serif", 0, 0, 0x0 +BEGIN +PUSHBUTTON "Cancel", IDCANCEL, 145, 167, 50, 14 +LTEXT "&DSN Name", IDC_STATIC, 49, 17, 37, 8 +LTEXT "Server Host", IDC_STATIC, 48, 35, 38, 8 +LTEXT "Port", IDC_STATIC, 72, 52, 14, 8 +EDITTEXT IDC_DSNNAME, 93, 14, 102, 12, ES_AUTOHSCROLL +EDITTEXT IDC_SERVER, 93, 33, 102, 12, ES_AUTOHSCROLL +EDITTEXT IDC_PORT, 93, 50, 30, 12, ES_AUTOHSCROLL +LTEXT "(only https service permitted)", IDC_STATIC, 94, 66, 90, 8 +LTEXT "Username", IDC_STATIC, 53, 82, 33, 8 +LTEXT "Password", IDC_STATIC, 55, 102, 32, 8 +EDITTEXT IDC_UID, 93, 79, 102, 12, ES_AUTOHSCROLL +EDITTEXT IDC_PWD, 93, 97, 102, 13, ES_PASSWORD | ES_AUTOHSCROLL +PUSHBUTTON "Connect", IDC_BTEST, 94, 117, 102, 14 +LTEXT "Project", IDC_STATIC, 63, 145, 23, 8 +COMBOBOX IDC_COMBO1, 94, 143, 101, 30, CBS_DROPDOWN | CBS_SORT | WS_DISABLED | WS_VSCROLL | WS_TABSTOP +DEFPUSHBUTTON "Done", IDOK, 84, 167, 50, 14, WS_DISABLED +END + + +///////////////////////////////////////////////////////////////////////////// +// +// DESIGNINFO +// + +#ifdef APSTUDIO_INVOKED +GUIDELINES DESIGNINFO +BEGIN +IDD_DSN_CFG1, DIALOG +BEGIN +LEFTMARGIN, 7 +RIGHTMARGIN, 256 +TOPMARGIN, 7 +BOTTOMMARGIN, 155 +END + +IDD_DSN_CFG2, DIALOG +BEGIN +LEFTMARGIN, 7 +RIGHTMARGIN, 256 +TOPMARGIN, 7 +BOTTOMMARGIN, 197 +END +END +#endif // APSTUDIO_INVOKED + +#endif // English (United States) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/odbc/Driver/KO_CONN.CPP b/odbc/Driver/KO_CONN.CPP index 14a2a06..eaeb0a9 100644 --- a/odbc/Driver/KO_CONN.CPP +++ b/odbc/Driver/KO_CONN.CPP @@ -1,1029 +1,1029 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - -// ---------------------------------------------------------------------------- -// -// File: KO_CONN.CPP -// -// Purpose: Contains the main connection functions more -// specifically SQLDriverConnect. -// -// Only SQLDriverConnect with DSN specified is supported now. -// The DSN must have been set properly with ODBCAD.exe -// -// Most functions in this file either to support the dialog box or -// help in manipulation or parsing of key-value pairs -// -// Exported functions: -// SQLDriverConnect -// SQLConnect -// SQLBrowseConnect -// -// ---------------------------------------------------------------------------- -#include "stdafx.h" - -#include -#include - -#include "REST.h" - -// ------------------------------ local defines ------------------------------- -#define MAX_KEYS_STR_LEN 1024 // arbitray for loading keys from DSN file -#define MAX_CONN_STR_LEN 2048 // arbitray for building key-values from DSN -#define KV_BLOCK_SIZE 5 // arbitray size for a set of key-value pairs - -// ------------------------ local callback functions ------------------------- -INT_PTR CALLBACK DlgDSNCfg1Proc ( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam ); - -// ----------------------------- local functions ------------------------------ -static eGoodBad CreateAndSetConnProp ( pODBCConn pConn, Word pPropID, void* pPropValue ); - -static eGoodBad PutDataToDlgDSNCfg1 ( pODBCConn pConn, HWND hDlg ); - -static eGoodBad GetDataFromDlgDSNCfg1 ( HWND hDlg, pODBCConn pConn ); - -static Word PromptForConnInfo ( SQLHDBC pConn ); - -static eGoodBad LoadKeyValuesfromFileDSN ( pODBCConn pConn, CStrPtr pDSNName, Word* pNumPair, - struct ODBCKV** pKV ); - -static bool AddKVToConnStr ( StrPtr pKey, StrPtr pValue, Word* iPos, StrPtr pStrConn, Word pMaxLen ); -static bool BuildConnStr ( char* pStrConn, Word pMaxLen, pODBCConn pConn, struct ODBCKV* KVInput, - Word iKVInputPairs, struct ODBCKV* KVFileDSN, Word iKVFileDSNPairs ); - - - -// ----------------------------------------------------------------------- -// to set a specified property in the connection structure -// ----------------------------------------------------------------------- - -eGoodBad SetConnProp ( pODBCConn pConn, Word pPropID, void* pPropValue ) { - // note - // this function does not create a copy of char data - // it just transfers the pointer - // numeric data is assumed to be a pointer - - // check property - switch ( pPropID ) { - case CONN_PROP_SERVER: - - // check if a new value has to be put - if ( pPropValue ) { - copyTrimmed ( & ( ( char* ) pConn->Server ), ( char* ) pPropValue ); - } - - if ( pConn->Server == NULL || strlen ( pConn->Server ) == 0 ) { - __ODBCPopMsg ( "Server cannot be empty" ); - return BAD; - } - - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The server is set to %s", pConn->Server ) ); - break; - - case CONN_PROP_PORT: - - // numeric values are passed as pointer to value - if ( pPropValue ) - { pConn->ServerPort = * ( ( ULong* ) pPropValue ); } - - if ( pConn->ServerPort == 0 ) { - __ODBCPopMsg ( "ServerPort cannot be 0" ); - return BAD; - } - - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The port is set to %d", pConn->ServerPort ) ); - break; - - case CONN_PROP_UID: - - // check if a new value has to be put - if ( pPropValue ) - { copyTrimmed ( & ( ( char* ) pConn->UserName ), ( char* ) pPropValue ); } - - if ( pConn->UserName == NULL || strlen ( pConn->UserName ) == 0 ) { - __ODBCPopMsg ( "UserName cannot be empty" ); - return BAD; - } - - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The uid is set to %s", pConn->UserName ) ); - break; - - case CONN_PROP_PWD: - - // check if a new value has to be put - if ( pPropValue ) - { copyTrimmed ( & ( ( char* ) pConn->Password ), ( char* ) pPropValue ); } - - if ( pConn->Password == NULL || strlen ( pConn->Password ) == 0 ) { - __ODBCPopMsg ( "Password cannot be empty" ); - return BAD; - } - - break; - - case CONN_PROP_PROJECT: - - // check if a new value has to be put - if ( pPropValue ) - { copyTrimmed ( & ( ( char* ) pConn->Project ), ( char* ) pPropValue ); } - - if ( pConn->Project == NULL || strlen ( pConn->Project ) == 0 ) { - __ODBCPopMsg ( "Project cannot be empty" ); - return BAD; - } - - break; - - default: - __ODBCPOPMSG ( _ODBCPopMsg ( "Bad connection property" ) ); - return BAD; - } - - return GOOD; -} - - -// ----------------------------------------------------------------------- -// to create copy of a value and then set it in the struct -// ----------------------------------------------------------------------- - -static eGoodBad CreateAndSetConnProp ( pODBCConn pConn, Word pPropID, void* pPropValue ) { - bool IsPropStr; - - // precaution - if ( !pConn ) - { return BAD; } - - // determine the prop type - switch ( pPropID ) { - case CONN_PROP_PORT: // port is stored as a number - IsPropStr = FALSE; - break; - - default: - IsPropStr = TRUE; - break; - } - - // check property type - if ( IsPropStr ) { - Word x; - unique_ptr s = NULL; - // find length of property - x = pPropValue ? strlen ( ( StrPtr ) pPropValue ) : 0; - - // check if something - if ( x > 0 ) { - // create copy of property - s = make_unique_str ( x ); - // store - strcpy ( s.get(), ( StrPtr ) pPropValue ); - } - - // now set the property - return SetConnProp ( pConn, pPropID, s.get() ); - } - - else { - Long v; - // convert value to integer - v = ( pPropValue ) ? atoi ( ( StrPtr ) pPropValue ) : 0; - // now set the property - return SetConnProp ( pConn, pPropID, &v ); - } -} - -// ----------------------------------------------------------------------- -// to provide the default data to DSN config dialog 1 -// ----------------------------------------------------------------------- - -static eGoodBad PutDataToDlgDSNCfg1 ( pODBCConn pConn, HWND hDlg ) { - BOOL x; - - // precaution - if ( !pConn || !hDlg ) { - __ODBCPOPMSG ( _ODBCPopMsg ( "PutDataToDlgDSNCfg1 - Bad params" ) ); - return BAD; - } - - // server name/IP - if ( pConn->Server ) - { x = SetDlgItemText ( hDlg, IDC_SERVER, pConn->Server ); } - - else - { x = SetDlgItemText ( hDlg, IDC_SERVER, "" ); } - - if ( !x ) { return BAD; } - - // server port - if ( pConn->ServerPort ) - { x = SetDlgItemInt ( hDlg, IDC_PORT, pConn->ServerPort, FALSE ); } - - else - { x = SetDlgItemInt ( hDlg, IDC_PORT, DEFAULT_PORT, FALSE ); } - - if ( !x ) { return BAD; } - - // user name - if ( pConn->UserName ) - { x = SetDlgItemText ( hDlg, IDC_UID, pConn->UserName ); } - - else - { x = SetDlgItemText ( hDlg, IDC_UID, "" ); } - - if ( !x ) { return BAD; } - - // password - if ( pConn->Password ) - { x = SetDlgItemText ( hDlg, IDC_PWD, pConn->Password ); } - - else - { x = SetDlgItemText ( hDlg, IDC_PWD, "" ); } - - if ( !x ) { return BAD; } - - return GOOD; -} - - - -// ----------------------------------------------------------------------- -// to fetch the data from the dialog 1 into the conn-struct -// ----------------------------------------------------------------------- - -static eGoodBad GetDataFromDlgDSNCfg1 ( HWND hDlg, pODBCConn pConn ) { - Long x; - std::unique_ptr n = NULL; - eGoodBad status; - - // note - // no error handling is currently being done for - // GetDlgItemText/GetDlgItemInt/SetConnProp - // generally should not be a problem - - // precaution - if ( !pConn || !hDlg ) { - __ODBCPOPMSG ( _ODBCPopMsg ( "GetDataFromDlgDSNCfg1 - Bad params" ) ); - return BAD; - } - - ////// server name/IP - // get length of input text - x = SendDlgItemMessage ( hDlg, IDC_SERVER, EM_LINELENGTH, 0, 0 ); - - if ( x > 0 ) { - n = make_unique_str ( x ); // allocate space for holding the text - GetDlgItemText ( hDlg, IDC_SERVER, n.get(), x + 1 ); // get text from dialog - } - - else - { n = NULL; } // no input - - // set value in struct - status = SetConnProp ( pConn, CONN_PROP_SERVER, n.get() ); - - if ( status == BAD ) { return BAD; } - - ///// Port - // get value - x = GetDlgItemInt ( hDlg, IDC_PORT, NULL, FALSE ); - // set value in struct - status = SetConnProp ( pConn, CONN_PROP_PORT, &x ); - - if ( status == BAD ) { return BAD; } - - ////// User name - // get length - x = SendDlgItemMessage ( hDlg, IDC_UID, EM_LINELENGTH, 0, 0 ); - - if ( x > 0 ) { - // allocate space - n = make_unique_str ( x ); // allocate space for holding the text - GetDlgItemText ( hDlg, IDC_UID, n.get(), x + 1 ); - } - - else - { n = NULL; } - - // set value in struct - status = SetConnProp ( pConn, CONN_PROP_UID, n.get() ); - - if ( status == BAD ) { return BAD; } - - ////// Password - // get length - x = SendDlgItemMessage ( hDlg, IDC_PWD, EM_LINELENGTH, 0, 0 ); - - if ( x > 0 ) { - // allocate space - n = make_unique_str ( x ); // allocate space for holding the text - GetDlgItemText ( hDlg, IDC_PWD, n.get(), x + 1 ); - } - - else - { n = NULL; } - - // set value in struct - status = SetConnProp ( pConn, CONN_PROP_PWD, n.get() ); - - if ( status == BAD ) { return BAD; } - - return GOOD; -} - - -// -------------------------------------------------------------------------- -// call back for DSN config dialog 1 -// -------------------------------------------------------------------------- - -INT_PTR CALLBACK DlgDSNCfg1Proc ( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam ) { - pODBCConn pgConn = NULL; - eGoodBad status = GOOD; - RETCODE ret = SQL_SUCCESS; - - switch ( uMsg ) { - case WM_INITDIALOG: - // store the structure for future use - SetWindowLongPtr ( hDlg, DWLP_USER, lParam ); - // initialize the dialog with data from conn struct - PutDataToDlgDSNCfg1 ( ( pODBCConn ) lParam, hDlg ); - // set focus automatically - return TRUE; - - case WM_COMMAND: - switch ( LOWORD ( wParam ) ) { - case IDC_CONNECT: { - HWND hwndCombo = GetDlgItem ( hDlg, IDC_COMBO1 ); - HWND hwndOK = GetDlgItem ( hDlg, IDOK ); - // fetch all information from controls & feed to struct - pgConn = ( pODBCConn ) GetWindowLongPtr ( hDlg, DWLP_USER ); - status = GetDataFromDlgDSNCfg1 ( hDlg, pgConn ); - - if ( status == BAD ) { - //Blank input, already popped message - return FALSE; - } - - ret = TryAuthenticate ( pgConn ); - - if ( ret == SQL_ERROR ) { - //validation of data & other prompts goes here - __ODBCPopMsg ( "Username/Password not authorized, or server out of service." ); - return FALSE; - } - - //passed verification - EnableWindow ( hwndCombo, TRUE ); - - try { - std::vector projects; - restListProjects ( pgConn->Server, pgConn->ServerPort, pgConn->UserName, pgConn->Password, projects ); - - for ( unsigned int i = 0 ; i < projects.size(); ++i ) { - SendMessage ( hwndCombo, ( UINT ) CB_ADDSTRING, ( WPARAM ) 0, ( LPARAM ) projects.at ( i ).c_str() ); - } - - SendMessage ( hwndCombo, CB_SETCURSEL, ( WPARAM ) 0, ( LPARAM ) 0 ); - } - - catch ( exception& e ) { - __ODBCPopMsg ( e.what() ); - return FALSE; - } - - EnableWindow ( hwndOK, TRUE ); - return TRUE; - } - - case IDOK: { - pgConn = ( pODBCConn ) GetWindowLongPtr ( hDlg, DWLP_USER ); - HWND hwndCombo = GetDlgItem ( hDlg, IDC_COMBO1 ); - int ItemIndex = SendMessage ( ( HWND ) hwndCombo, ( UINT ) CB_GETCURSEL, - ( WPARAM ) 0, ( LPARAM ) 0 ); - TCHAR projectName[256]; - ( TCHAR ) SendMessage ( ( HWND ) hwndCombo, ( UINT ) CB_GETLBTEXT, - ( WPARAM ) ItemIndex, ( LPARAM ) projectName ); - SetConnProp ( pgConn, CONN_PROP_PROJECT, projectName ); - //last trial with project given - ret = TryFetchMetadata ( pgConn ); - - if ( ret == SQL_ERROR ) { - //validation of data & other prompts goes here - __ODBCPopMsg ( "Something went wrong with your selected project" ); - return FALSE; - } - - EndDialog ( hDlg, wParam ); - return TRUE; - } - - // Fall through, do not break or return - case IDCANCEL: - // indicate end with control id as return value - EndDialog ( hDlg, wParam ); - return TRUE; - } - } - - return FALSE; -} - - - -// ----------------------------------------------------------------------- -// to get connection info from user -// ----------------------------------------------------------------------- - -static Word PromptForConnInfo ( SQLHDBC pConn ) { - int i; - // invoke dialog to fetch info - i = DialogBoxParam ( ghInstDLL, MAKEINTRESOURCE ( IDD_DSN_CFG1 ), NULL, DlgDSNCfg1Proc, ( LPARAM ) pConn ); - - // check status - switch ( i ) { - case IDOK: - return 1; // complete - - default: - return 0; // user-cancelled - } -} - - -// ----------------------------------------------------------------------- -// to split a given string into key value pairs separated with semi-colon -// ----------------------------------------------------------------------- - -eGoodBad CvtStrToKeyValues ( CStrPtr pStr, Word pMaxLen, Word* pNumPair, struct ODBCKV** pKV ) { - bool flgError; - Word x; - Word pairs; - Word i, len; - struct ODBCKV* kvtemp; - struct ODBCKV* kv; - // caller safe - *pNumPair = 0; - *pKV = NULL; - // local initializations - kvtemp = NULL; - kv = NULL; - - // main loop to split the strings into key values - for ( pairs = 0, i = 0, len = ( pMaxLen > 0 ) ? pMaxLen : strlen ( pStr ), flgError = FALSE; i < len && - !flgError; pairs ++ ) { - // find the length of key - for ( x = 0; pStr[i] != '=' && i < len; x ++, i ++ ); - - // check if a valid key found - if ( x <= 0 ) { - flgError = TRUE; // error condition - continue; - } - - // allocate a new record ie key-value if required - if ( kv == NULL || pairs % KV_BLOCK_SIZE == 0 ) { - // allocate more records - kvtemp = new struct ODBCKV[pairs + KV_BLOCK_SIZE]; - memset ( kvtemp, 0, sizeof ( struct ODBCKV ) * ( pairs + KV_BLOCK_SIZE ) ); - - // transfer the old ones into this new one - if ( kv ) { - memcpy ( kvtemp, kv, sizeof ( struct ODBCKV ) *pairs ); - delete[] kv; - kv = NULL; - } - - // now start using the new one - kv = kvtemp; - kvtemp = NULL; - } - - // create key in current row - kv[pairs].key = new Char[x + 1]; - // put key - strncpy ( kv[pairs].key, pStr + ( i - x ), x ); - kv[pairs].key[x] = 0; - // move ahead to ignore equals sign - ++ i; - - // find the length of value - if ( strcmp ( kv[pairs].key, "PWD" ) != 0 ) { - for ( x = 0; pStr[i] != ';' && i < len; x ++, i ++ ) ; - } - - else { - //There may exist ; in PWD - for ( x = 0; i < len; x ++, i ++ ) { - if ( strncmp ( &pStr[i], ";SERVER=", 8 ) == 0 ) - { break; } - } - } - - // check if a non-empty value found - if ( x > 0 ) { - // create value in current row - kv[pairs].value = new Char[x + 1]; - // put value - strncpy ( kv[pairs].value, pStr + ( i - x ), x ); - kv[pairs].value[x] = 0; - } - - // move ahead to ignore the semi-colon at end of key-value - ++ i; - } - - // check for error condition - if ( flgError ) { - // clean up - if ( kv ) { - delete[] kv; - kv = NULL; - } - - return BAD; // error condition - } - - else { - *pNumPair = pairs; - *pKV = kv; - return GOOD; - } -} - -void FreeGenODBCKeyValues ( ODBCKV* keyvalues, int pairs ) { - for ( int i = 0 ; i < pairs; ++i ) { - if ( keyvalues[i].key ) - { delete[] keyvalues[i].key ; } - - if ( keyvalues[i].value ) - { delete[] keyvalues[i].value; } - } -} - - -// ----------------------------------------------------------------------- -// to find a particular key and/or value in key-value pair list -// ----------------------------------------------------------------------- - -bool FindInKeyValues ( CStrPtr pKey, CStrPtr pValue, struct ODBCKV* pKV, Word pItems, Word* pPosition ) { - Word i; - bool flgMatch; - - // loop to traverse the list - for ( i = 0, flgMatch = FALSE; i < pItems; i ++ ) { - // match key - flgMatch = ( pKey && _stricmp ( pKey, pKV[i].key ) == 0 ); - - // match value - if ( pValue && pKV[i].value ) - { flgMatch = ( _stricmp ( pValue, pKV[i].value ) == 0 ); } - - // break if match - if ( flgMatch ) { break; } - } - - // check if found - if ( flgMatch ) { - if ( pPosition ) { *pPosition = i; } - - return TRUE; - } - - return FALSE; -} - - -// ----------------------------------------------------------------------- -// to load key value pairs from a File DSN -// ----------------------------------------------------------------------- - -static eGoodBad LoadKeyValuesfromFileDSN ( pODBCConn pConn, CStrPtr pDSNName, Word* pNumPair, - struct ODBCKV** pKV ) { - //Never called - throw - 1; -} - - -// ----------------------------------------------------------------------- -// to add a key-value pair to specified conn string -// ----------------------------------------------------------------------- - -static bool AddKVToConnStr ( StrPtr pKey, StrPtr pValue, Word* iPos, StrPtr pStrConn, Word pMaxLen ) { - Word i, j; - - // precaution - if ( !pKey ) - { return FALSE; } - - // get length of key and value - i = strlen ( pKey ); - j = ( pValue ) ? strlen ( pValue ) : 0; - - // check if both can be added along with equal sign & semi-colon - if ( *iPos + i + j + 2 <= pMaxLen ) { - strcat ( pStrConn, pKey ); - strcat ( pStrConn, "=" ); - - if ( pValue ) - { strcat ( pStrConn, pValue ); } - - strcat ( pStrConn, ";" ); - ( *iPos ) = ( *iPos ) + i + j + 2; // re-position - return TRUE; - } - - return FALSE; -} - - -// ----------------------------------------------------------------------- -// to build the out-connection string -// ----------------------------------------------------------------------- - -static bool BuildConnStr ( char* pStrConn, Word pMaxLen, pODBCConn pConn, struct ODBCKV* KVInput, - Word iKVInputPairs, struct ODBCKV* KVFileDSN, Word iKVFileDSNPairs ) { - Word iPos = 0; - Char p[32]; // arbitary for string port number as string - // initializations - memset ( pStrConn, 0, pMaxLen ); - // convert port number to string - _itoa ( pConn->ServerPort, p, 10 ); - - // transfer all strings from struct - if ( !AddKVToConnStr ( "DRIVER", "{KylinODBCDriver}", &iPos, pStrConn, pMaxLen ) ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "AddKVToConnStr failed in %s", "Driver" ) ); - return FALSE; - } - - if ( !AddKVToConnStr ( "SERVER", pConn->Server, &iPos, pStrConn, pMaxLen ) ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "AddKVToConnStr failed in %s", "Server" ) ); - return FALSE; - } - - if ( !AddKVToConnStr ( "PROJECT", pConn->Project, &iPos, pStrConn, pMaxLen ) ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "AddKVToConnStr failed in %s", "Project" ) ); - return FALSE; - } - - if ( !AddKVToConnStr ( "PORT", p, &iPos, pStrConn, pMaxLen ) ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "AddKVToConnStr failed in %s", "Port" ) ); - return FALSE; - } - - if ( !AddKVToConnStr ( "UID", pConn->UserName, &iPos, pStrConn, pMaxLen ) ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "AddKVToConnStr failed in %s", "Uid" ) ); - return FALSE; - } - - if ( !AddKVToConnStr ( "PWD", pConn->Password, &iPos, pStrConn, pMaxLen ) ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "AddKVToConnStr failed in %s", "Pwd" ) ); - return FALSE; - } - - return TRUE; -} - -// ----------------------------------------------------------------------- -// to connect to the driver -// ----------------------------------------------------------------------- -RETCODE SQL_API SQLDriverConnectW ( SQLHDBC hdbc, - SQLHWND hwnd, - SQLWCHAR* szConnStrIn, - SQLSMALLINT cchConnStrIn, - SQLWCHAR* szConnStrOut, - SQLSMALLINT cchConnStrOutMax, - SQLSMALLINT* pcchConnStrOut, - SQLUSMALLINT fDriverCompletion ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLDriverConnectW called, cchConnStrIn %d, cchConnStrOutMax %d, wcslen %d", - cchConnStrIn, cchConnStrOutMax, wcslen ( szConnStrIn ) ) ); - int inStrLength = wcslen ( szConnStrIn ) + 1; - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The inStr Length is : %d", inStrLength ) ); - unique_ptr pInStr ( new char[inStrLength] ); - unique_ptr pOutStr ( new char[cchConnStrOutMax + 1] ); - wchar2char ( szConnStrIn, pInStr.get(), inStrLength ); - //__ODBCLOG(_ODBCLogMsg(LogLevel_DEBUG,"The inStr is : %s",pInStr.get())); - SQLSMALLINT outStrLength = 0 ; - RETCODE code = SQLDriverConnect ( hdbc, hwnd, ( SQLCHAR* ) pInStr.get(), cchConnStrIn, ( SQLCHAR* ) pOutStr.get(), - cchConnStrOutMax, &outStrLength, fDriverCompletion ); - - if ( code == SQL_ERROR ) { - return code; - } - - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "pcchConnStrOut null? %d, cchConnStrOutMax > 0 ? %d, szConnStrOut null? %d", - pcchConnStrOut == NULL, cchConnStrOutMax > 0 , szConnStrOut == NULL ) ); - - if ( cchConnStrOutMax > 0 && pcchConnStrOut && szConnStrOut ) { - char2wchar ( pOutStr.get(), szConnStrOut, ( int ) cchConnStrOutMax ); - *pcchConnStrOut = wcslen ( szConnStrOut ); - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "(W)The Length of Out Conn Str is %d", *pcchConnStrOut ) ); - } - - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "the ret code is %d", code ) ); - return code; -} - -RETCODE SQL_API SQLDriverConnect ( SQLHDBC pConn, - SQLHWND pWndHandle, - SQLCHAR* pInConnStr, - SQLSMALLINT pInConnStrLen, - SQLCHAR* pOutConnStr, - SQLSMALLINT pOutConnStrLen, - SQLSMALLINT* pOutConnStrLenPtr, - SQLUSMALLINT pDriverCompletion ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The window handle is %d, the driver completion flag is %d", pWndHandle, - pDriverCompletion ) ); - pODBCConn pgConn = ( pODBCConn ) pConn; - bool f; - bool flgDriver, flgDSN; // flags for knowing if these key present in string - bool flgServer, flgPort, flgUID, flgPWD, flgProj; // flags for knowing if these key present in string - Word i, n; - Word iKVInputPairs; // no of key value pairs as input - Word iDriverPos, iDSNPos; // ??? can be eliminated by optimization of code - Word iServerPos, iPortPos, iUIDPos, iPWDPos, iProjPos; // ??? can be eliminated by optimization of code - struct ODBCKV* KVInput; // key value as input via function param - struct ODBCKV* KV; // generic, temp - - if ( !pInConnStr ) { - __ODBCPOPMSG ( _ODBCPopMsg ( "SQLDriverConnect: pInConnStr is required" ) ); - return SQL_ERROR; - } - - else { - //__ODBCLOG(_ODBCLogMsg(LogLevel_DEBUG,"The passed-in Connection Str is %s",(char*)pInConnStr)); - } - - __CHK_HANDLE ( pConn, SQL_HANDLE_DBC, SQL_ERROR ); - _SQLFreeDiag ( _DIAGCONN ( pConn ) ); - - // caller safe - if ( pOutConnStr ) { *pOutConnStr = 0; } - - if ( pOutConnStrLenPtr ) { *pOutConnStrLenPtr = 0; } - - // initializations - KVInput = NULL; - flgServer = FALSE; - flgPort = FALSE; - flgUID = FALSE; - flgPWD = FALSE; - flgProj = FALSE; - - // check if an in-string has been specified - if ( pInConnStr ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "Parsing the in str" ) ); - - // split into key-value pairs - if ( CvtStrToKeyValues ( ( StrPtr ) pInConnStr, pInConnStrLen, &iKVInputPairs, &KVInput ) != GOOD ) { - return SQL_ERROR; - } - - // first check if dsn keyword is present - flgDSN = FindInKeyValues ( "DSN", NULL, KVInput, iKVInputPairs, &iDSNPos ); - // look for driver only if DSN is absent else Driver is always ignored - flgDriver = ( flgDSN ) ? FALSE : FindInKeyValues ( "DRIVER", NULL, KVInput, iKVInputPairs, &iDriverPos ); - - // if DSN is to be used, fetch its set of key values - if ( flgDSN ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The in str is a dsn string" ) ); - //connect by dsn - SetCurrentDSN ( ( char* ) pInConnStr, "SQLDriverConnect" ); - - if ( LoadODBCINIDataToConn ( pgConn ) != GOOD ) { - return SQL_ERROR; - } - } - - else if ( flgDriver ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The in str is a driver string" ) ); - /************* debug - for ( i = 0, n = iKVInputPairs, KV = KVInput; i < n; i++ ) - fprintf ( stderr, "Index: %d, Key: %s, Value: %s\n", i, KV[i].key ? KV[i].key : "(nokey)", KV[i].value ? KV[i].value : "(no value)" ); - *********/ - - // loop to parse both input key-values and DSN key-values & feed into struct - for ( i = 0, n = iKVInputPairs, KV = KVInput; i < n; i++ ) { - if ( !flgServer ) { - flgServer = FindInKeyValues ( "SERVER", NULL, KV, n, &iServerPos ); - - if ( flgServer ) { CreateAndSetConnProp ( ( pODBCConn ) pConn, CONN_PROP_SERVER, KV[iServerPos].value ); } - } - - if ( !flgPort ) { - flgPort = FindInKeyValues ( "PORT", NULL, KV, n, &iPortPos ); - - if ( flgPort ) { CreateAndSetConnProp ( ( pODBCConn ) pConn, CONN_PROP_PORT, KV[iPortPos].value ); } - } - - if ( !flgUID ) { - flgUID = FindInKeyValues ( "UID", NULL, KV, n, &iUIDPos ); - - if ( flgUID ) { - CreateAndSetConnProp ( ( pODBCConn ) pConn, CONN_PROP_UID, KV[iUIDPos].value ); - __ODBCLOG ( _ODBCLogMsg ( LogLevel_INFO, "Log in as User : %s ", KV[iUIDPos].value ) ); - } - } - - if ( !flgPWD ) { - flgPWD = FindInKeyValues ( "PWD", NULL, KV, n, &iPWDPos ); - - if ( flgPWD ) { CreateAndSetConnProp ( ( pODBCConn ) pConn, CONN_PROP_PWD, KV[iPWDPos].value ); } - } - - if ( !flgProj ) { - flgProj = FindInKeyValues ( "PROJECT", NULL, KV, n, &iProjPos ); - - if ( flgProj ) { CreateAndSetConnProp ( ( pODBCConn ) pConn, CONN_PROP_PROJECT, KV[iProjPos].value ); } - } - } - } - - else { - _SQLPutDiagRow ( SQL_HANDLE_DBC, pConn, "SQLDriverConnectW", "HY000", 1045, "Only DSN or driver connect is allowed" ); - __ODBCPOPMSG ( _ODBCPopMsg ( "Only DSN or driver connect is allowed, instead of %s", pInConnStr ) ); - return SQL_ERROR; - } - - FreeGenODBCKeyValues ( KVInput, iKVInputPairs ); - delete[] KVInput; - } - - else if ( pDriverCompletion == SQL_DRIVER_NOPROMPT ) { // check if no-prompt forced - __ODBCPOPMSG ( _ODBCPopMsg ( "No connection string && no prompt specified" ) ); - _SQLPutDiagRow ( SQL_HANDLE_DBC, pConn, "SQLDriverConnectW", "HY000", 1045, - "Access denied. (using UID: NO , using password: NO)" ); - return SQL_ERROR; - } - - RETCODE ret; - - // check if prompt required ie any info is missing - if ( flgDriver && ( !flgServer || !flgPort || !flgUID || !flgPWD || !flgProj ) ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_INFO, "Connection info imcomplete, prompt for input..." ) ); - - if ( flgUID && !flgPWD && pDriverCompletion == SQL_DRIVER_NOPROMPT ) { - _SQLPutDiagRow ( SQL_HANDLE_DBC, pConn, "SQLDriverConnectW", "HY000", 1045, - "Access denied for user 'root'@'kylin-tableau-clean.com' (using password: NO)" ); - __ODBCLOG ( _ODBCLogMsg ( LogLevel_ERROR, - "UID present but PWD absent, guessing it's on Tableau Server, return SQL ERROR" ) ); - return SQL_ERROR; - } - - //connect by driver - // fetch entire connection information thru dialogs - switch ( PromptForConnInfo ( pConn ) ) { - case 0: // user-cancelled - return SQL_NO_DATA_FOUND; - - default: - break; - } - - ret = SQL_SUCCESS; - } - - else { - ret = TryFetchMetadata ( pgConn ) ; - - if ( ret == SQL_ERROR ) { - return ret; - } - } - - // OUT CONN STRING - // build the out-connection string if required - if ( pOutConnStr && pOutConnStrLen > 0 && pOutConnStrLenPtr ) { - if ( flgDriver ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "Building out str..." ) ); - // build the out conn string using key value pairs - f = BuildConnStr ( ( StrPtr ) pOutConnStr, pOutConnStrLen, ( pODBCConn ) pConn, NULL, 0, NULL, 0 ); - - if ( !f ) { - _SQLPutDiagRow ( SQL_HANDLE_DBC, pConn, "SQLDriverConnectW", "HY000", 1045, "Out connection string not complete" ); - } - } - - else { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "Copy in str to out str" ) ); - strcpy ( ( char* ) pOutConnStr, ( char* ) pInConnStr ); - } - - *pOutConnStrLenPtr = strlen ( ( StrPtr ) pOutConnStr ); - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The Length of Out Conn Str is %d", *pOutConnStrLenPtr ) ); - } - - else { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "skip writing to the out put string" ) ); - } - - return ret; -} - - -RETCODE TryFetchMetadata ( pODBCConn pgConn ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "start loading metadata..." ) ); - - try { - pgConn->meta = std::move ( restGetMeta ( pgConn->Server, pgConn->ServerPort, pgConn->UserName, pgConn->Password, - pgConn->Project ) ); - } - - catch ( const exception& e ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_ERROR, "The REST request failed to get metadata" ) ); - __ODBCLOG ( _ODBCLogMsg ( LogLevel_ERROR, e.what() ) ); - _SQLPutDiagRow ( SQL_HANDLE_DBC, pgConn, "SQLDriverConnect", "HY000", 1045, "Access denied. (using password: NO)" ); - return SQL_ERROR; - } - - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "End loading metadata" ) ); - return SQL_SUCCESS; -} - -RETCODE TryAuthenticate ( pODBCConn pgConn ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "Start authenticating.." ) ); - - try { - bool authenticated = restAuthenticate ( pgConn->Server, pgConn->ServerPort, pgConn->UserName, pgConn->Password ); - - if ( !authenticated ) - { throw exception ( "Username/Password incorrect." ); } - } - - catch ( const exception& e ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_ERROR, "The REST request failed to authenticate." ) ); - __ODBCLOG ( _ODBCLogMsg ( LogLevel_ERROR, e.what() ) ); - _SQLPutDiagRow ( SQL_HANDLE_DBC, pgConn, "SQLDriverConnect", "HY000", 1045, "Access denied. (using password: NO)" ); - return SQL_ERROR; - } - - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "End authenticating" ) ); - return SQL_SUCCESS; -} - -// ----------------------------------------------------------------------- -// to connect to the server using standard parameters -// ----------------------------------------------------------------------- - -RETCODE SQL_API SQLConnect ( SQLHDBC pConn, - SQLCHAR* pServerName, - SQLSMALLINT pServerNameLen, - SQLCHAR* pUserName, - SQLSMALLINT pUserNameLen, - SQLCHAR* pPassword, - SQLSMALLINT pPasswordLen ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLConnect called" ) ); - __CHK_HANDLE ( pConn, SQL_HANDLE_DBC, SQL_ERROR ); - __ODBCPOPMSG ( _ODBCPopMsg ( "SQLConnect - not implemented, use SQLDriverConnect" ) ); - return SQL_ERROR; - _SQLFreeDiag ( _DIAGCONN ( pConn ) ); - return ( SQL_SUCCESS ); -} - -SQLRETURN SQL_API SQLConnectW ( SQLHDBC hdbc, - SQLWCHAR* szDSN, - SQLSMALLINT cchDSN, - SQLWCHAR* szUID, - SQLSMALLINT cchUID, - SQLWCHAR* szAuthStr, - SQLSMALLINT cchAuthStr - ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLConnectW called" ) ); - __CHK_HANDLE ( hdbc, SQL_HANDLE_DBC, SQL_ERROR ); - __ODBCPOPMSG ( _ODBCPopMsg ( "SQLConnectW - not implemented, use SQLDriverConnectW" ) ); - return SQL_ERROR; - _SQLFreeDiag ( _DIAGCONN ( hdbc ) ); - return ( SQL_SUCCESS ); -} - - - -// ----------------------------------------------------------------------- -// to connect in multiple iterations -// ----------------------------------------------------------------------- - -RETCODE SQL_API SQLBrowseConnect ( SQLHDBC pConn, - SQLCHAR* InConnectionString, - SQLSMALLINT StringLength1, - SQLCHAR* OutConnectionString, - SQLSMALLINT BufferLength, - SQLSMALLINT* StringLength2Ptr ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLBrowseConnect called" ) ); - __ODBCPOPMSG ( _ODBCPopMsg ( "SQLBrowseConnect - not implemented, use SQLDriverConnect" ) ); - return SQL_ERROR; +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +// ---------------------------------------------------------------------------- +// +// File: KO_CONN.CPP +// +// Purpose: Contains the main connection functions more +// specifically SQLDriverConnect. +// +// Only SQLDriverConnect with DSN specified is supported now. +// The DSN must have been set properly with ODBCAD.exe +// +// Most functions in this file either to support the dialog box or +// help in manipulation or parsing of key-value pairs +// +// Exported functions: +// SQLDriverConnect +// SQLConnect +// SQLBrowseConnect +// +// ---------------------------------------------------------------------------- +#include "stdafx.h" + +#include +#include + +#include "REST.h" + +// ------------------------------ local defines ------------------------------- +#define MAX_KEYS_STR_LEN 1024 // arbitray for loading keys from DSN file +#define MAX_CONN_STR_LEN 2048 // arbitray for building key-values from DSN +#define KV_BLOCK_SIZE 5 // arbitray size for a set of key-value pairs + +// ------------------------ local callback functions ------------------------- +INT_PTR CALLBACK DlgDSNCfg1Proc ( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam ); + +// ----------------------------- local functions ------------------------------ +static eGoodBad CreateAndSetConnProp ( pODBCConn pConn, Word pPropID, void* pPropValue ); + +static eGoodBad PutDataToDlgDSNCfg1 ( pODBCConn pConn, HWND hDlg ); + +static eGoodBad GetDataFromDlgDSNCfg1 ( HWND hDlg, pODBCConn pConn ); + +static Word PromptForConnInfo ( SQLHDBC pConn ); + +static eGoodBad LoadKeyValuesfromFileDSN ( pODBCConn pConn, CStrPtr pDSNName, Word* pNumPair, + struct ODBCKV** pKV ); + +static bool AddKVToConnStr ( StrPtr pKey, StrPtr pValue, Word* iPos, StrPtr pStrConn, Word pMaxLen ); +static bool BuildConnStr ( char* pStrConn, Word pMaxLen, pODBCConn pConn, struct ODBCKV* KVInput, + Word iKVInputPairs, struct ODBCKV* KVFileDSN, Word iKVFileDSNPairs ); + + + +// ----------------------------------------------------------------------- +// to set a specified property in the connection structure +// ----------------------------------------------------------------------- + +eGoodBad SetConnProp ( pODBCConn pConn, Word pPropID, void* pPropValue ) { + // note + // this function does not create a copy of char data + // it just transfers the pointer + // numeric data is assumed to be a pointer + + // check property + switch ( pPropID ) { + case CONN_PROP_SERVER: + + // check if a new value has to be put + if ( pPropValue ) { + copyTrimmed ( & ( ( char* ) pConn->Server ), ( char* ) pPropValue ); + } + + if ( pConn->Server == NULL || strlen ( pConn->Server ) == 0 ) { + __ODBCPopMsg ( "Server cannot be empty" ); + return BAD; + } + + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The server is set to %s", pConn->Server ) ); + break; + + case CONN_PROP_PORT: + + // numeric values are passed as pointer to value + if ( pPropValue ) + { pConn->ServerPort = * ( ( ULong* ) pPropValue ); } + + if ( pConn->ServerPort == 0 ) { + __ODBCPopMsg ( "ServerPort cannot be 0" ); + return BAD; + } + + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The port is set to %d", pConn->ServerPort ) ); + break; + + case CONN_PROP_UID: + + // check if a new value has to be put + if ( pPropValue ) + { copyTrimmed ( & ( ( char* ) pConn->UserName ), ( char* ) pPropValue ); } + + if ( pConn->UserName == NULL || strlen ( pConn->UserName ) == 0 ) { + __ODBCPopMsg ( "UserName cannot be empty" ); + return BAD; + } + + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The uid is set to %s", pConn->UserName ) ); + break; + + case CONN_PROP_PWD: + + // check if a new value has to be put + if ( pPropValue ) + { copyTrimmed ( & ( ( char* ) pConn->Password ), ( char* ) pPropValue ); } + + if ( pConn->Password == NULL || strlen ( pConn->Password ) == 0 ) { + __ODBCPopMsg ( "Password cannot be empty" ); + return BAD; + } + + break; + + case CONN_PROP_PROJECT: + + // check if a new value has to be put + if ( pPropValue ) + { copyTrimmed ( & ( ( char* ) pConn->Project ), ( char* ) pPropValue ); } + + if ( pConn->Project == NULL || strlen ( pConn->Project ) == 0 ) { + __ODBCPopMsg ( "Project cannot be empty" ); + return BAD; + } + + break; + + default: + __ODBCPOPMSG ( _ODBCPopMsg ( "Bad connection property" ) ); + return BAD; + } + + return GOOD; +} + + +// ----------------------------------------------------------------------- +// to create copy of a value and then set it in the struct +// ----------------------------------------------------------------------- + +static eGoodBad CreateAndSetConnProp ( pODBCConn pConn, Word pPropID, void* pPropValue ) { + bool IsPropStr; + + // precaution + if ( !pConn ) + { return BAD; } + + // determine the prop type + switch ( pPropID ) { + case CONN_PROP_PORT: // port is stored as a number + IsPropStr = FALSE; + break; + + default: + IsPropStr = TRUE; + break; + } + + // check property type + if ( IsPropStr ) { + Word x; + unique_ptr s = NULL; + // find length of property + x = pPropValue ? strlen ( ( StrPtr ) pPropValue ) : 0; + + // check if something + if ( x > 0 ) { + // create copy of property + s = make_unique_str ( x ); + // store + strcpy ( s.get(), ( StrPtr ) pPropValue ); + } + + // now set the property + return SetConnProp ( pConn, pPropID, s.get() ); + } + + else { + Long v; + // convert value to integer + v = ( pPropValue ) ? atoi ( ( StrPtr ) pPropValue ) : 0; + // now set the property + return SetConnProp ( pConn, pPropID, &v ); + } +} + +// ----------------------------------------------------------------------- +// to provide the default data to DSN config dialog 1 +// ----------------------------------------------------------------------- + +static eGoodBad PutDataToDlgDSNCfg1 ( pODBCConn pConn, HWND hDlg ) { + BOOL x; + + // precaution + if ( !pConn || !hDlg ) { + __ODBCPOPMSG ( _ODBCPopMsg ( "PutDataToDlgDSNCfg1 - Bad params" ) ); + return BAD; + } + + // server name/IP + if ( pConn->Server ) + { x = SetDlgItemText ( hDlg, IDC_SERVER, pConn->Server ); } + + else + { x = SetDlgItemText ( hDlg, IDC_SERVER, "" ); } + + if ( !x ) { return BAD; } + + // server port + if ( pConn->ServerPort ) + { x = SetDlgItemInt ( hDlg, IDC_PORT, pConn->ServerPort, FALSE ); } + + else + { x = SetDlgItemInt ( hDlg, IDC_PORT, DEFAULT_PORT, FALSE ); } + + if ( !x ) { return BAD; } + + // user name + if ( pConn->UserName ) + { x = SetDlgItemText ( hDlg, IDC_UID, pConn->UserName ); } + + else + { x = SetDlgItemText ( hDlg, IDC_UID, "" ); } + + if ( !x ) { return BAD; } + + // password + if ( pConn->Password ) + { x = SetDlgItemText ( hDlg, IDC_PWD, pConn->Password ); } + + else + { x = SetDlgItemText ( hDlg, IDC_PWD, "" ); } + + if ( !x ) { return BAD; } + + return GOOD; +} + + + +// ----------------------------------------------------------------------- +// to fetch the data from the dialog 1 into the conn-struct +// ----------------------------------------------------------------------- + +static eGoodBad GetDataFromDlgDSNCfg1 ( HWND hDlg, pODBCConn pConn ) { + Long x; + std::unique_ptr n = NULL; + eGoodBad status; + + // note + // no error handling is currently being done for + // GetDlgItemText/GetDlgItemInt/SetConnProp + // generally should not be a problem + + // precaution + if ( !pConn || !hDlg ) { + __ODBCPOPMSG ( _ODBCPopMsg ( "GetDataFromDlgDSNCfg1 - Bad params" ) ); + return BAD; + } + + ////// server name/IP + // get length of input text + x = SendDlgItemMessage ( hDlg, IDC_SERVER, EM_LINELENGTH, 0, 0 ); + + if ( x > 0 ) { + n = make_unique_str ( x ); // allocate space for holding the text + GetDlgItemText ( hDlg, IDC_SERVER, n.get(), x + 1 ); // get text from dialog + } + + else + { n = NULL; } // no input + + // set value in struct + status = SetConnProp ( pConn, CONN_PROP_SERVER, n.get() ); + + if ( status == BAD ) { return BAD; } + + ///// Port + // get value + x = GetDlgItemInt ( hDlg, IDC_PORT, NULL, FALSE ); + // set value in struct + status = SetConnProp ( pConn, CONN_PROP_PORT, &x ); + + if ( status == BAD ) { return BAD; } + + ////// User name + // get length + x = SendDlgItemMessage ( hDlg, IDC_UID, EM_LINELENGTH, 0, 0 ); + + if ( x > 0 ) { + // allocate space + n = make_unique_str ( x ); // allocate space for holding the text + GetDlgItemText ( hDlg, IDC_UID, n.get(), x + 1 ); + } + + else + { n = NULL; } + + // set value in struct + status = SetConnProp ( pConn, CONN_PROP_UID, n.get() ); + + if ( status == BAD ) { return BAD; } + + ////// Password + // get length + x = SendDlgItemMessage ( hDlg, IDC_PWD, EM_LINELENGTH, 0, 0 ); + + if ( x > 0 ) { + // allocate space + n = make_unique_str ( x ); // allocate space for holding the text + GetDlgItemText ( hDlg, IDC_PWD, n.get(), x + 1 ); + } + + else + { n = NULL; } + + // set value in struct + status = SetConnProp ( pConn, CONN_PROP_PWD, n.get() ); + + if ( status == BAD ) { return BAD; } + + return GOOD; +} + + +// -------------------------------------------------------------------------- +// call back for DSN config dialog 1 +// -------------------------------------------------------------------------- + +INT_PTR CALLBACK DlgDSNCfg1Proc ( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam ) { + pODBCConn pgConn = NULL; + eGoodBad status = GOOD; + RETCODE ret = SQL_SUCCESS; + + switch ( uMsg ) { + case WM_INITDIALOG: + // store the structure for future use + SetWindowLongPtr ( hDlg, DWLP_USER, lParam ); + // initialize the dialog with data from conn struct + PutDataToDlgDSNCfg1 ( ( pODBCConn ) lParam, hDlg ); + // set focus automatically + return TRUE; + + case WM_COMMAND: + switch ( LOWORD ( wParam ) ) { + case IDC_CONNECT: { + HWND hwndCombo = GetDlgItem ( hDlg, IDC_COMBO1 ); + HWND hwndOK = GetDlgItem ( hDlg, IDOK ); + // fetch all information from controls & feed to struct + pgConn = ( pODBCConn ) GetWindowLongPtr ( hDlg, DWLP_USER ); + status = GetDataFromDlgDSNCfg1 ( hDlg, pgConn ); + + if ( status == BAD ) { + //Blank input, already popped message + return FALSE; + } + + ret = TryAuthenticate ( pgConn ); + + if ( ret == SQL_ERROR ) { + //validation of data & other prompts goes here + __ODBCPopMsg ( "Username/Password not authorized, or server out of service." ); + return FALSE; + } + + //passed verification + EnableWindow ( hwndCombo, TRUE ); + + try { + std::vector projects; + restListProjects ( pgConn->Server, pgConn->ServerPort, pgConn->UserName, pgConn->Password, projects ); + + for ( unsigned int i = 0 ; i < projects.size(); ++i ) { + SendMessage ( hwndCombo, ( UINT ) CB_ADDSTRING, ( WPARAM ) 0, ( LPARAM ) projects.at ( i ).c_str() ); + } + + SendMessage ( hwndCombo, CB_SETCURSEL, ( WPARAM ) 0, ( LPARAM ) 0 ); + } + + catch ( exception& e ) { + __ODBCPopMsg ( e.what() ); + return FALSE; + } + + EnableWindow ( hwndOK, TRUE ); + return TRUE; + } + + case IDOK: { + pgConn = ( pODBCConn ) GetWindowLongPtr ( hDlg, DWLP_USER ); + HWND hwndCombo = GetDlgItem ( hDlg, IDC_COMBO1 ); + int ItemIndex = SendMessage ( ( HWND ) hwndCombo, ( UINT ) CB_GETCURSEL, + ( WPARAM ) 0, ( LPARAM ) 0 ); + TCHAR projectName[256]; + ( TCHAR ) SendMessage ( ( HWND ) hwndCombo, ( UINT ) CB_GETLBTEXT, + ( WPARAM ) ItemIndex, ( LPARAM ) projectName ); + SetConnProp ( pgConn, CONN_PROP_PROJECT, projectName ); + //last trial with project given + ret = TryFetchMetadata ( pgConn ); + + if ( ret == SQL_ERROR ) { + //validation of data & other prompts goes here + __ODBCPopMsg ( "Something went wrong with your selected project" ); + return FALSE; + } + + EndDialog ( hDlg, wParam ); + return TRUE; + } + + // Fall through, do not break or return + case IDCANCEL: + // indicate end with control id as return value + EndDialog ( hDlg, wParam ); + return TRUE; + } + } + + return FALSE; +} + + + +// ----------------------------------------------------------------------- +// to get connection info from user +// ----------------------------------------------------------------------- + +static Word PromptForConnInfo ( SQLHDBC pConn ) { + int i; + // invoke dialog to fetch info + i = DialogBoxParam ( ghInstDLL, MAKEINTRESOURCE ( IDD_DSN_CFG1 ), NULL, DlgDSNCfg1Proc, ( LPARAM ) pConn ); + + // check status + switch ( i ) { + case IDOK: + return 1; // complete + + default: + return 0; // user-cancelled + } +} + + +// ----------------------------------------------------------------------- +// to split a given string into key value pairs separated with semi-colon +// ----------------------------------------------------------------------- + +eGoodBad CvtStrToKeyValues ( CStrPtr pStr, Word pMaxLen, Word* pNumPair, struct ODBCKV** pKV ) { + bool flgError; + Word x; + Word pairs; + Word i, len; + struct ODBCKV* kvtemp; + struct ODBCKV* kv; + // caller safe + *pNumPair = 0; + *pKV = NULL; + // local initializations + kvtemp = NULL; + kv = NULL; + + // main loop to split the strings into key values + for ( pairs = 0, i = 0, len = ( pMaxLen > 0 ) ? pMaxLen : strlen ( pStr ), flgError = FALSE; i < len && + !flgError; pairs ++ ) { + // find the length of key + for ( x = 0; pStr[i] != '=' && i < len; x ++, i ++ ); + + // check if a valid key found + if ( x <= 0 ) { + flgError = TRUE; // error condition + continue; + } + + // allocate a new record ie key-value if required + if ( kv == NULL || pairs % KV_BLOCK_SIZE == 0 ) { + // allocate more records + kvtemp = new struct ODBCKV[pairs + KV_BLOCK_SIZE]; + memset ( kvtemp, 0, sizeof ( struct ODBCKV ) * ( pairs + KV_BLOCK_SIZE ) ); + + // transfer the old ones into this new one + if ( kv ) { + memcpy ( kvtemp, kv, sizeof ( struct ODBCKV ) *pairs ); + delete[] kv; + kv = NULL; + } + + // now start using the new one + kv = kvtemp; + kvtemp = NULL; + } + + // create key in current row + kv[pairs].key = new Char[x + 1]; + // put key + strncpy ( kv[pairs].key, pStr + ( i - x ), x ); + kv[pairs].key[x] = 0; + // move ahead to ignore equals sign + ++ i; + + // find the length of value + if ( strcmp ( kv[pairs].key, "PWD" ) != 0 ) { + for ( x = 0; pStr[i] != ';' && i < len; x ++, i ++ ) ; + } + + else { + //There may exist ; in PWD + for ( x = 0; i < len; x ++, i ++ ) { + if ( strnicmp ( &pStr[i], ";SERVER=", 8 ) == 0 ) + { break; } + } + } + + // check if a non-empty value found + if ( x > 0 ) { + // create value in current row + kv[pairs].value = new Char[x + 1]; + // put value + strncpy ( kv[pairs].value, pStr + ( i - x ), x ); + kv[pairs].value[x] = 0; + } + + // move ahead to ignore the semi-colon at end of key-value + ++ i; + } + + // check for error condition + if ( flgError ) { + // clean up + if ( kv ) { + delete[] kv; + kv = NULL; + } + + return BAD; // error condition + } + + else { + *pNumPair = pairs; + *pKV = kv; + return GOOD; + } +} + +void FreeGenODBCKeyValues ( ODBCKV* keyvalues, int pairs ) { + for ( int i = 0 ; i < pairs; ++i ) { + if ( keyvalues[i].key ) + { delete[] keyvalues[i].key ; } + + if ( keyvalues[i].value ) + { delete[] keyvalues[i].value; } + } +} + + +// ----------------------------------------------------------------------- +// to find a particular key and/or value in key-value pair list +// ----------------------------------------------------------------------- + +bool FindInKeyValues ( CStrPtr pKey, CStrPtr pValue, struct ODBCKV* pKV, Word pItems, Word* pPosition ) { + Word i; + bool flgMatch; + + // loop to traverse the list + for ( i = 0, flgMatch = FALSE; i < pItems; i ++ ) { + // match key + flgMatch = ( pKey && _stricmp ( pKey, pKV[i].key ) == 0 ); + + // match value + if ( pValue && pKV[i].value ) + { flgMatch = ( _stricmp ( pValue, pKV[i].value ) == 0 ); } + + // break if match + if ( flgMatch ) { break; } + } + + // check if found + if ( flgMatch ) { + if ( pPosition ) { *pPosition = i; } + + return TRUE; + } + + return FALSE; +} + + +// ----------------------------------------------------------------------- +// to load key value pairs from a File DSN +// ----------------------------------------------------------------------- + +static eGoodBad LoadKeyValuesfromFileDSN ( pODBCConn pConn, CStrPtr pDSNName, Word* pNumPair, + struct ODBCKV** pKV ) { + //Never called + throw - 1; +} + + +// ----------------------------------------------------------------------- +// to add a key-value pair to specified conn string +// ----------------------------------------------------------------------- + +static bool AddKVToConnStr ( StrPtr pKey, StrPtr pValue, Word* iPos, StrPtr pStrConn, Word pMaxLen ) { + Word i, j; + + // precaution + if ( !pKey ) + { return FALSE; } + + // get length of key and value + i = strlen ( pKey ); + j = ( pValue ) ? strlen ( pValue ) : 0; + + // check if both can be added along with equal sign & semi-colon + if ( *iPos + i + j + 2 <= pMaxLen ) { + strcat ( pStrConn, pKey ); + strcat ( pStrConn, "=" ); + + if ( pValue ) + { strcat ( pStrConn, pValue ); } + + strcat ( pStrConn, ";" ); + ( *iPos ) = ( *iPos ) + i + j + 2; // re-position + return TRUE; + } + + return FALSE; +} + + +// ----------------------------------------------------------------------- +// to build the out-connection string +// ----------------------------------------------------------------------- + +static bool BuildConnStr ( char* pStrConn, Word pMaxLen, pODBCConn pConn, struct ODBCKV* KVInput, + Word iKVInputPairs, struct ODBCKV* KVFileDSN, Word iKVFileDSNPairs ) { + Word iPos = 0; + Char p[32]; // arbitary for string port number as string + // initializations + memset ( pStrConn, 0, pMaxLen ); + // convert port number to string + _itoa ( pConn->ServerPort, p, 10 ); + + // transfer all strings from struct + if ( !AddKVToConnStr ( "DRIVER", "{KylinODBCDriver}", &iPos, pStrConn, pMaxLen ) ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "AddKVToConnStr failed in %s", "Driver" ) ); + return FALSE; + } + + if ( !AddKVToConnStr ( "SERVER", pConn->Server, &iPos, pStrConn, pMaxLen ) ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "AddKVToConnStr failed in %s", "Server" ) ); + return FALSE; + } + + if ( !AddKVToConnStr ( "PROJECT", pConn->Project, &iPos, pStrConn, pMaxLen ) ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "AddKVToConnStr failed in %s", "Project" ) ); + return FALSE; + } + + if ( !AddKVToConnStr ( "PORT", p, &iPos, pStrConn, pMaxLen ) ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "AddKVToConnStr failed in %s", "Port" ) ); + return FALSE; + } + + if ( !AddKVToConnStr ( "UID", pConn->UserName, &iPos, pStrConn, pMaxLen ) ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "AddKVToConnStr failed in %s", "Uid" ) ); + return FALSE; + } + + if ( !AddKVToConnStr ( "PWD", pConn->Password, &iPos, pStrConn, pMaxLen ) ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "AddKVToConnStr failed in %s", "Pwd" ) ); + return FALSE; + } + + return TRUE; +} + +// ----------------------------------------------------------------------- +// to connect to the driver +// ----------------------------------------------------------------------- +RETCODE SQL_API SQLDriverConnectW ( SQLHDBC hdbc, + SQLHWND hwnd, + SQLWCHAR* szConnStrIn, + SQLSMALLINT cchConnStrIn, + SQLWCHAR* szConnStrOut, + SQLSMALLINT cchConnStrOutMax, + SQLSMALLINT* pcchConnStrOut, + SQLUSMALLINT fDriverCompletion ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLDriverConnectW called, cchConnStrIn %d, cchConnStrOutMax %d, wcslen %d", + cchConnStrIn, cchConnStrOutMax, wcslen ( szConnStrIn ) ) ); + int inStrLength = wcslen ( szConnStrIn ) + 1; + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The inStr Length is : %d", inStrLength ) ); + unique_ptr pInStr ( new char[inStrLength] ); + unique_ptr pOutStr ( new char[cchConnStrOutMax + 1] ); + wchar2char ( szConnStrIn, pInStr.get(), inStrLength ); + //__ODBCLOG(_ODBCLogMsg(LogLevel_DEBUG,"The inStr is : %s",pInStr.get())); + SQLSMALLINT outStrLength = 0 ; + RETCODE code = SQLDriverConnect ( hdbc, hwnd, ( SQLCHAR* ) pInStr.get(), cchConnStrIn, ( SQLCHAR* ) pOutStr.get(), + cchConnStrOutMax, &outStrLength, fDriverCompletion ); + + if ( code == SQL_ERROR ) { + return code; + } + + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "pcchConnStrOut null? %d, cchConnStrOutMax > 0 ? %d, szConnStrOut null? %d", + pcchConnStrOut == NULL, cchConnStrOutMax > 0 , szConnStrOut == NULL ) ); + + if ( cchConnStrOutMax > 0 && pcchConnStrOut && szConnStrOut ) { + char2wchar ( pOutStr.get(), szConnStrOut, ( int ) cchConnStrOutMax ); + *pcchConnStrOut = wcslen ( szConnStrOut ); + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "(W)The Length of Out Conn Str is %d", *pcchConnStrOut ) ); + } + + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "the ret code is %d", code ) ); + return code; +} + +RETCODE SQL_API SQLDriverConnect ( SQLHDBC pConn, + SQLHWND pWndHandle, + SQLCHAR* pInConnStr, + SQLSMALLINT pInConnStrLen, + SQLCHAR* pOutConnStr, + SQLSMALLINT pOutConnStrLen, + SQLSMALLINT* pOutConnStrLenPtr, + SQLUSMALLINT pDriverCompletion ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The window handle is %d, the driver completion flag is %d", pWndHandle, + pDriverCompletion ) ); + pODBCConn pgConn = ( pODBCConn ) pConn; + bool f; + bool flgDriver, flgDSN; // flags for knowing if these key present in string + bool flgServer, flgPort, flgUID, flgPWD, flgProj; // flags for knowing if these key present in string + Word i, n; + Word iKVInputPairs; // no of key value pairs as input + Word iDriverPos, iDSNPos; // ??? can be eliminated by optimization of code + Word iServerPos, iPortPos, iUIDPos, iPWDPos, iProjPos; // ??? can be eliminated by optimization of code + struct ODBCKV* KVInput; // key value as input via function param + struct ODBCKV* KV; // generic, temp + + if ( !pInConnStr ) { + __ODBCPOPMSG ( _ODBCPopMsg ( "SQLDriverConnect: pInConnStr is required" ) ); + return SQL_ERROR; + } + + else { + //__ODBCLOG(_ODBCLogMsg(LogLevel_DEBUG,"The passed-in Connection Str is %s",(char*)pInConnStr)); + } + + __CHK_HANDLE ( pConn, SQL_HANDLE_DBC, SQL_ERROR ); + _SQLFreeDiag ( _DIAGCONN ( pConn ) ); + + // caller safe + if ( pOutConnStr ) { *pOutConnStr = 0; } + + if ( pOutConnStrLenPtr ) { *pOutConnStrLenPtr = 0; } + + // initializations + KVInput = NULL; + flgServer = FALSE; + flgPort = FALSE; + flgUID = FALSE; + flgPWD = FALSE; + flgProj = FALSE; + + // check if an in-string has been specified + if ( pInConnStr ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "Parsing the in str" ) ); + + // split into key-value pairs + if ( CvtStrToKeyValues ( ( StrPtr ) pInConnStr, pInConnStrLen, &iKVInputPairs, &KVInput ) != GOOD ) { + return SQL_ERROR; + } + + // first check if dsn keyword is present + flgDSN = FindInKeyValues ( "DSN", NULL, KVInput, iKVInputPairs, &iDSNPos ); + // look for driver only if DSN is absent else Driver is always ignored + flgDriver = ( flgDSN ) ? FALSE : FindInKeyValues ( "DRIVER", NULL, KVInput, iKVInputPairs, &iDriverPos ); + + // if DSN is to be used, fetch its set of key values + if ( flgDSN ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The in str is a dsn string" ) ); + //connect by dsn + SetCurrentDSN ( ( char* ) pInConnStr, "SQLDriverConnect" ); + + if ( LoadODBCINIDataToConn ( pgConn ) != GOOD ) { + return SQL_ERROR; + } + } + + else if ( flgDriver ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The in str is a driver string" ) ); + /************* debug + for ( i = 0, n = iKVInputPairs, KV = KVInput; i < n; i++ ) + fprintf ( stderr, "Index: %d, Key: %s, Value: %s\n", i, KV[i].key ? KV[i].key : "(nokey)", KV[i].value ? KV[i].value : "(no value)" ); + *********/ + + // loop to parse both input key-values and DSN key-values & feed into struct + for ( i = 0, n = iKVInputPairs, KV = KVInput; i < n; i++ ) { + if ( !flgServer ) { + flgServer = FindInKeyValues ( "SERVER", NULL, KV, n, &iServerPos ); + + if ( flgServer ) { CreateAndSetConnProp ( ( pODBCConn ) pConn, CONN_PROP_SERVER, KV[iServerPos].value ); } + } + + if ( !flgPort ) { + flgPort = FindInKeyValues ( "PORT", NULL, KV, n, &iPortPos ); + + if ( flgPort ) { CreateAndSetConnProp ( ( pODBCConn ) pConn, CONN_PROP_PORT, KV[iPortPos].value ); } + } + + if ( !flgUID ) { + flgUID = FindInKeyValues ( "UID", NULL, KV, n, &iUIDPos ); + + if ( flgUID ) { + CreateAndSetConnProp ( ( pODBCConn ) pConn, CONN_PROP_UID, KV[iUIDPos].value ); + __ODBCLOG ( _ODBCLogMsg ( LogLevel_INFO, "Log in as User : %s ", KV[iUIDPos].value ) ); + } + } + + if ( !flgPWD ) { + flgPWD = FindInKeyValues ( "PWD", NULL, KV, n, &iPWDPos ); + + if ( flgPWD ) { CreateAndSetConnProp ( ( pODBCConn ) pConn, CONN_PROP_PWD, KV[iPWDPos].value ); } + } + + if ( !flgProj ) { + flgProj = FindInKeyValues ( "PROJECT", NULL, KV, n, &iProjPos ); + + if ( flgProj ) { CreateAndSetConnProp ( ( pODBCConn ) pConn, CONN_PROP_PROJECT, KV[iProjPos].value ); } + } + } + } + + else { + _SQLPutDiagRow ( SQL_HANDLE_DBC, pConn, "SQLDriverConnectW", "HY000", 1045, "Only DSN or driver connect is allowed" ); + __ODBCPOPMSG ( _ODBCPopMsg ( "Only DSN or driver connect is allowed, instead of %s", pInConnStr ) ); + return SQL_ERROR; + } + + FreeGenODBCKeyValues ( KVInput, iKVInputPairs ); + delete[] KVInput; + } + + else if ( pDriverCompletion == SQL_DRIVER_NOPROMPT ) { // check if no-prompt forced + __ODBCPOPMSG ( _ODBCPopMsg ( "No connection string && no prompt specified" ) ); + _SQLPutDiagRow ( SQL_HANDLE_DBC, pConn, "SQLDriverConnectW", "HY000", 1045, + "Access denied. (using UID: NO , using password: NO)" ); + return SQL_ERROR; + } + + RETCODE ret; + + // check if prompt required ie any info is missing + if ( flgDriver && ( !flgServer || !flgPort || !flgUID || !flgPWD || !flgProj ) ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_INFO, "Connection info imcomplete, prompt for input..." ) ); + + if ( flgUID && !flgPWD && pDriverCompletion == SQL_DRIVER_NOPROMPT ) { + _SQLPutDiagRow ( SQL_HANDLE_DBC, pConn, "SQLDriverConnectW", "HY000", 1045, + "Access denied for user 'root'@'kylin-tableau-clean.com' (using password: NO)" ); + __ODBCLOG ( _ODBCLogMsg ( LogLevel_ERROR, + "UID present but PWD absent, guessing it's on Tableau Server, return SQL ERROR" ) ); + return SQL_ERROR; + } + + //connect by driver + // fetch entire connection information thru dialogs + switch ( PromptForConnInfo ( pConn ) ) { + case 0: // user-cancelled + return SQL_NO_DATA_FOUND; + + default: + break; + } + + ret = SQL_SUCCESS; + } + + else { + ret = TryFetchMetadata ( pgConn ) ; + + if ( ret == SQL_ERROR ) { + return ret; + } + } + + // OUT CONN STRING + // build the out-connection string if required + if ( pOutConnStr && pOutConnStrLen > 0 && pOutConnStrLenPtr ) { + if ( flgDriver ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "Building out str..." ) ); + // build the out conn string using key value pairs + f = BuildConnStr ( ( StrPtr ) pOutConnStr, pOutConnStrLen, ( pODBCConn ) pConn, NULL, 0, NULL, 0 ); + + if ( !f ) { + _SQLPutDiagRow ( SQL_HANDLE_DBC, pConn, "SQLDriverConnectW", "HY000", 1045, "Out connection string not complete" ); + } + } + + else { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "Copy in str to out str" ) ); + strcpy ( ( char* ) pOutConnStr, ( char* ) pInConnStr ); + } + + *pOutConnStrLenPtr = strlen ( ( StrPtr ) pOutConnStr ); + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The Length of Out Conn Str is %d", *pOutConnStrLenPtr ) ); + } + + else { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "skip writing to the out put string" ) ); + } + + return ret; +} + + +RETCODE TryFetchMetadata ( pODBCConn pgConn ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "start loading metadata..." ) ); + + try { + pgConn->meta = std::move ( restGetMeta ( pgConn->Server, pgConn->ServerPort, pgConn->UserName, pgConn->Password, + pgConn->Project ) ); + } + + catch ( const exception& e ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_ERROR, "The REST request failed to get metadata" ) ); + __ODBCLOG ( _ODBCLogMsg ( LogLevel_ERROR, e.what() ) ); + _SQLPutDiagRow ( SQL_HANDLE_DBC, pgConn, "SQLDriverConnect", "HY000", 1045, "Access denied. (using password: NO)" ); + return SQL_ERROR; + } + + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "End loading metadata" ) ); + return SQL_SUCCESS; +} + +RETCODE TryAuthenticate ( pODBCConn pgConn ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "Start authenticating.." ) ); + + try { + bool authenticated = restAuthenticate ( pgConn->Server, pgConn->ServerPort, pgConn->UserName, pgConn->Password ); + + if ( !authenticated ) + { throw exception ( "Username/Password incorrect." ); } + } + + catch ( const exception& e ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_ERROR, "The REST request failed to authenticate." ) ); + __ODBCLOG ( _ODBCLogMsg ( LogLevel_ERROR, e.what() ) ); + _SQLPutDiagRow ( SQL_HANDLE_DBC, pgConn, "SQLDriverConnect", "HY000", 1045, "Access denied. (using password: NO)" ); + return SQL_ERROR; + } + + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "End authenticating" ) ); + return SQL_SUCCESS; +} + +// ----------------------------------------------------------------------- +// to connect to the server using standard parameters +// ----------------------------------------------------------------------- + +RETCODE SQL_API SQLConnect ( SQLHDBC pConn, + SQLCHAR* pServerName, + SQLSMALLINT pServerNameLen, + SQLCHAR* pUserName, + SQLSMALLINT pUserNameLen, + SQLCHAR* pPassword, + SQLSMALLINT pPasswordLen ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLConnect called" ) ); + __CHK_HANDLE ( pConn, SQL_HANDLE_DBC, SQL_ERROR ); + __ODBCPOPMSG ( _ODBCPopMsg ( "SQLConnect - not implemented, use SQLDriverConnect" ) ); + return SQL_ERROR; + _SQLFreeDiag ( _DIAGCONN ( pConn ) ); + return ( SQL_SUCCESS ); +} + +SQLRETURN SQL_API SQLConnectW ( SQLHDBC hdbc, + SQLWCHAR* szDSN, + SQLSMALLINT cchDSN, + SQLWCHAR* szUID, + SQLSMALLINT cchUID, + SQLWCHAR* szAuthStr, + SQLSMALLINT cchAuthStr + ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLConnectW called" ) ); + __CHK_HANDLE ( hdbc, SQL_HANDLE_DBC, SQL_ERROR ); + __ODBCPOPMSG ( _ODBCPopMsg ( "SQLConnectW - not implemented, use SQLDriverConnectW" ) ); + return SQL_ERROR; + _SQLFreeDiag ( _DIAGCONN ( hdbc ) ); + return ( SQL_SUCCESS ); +} + + + +// ----------------------------------------------------------------------- +// to connect in multiple iterations +// ----------------------------------------------------------------------- + +RETCODE SQL_API SQLBrowseConnect ( SQLHDBC pConn, + SQLCHAR* InConnectionString, + SQLSMALLINT StringLength1, + SQLCHAR* OutConnectionString, + SQLSMALLINT BufferLength, + SQLSMALLINT* StringLength2Ptr ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLBrowseConnect called" ) ); + __ODBCPOPMSG ( _ODBCPopMsg ( "SQLBrowseConnect - not implemented, use SQLDriverConnect" ) ); + return SQL_ERROR; } \ No newline at end of file diff --git a/odbc/Driver/KO_CTLG.CPP b/odbc/Driver/KO_CTLG.CPP index 51f9e7d..cf4f98e 100644 --- a/odbc/Driver/KO_CTLG.CPP +++ b/odbc/Driver/KO_CTLG.CPP @@ -1,360 +1,363 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - -// ---------------------------------------------------------------------------- -// -// File: KO_CTLG.CPP -// -// Purpose: Contains catalog functions -// Functions that allow collection of metadata/information -// about the database are termed as catalog functions. -// For example SQLTables allows you to get all the -// databases, users on the server or tables in database. -// Similarly SQLColumns allows you to get all the cols -// in a table. -// -// Exported functions: -// SQLTables -// SQLColumns -// SQLSpecialColumns -// SQLStatistics -// SQLPrimaryKeys -// SQLForeignKeys -// SQLTablePrivileges -// SQLColumnPrivileges -// SQLProcedures -// SQLProcedureColumns -// -// ---------------------------------------------------------------------------- - -#include "stdafx.h" - - - -// ----------------------------------------------------------------------- -// to get list of catalog(database), schema(users), tables(tables) -// ------------------------------------------------------------------------ - -RETCODE SQL_API SQLTablesW ( SQLHSTMT pStmt, - SQLWCHAR* pCatalogName, - SQLSMALLINT pCatalogNameSize, - SQLWCHAR* pSchemaName, - SQLSMALLINT pSchemaNameSize, - SQLWCHAR* pTableName, - SQLSMALLINT pTableNameSize, - SQLWCHAR* pTableType, - SQLSMALLINT pTableTypeSize ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLTablesW is called " ) ); - unique_ptr p1 ( wchar2char ( pCatalogName ) ); - unique_ptr p2 ( wchar2char ( pSchemaName ) ); - unique_ptr p3 ( wchar2char ( pTableName ) ); - unique_ptr p4 ( wchar2char ( pTableType ) ); - return SQLTables ( pStmt, ( SQLCHAR* ) p1.get(), pCatalogNameSize, ( SQLCHAR* ) p2.get(), pSchemaNameSize, - ( SQLCHAR* ) p3.get(), pTableNameSize, ( SQLCHAR* ) p4.get(), pTableTypeSize ); -} - -RETCODE SQL_API SQLTables ( SQLHSTMT pStmt, - SQLCHAR* pCatalogName, - SQLSMALLINT pCatalogNameSize, - SQLCHAR* pSchemaName, - SQLSMALLINT pSchemaNameSize, - SQLCHAR* pTableName, - SQLSMALLINT pTableNameSize, - SQLCHAR* pTableType, - SQLSMALLINT pTableTypeSize ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLTables: Ctlg: %s, %d, Schema: %s, %d, Table: %s,%d, Type: %s, %d", - pCatalogName, pCatalogNameSize, pSchemaName, pSchemaNameSize, pTableName, pTableNameSize, pTableType, - pTableTypeSize ) ); - __CHK_HANDLE ( pStmt, SQL_HANDLE_STMT, SQL_ERROR ); - _SQLFreeDiag ( _DIAGSTMT ( pStmt ) ); - std::unique_ptr p = SQLResponse::MakeResp4SQLTables ( ( ( pODBCStmt ) pStmt )->Conn->meta.get() ); - - if ( PutRespToStmt ( ( pODBCStmt ) pStmt, std::move ( p ) ) != GOOD ) { - return SQL_ERROR; - } - - return SQL_SUCCESS; -} - -// ----------------------------------------------------------------------- -// to get the list of column names in specified tables -// ------------------------------------------------------------------------ - -RETCODE SQL_API SQLColumnsW ( SQLHSTMT pStmt, - SQLWCHAR* pCtlgName, - SQLSMALLINT pCtlgNameLen, - SQLWCHAR* pSchemaName, - SQLSMALLINT pSchemaNameLen, - SQLWCHAR* pTableName, - SQLSMALLINT pTableNameLen, - SQLWCHAR* pColumnName, - SQLSMALLINT pColumnNameLen ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLColumnsW is called" ) ); - unique_ptr p1 ( wchar2char ( pCtlgName ) ); - unique_ptr p2 ( wchar2char ( pSchemaName ) ); - unique_ptr p3 ( wchar2char ( pTableName ) ); - unique_ptr p4 ( wchar2char ( pColumnName ) ); - return SQLColumns ( pStmt, ( SQLCHAR* ) p1.get(), pCtlgNameLen, ( SQLCHAR* ) p2.get(), pSchemaNameLen, - ( SQLCHAR* ) p3.get(), pTableNameLen, ( SQLCHAR* ) p4.get(), pColumnNameLen ); -} - -RETCODE SQL_API SQLColumns ( SQLHSTMT pStmt, - SQLCHAR* pCtlgName, - SQLSMALLINT pCtlgNameLen, - SQLCHAR* pSchemaName, - SQLSMALLINT pSchemaNameLen, - SQLCHAR* pTableName, - SQLSMALLINT pTableNameLen, - SQLCHAR* pColumnName, - SQLSMALLINT pColumnNameLen ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLColumns called, Ctlg: %s, %d. Schema: %s, %d, Table: %s, %d, Col: %s, %d", - pCtlgName, pCtlgNameLen, pSchemaName, pSchemaNameLen, pTableName, pTableNameLen, pColumnName, pColumnNameLen ) ); - __CHK_HANDLE ( pStmt, SQL_HANDLE_STMT, SQL_ERROR ); - _SQLFreeDiag ( _DIAGSTMT ( pStmt ) ); - // feed stmt structure with response - std::unique_ptr p = SQLResponse::MakeResp4SQLColumns ( ( ( pODBCStmt ) pStmt )->Conn->meta.get(), - ( char* ) pTableName, ( char* ) pColumnName ); - - if ( PutRespToStmt ( ( pODBCStmt ) pStmt, std::move ( p ) ) != GOOD ) { - return SQL_ERROR; - } - - return SQL_SUCCESS; -} - - -// ----------------------------------------------------------------------- -// to get the list of column names which make a row unqiue or r updateable -// ------------------------------------------------------------------------ - -SQLRETURN SQL_API SQLSpecialColumns ( SQLHSTMT pStmt, - SQLUSMALLINT pIdentifierType, - SQLCHAR* pCtlgName, - SQLSMALLINT pCtlgNameLen, - SQLCHAR* pSchemaName, - SQLSMALLINT pSchemaNameLen, - SQLCHAR* pTableName, - SQLSMALLINT pTableNameLen, - SQLUSMALLINT pScope, - SQLUSMALLINT pNullable ) - -{ - // note - // possible values for pIdentifierType are - // SQL_BEST_ROWID ----- primary key columns - // SQL_ROWVER --------- all updateable columns - // - // possible values for pScope are - // SQL_SCOPE_CURROW - // SQL_SCOPE_TRANSACTION - // SQL_SCOPE_SESSION - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLSpecialColumns called, Ctlg: %s, %d. Schema: %s, %d, Table: %s, %d", - pCtlgName, pCtlgNameLen, pSchemaName, pSchemaNameLen, pTableName, pTableNameLen ) ); - __ODBCPOPMSG ( _ODBCPopMsg ( "SQLSpecialColumns not implemented" ) ); - return SQL_ERROR; -} - -// ----------------------------------------------------------------------- -// to get table and/or index statistics -// ------------------------------------------------------------------------ - -RETCODE SQL_API SQLStatistics ( SQLHSTMT pStmt, - SQLCHAR* pCtlgName, - SQLSMALLINT pCtlgNameLen, - SQLCHAR* pSchemaName, - SQLSMALLINT pSchemaNameLen, - SQLCHAR* pTableName, - SQLSMALLINT pTableNameLen, - SQLUSMALLINT pUnique, - SQLUSMALLINT pReserved ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLStatistics called" ) ); - __ODBCPOPMSG ( _ODBCPopMsg ( "SQLStatistics not implemented" ) ); - return SQL_ERROR; -} - -// ----------------------------------------------------------------------- -// to get columns which make up the p-keys -// ------------------------------------------------------------------------ -RETCODE SQL_API SQLPrimaryKeysW ( SQLHSTMT pStmt, - SQLWCHAR* pCtlgName, - SQLSMALLINT pCtlgNameLen, - SQLWCHAR* pSchemaName, - SQLSMALLINT pSchemaNameLen, - SQLWCHAR* pTableName, - SQLSMALLINT pTableNameLen ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLPrimaryKeysW called" ) ); - return SQLPrimaryKeys ( pStmt, NULL, NULL, NULL, NULL, NULL, NULL ); -} - - -RETCODE SQL_API SQLPrimaryKeys ( SQLHSTMT pStmt, - SQLCHAR* pCtlgName, - SQLSMALLINT pCtlgNameLen, - SQLCHAR* pSchemaName, - SQLSMALLINT pSchemaNameLen, - SQLCHAR* pTableName, - SQLSMALLINT pTableNameLen ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLPrimaryKeys called" ) ); - std::unique_ptr p ( new SQLResponse() ); - - if ( PutRespToStmt ( ( pODBCStmt ) pStmt, std::move ( p ) ) != GOOD ) { - return SQL_ERROR; - } - - return SQL_SUCCESS; -} - -// ----------------------------------------------------------------------- -// to get foreign key information -// ------------------------------------------------------------------------ -RETCODE SQL_API SQLForeignKeysW ( SQLHSTMT pStmt, - SQLWCHAR* pPKCtlgName, - SQLSMALLINT pPKCtlgNameLen, - SQLWCHAR* pPKSchemaName, - SQLSMALLINT pPKSchemaNameLen, - SQLWCHAR* pPKTableName, - SQLSMALLINT pPKTableNameLen, - SQLWCHAR* pFKCtlgName, - SQLSMALLINT pFKCtlgNameLen, - SQLWCHAR* pFKSchemaName, - SQLSMALLINT pFKSchemaNameLen, - SQLWCHAR* pFKTableName, - SQLSMALLINT pFKTableNameLen ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLForeignKeysW called" ) ); - unique_ptr p1 ( wchar2char ( pPKCtlgName ) ); - unique_ptr p2 ( wchar2char ( pPKSchemaName ) ); - unique_ptr p3 ( wchar2char ( pPKTableName ) ); - unique_ptr p4 ( wchar2char ( pFKCtlgName ) ); - unique_ptr p5 ( wchar2char ( pFKSchemaName ) ); - unique_ptr p6 ( wchar2char ( pFKTableName ) ); - return SQLForeignKeys ( pStmt, - ( SQLCHAR* ) p1.get(), - pPKCtlgNameLen, - ( SQLCHAR* ) p2.get(), - pPKSchemaNameLen, - ( SQLCHAR* ) p3.get(), - pPKTableNameLen, - ( SQLCHAR* ) p4.get(), - pFKCtlgNameLen, - ( SQLCHAR* ) p5.get(), - pFKSchemaNameLen, - ( SQLCHAR* ) p6.get(), - pFKTableNameLen ); -} - -RETCODE SQL_API SQLForeignKeys ( SQLHSTMT pStmt, - SQLCHAR* pPKCtlgName, - SQLSMALLINT pPKCtlgNameLen, - SQLCHAR* pPKSchemaName, - SQLSMALLINT pPKSchemaNameLen, - SQLCHAR* pPKTableName, - SQLSMALLINT pPKTableNameLen, - SQLCHAR* pFKCtlgName, - SQLSMALLINT pFKCtlgNameLen, - SQLCHAR* pFKSchemaName, - SQLSMALLINT pFKSchemaNameLen, - SQLCHAR* pFKTableName, - SQLSMALLINT pFKTableNameLen ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, - "SQLForeignKeys called pPKCtlgName: %s, pPKSchemaName : %s, pPKTableName: %s, pFKCtlgName: %s, pFKSchemaName: %s, pFKTableName: %s", - pPKCtlgName, pPKSchemaName, pPKTableName, pFKCtlgName, pFKSchemaName, pFKTableName ) ); - std::unique_ptr p ( new SQLResponse() ); - - if ( PutRespToStmt ( ( pODBCStmt ) pStmt, std::move ( p ) ) != GOOD ) { - return SQL_ERROR; - } - - return SQL_SUCCESS; -} - - -// ----------------------------------------------------------------------- -// to get a list of tables and the privileges associated with each table -// ------------------------------------------------------------------------ - -RETCODE SQL_API SQLTablePrivileges ( SQLHSTMT pStmt, - SQLCHAR* pCtlgName, - SQLSMALLINT pCtlgNameLen, - SQLCHAR* pSchemaName, - SQLSMALLINT pSchemaNameLen, - SQLCHAR* pTableName, - SQLSMALLINT pTableNameLen ) - -{ - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLTablePrivileges called" ) ); - __ODBCPOPMSG ( _ODBCPopMsg ( "SQLTablePrivileges not implemented" ) ); - return SQL_ERROR; -} - -// ----------------------------------------------------------------------- -// to get a list of columns and associated privileges for the specified table -// ------------------------------------------------------------------------ - -RETCODE SQL_API SQLColumnPrivileges ( SQLHSTMT pStmt, - SQLCHAR* pCtlgName, - SQLSMALLINT pCtlgNameLen, - SQLCHAR* pSchemaName, - SQLSMALLINT pSchemaNameLen, - SQLCHAR* pTableName, - SQLSMALLINT pTableNameLen, - SQLCHAR* pColumnName, - SQLSMALLINT pColumnNameLen ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLColumnPrivileges called" ) ); - __ODBCPOPMSG ( _ODBCPopMsg ( "SQLColumnPrivileges not implemented" ) ); - return SQL_ERROR; -} - - -// ----------------------------------------------------------------------- -// to get a list of procedure names stored in a specific data source -// ------------------------------------------------------------------------ - - -RETCODE SQL_API SQLProcedures ( SQLHSTMT pStmt, - SQLCHAR* pCtlgName, - SQLSMALLINT pCtlgNameLen, - SQLCHAR* pSchemaName, - SQLSMALLINT pSchemaNameLen, - SQLCHAR* pProcName, - SQLSMALLINT pProcNameLen ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLProcedures called" ) ); - __ODBCPOPMSG ( _ODBCPopMsg ( "SQLProcedures not implemented" ) ); - return SQL_ERROR; -} - - -// ----------------------------------------------------------------------- -// to get a list of procedure names stored in a specific data source -// ------------------------------------------------------------------------ - -RETCODE SQL_API SQLProcedureColumns ( SQLHSTMT pStmt, - SQLCHAR* pCtlgName, - SQLSMALLINT pCtlgNameLen, - SQLCHAR* pSchemaName, - SQLSMALLINT pSchemaNameLen, - SQLCHAR* pProcName, - SQLSMALLINT pProcNameLen, - SQLCHAR* pColumnName, - SQLSMALLINT pColumnNameLen ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLProceduresColumns called" ) ); - __ODBCPOPMSG ( _ODBCPopMsg ( "SQLProceduresColumns not implemented" ) ); - return SQL_ERROR; -} - - +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +// ---------------------------------------------------------------------------- +// +// File: KO_CTLG.CPP +// +// Purpose: Contains catalog functions +// Functions that allow collection of metadata/information +// about the database are termed as catalog functions. +// For example SQLTables allows you to get all the +// databases, users on the server or tables in database. +// Similarly SQLColumns allows you to get all the cols +// in a table. +// +// Exported functions: +// SQLTables +// SQLColumns +// SQLSpecialColumns +// SQLStatistics +// SQLPrimaryKeys +// SQLForeignKeys +// SQLTablePrivileges +// SQLColumnPrivileges +// SQLProcedures +// SQLProcedureColumns +// +// ---------------------------------------------------------------------------- + +#include "stdafx.h" + + + +// ----------------------------------------------------------------------- +// to get list of catalog(database), schema(users), tables(tables) +// ------------------------------------------------------------------------ + +RETCODE SQL_API SQLTablesW ( SQLHSTMT pStmt, + SQLWCHAR* pCatalogName, + SQLSMALLINT pCatalogNameSize, + SQLWCHAR* pSchemaName, + SQLSMALLINT pSchemaNameSize, + SQLWCHAR* pTableName, + SQLSMALLINT pTableNameSize, + SQLWCHAR* pTableType, + SQLSMALLINT pTableTypeSize ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLTablesW is called " ) ); + unique_ptr p1 ( wchar2char ( pCatalogName ) ); + unique_ptr p2 ( wchar2char ( pSchemaName ) ); + unique_ptr p3 ( wchar2char ( pTableName ) ); + unique_ptr p4 ( wchar2char ( pTableType ) ); + return SQLTables ( pStmt, ( SQLCHAR* ) p1.get(), pCatalogNameSize, ( SQLCHAR* ) p2.get(), pSchemaNameSize, + ( SQLCHAR* ) p3.get(), pTableNameSize, ( SQLCHAR* ) p4.get(), pTableTypeSize ); +} + +RETCODE SQL_API SQLTables ( SQLHSTMT pStmt, + SQLCHAR* pCatalogName, + SQLSMALLINT pCatalogNameSize, + SQLCHAR* pSchemaName, + SQLSMALLINT pSchemaNameSize, + SQLCHAR* pTableName, + SQLSMALLINT pTableNameSize, + SQLCHAR* pTableType, + SQLSMALLINT pTableTypeSize ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLTables: Ctlg: %s, %d, Schema: %s, %d, Table: %s,%d, Type: %s, %d", + pCatalogName, pCatalogNameSize, pSchemaName, pSchemaNameSize, pTableName, pTableNameSize, pTableType, + pTableTypeSize ) ); + __CHK_HANDLE ( pStmt, SQL_HANDLE_STMT, SQL_ERROR ); + _SQLFreeDiag ( _DIAGSTMT ( pStmt ) ); + std::unique_ptr p = SQLResponse::MakeResp4SQLTables ( ( ( pODBCStmt ) pStmt )->Conn->meta.get() ); + + if ( PutRespToStmt ( ( pODBCStmt ) pStmt, std::move ( p ) ) != GOOD ) { + return SQL_ERROR; + } + + return SQL_SUCCESS; +} + +// ----------------------------------------------------------------------- +// to get the list of column names in specified tables +// ------------------------------------------------------------------------ + +RETCODE SQL_API SQLColumnsW ( SQLHSTMT pStmt, + SQLWCHAR* pCtlgName, + SQLSMALLINT pCtlgNameLen, + SQLWCHAR* pSchemaName, + SQLSMALLINT pSchemaNameLen, + SQLWCHAR* pTableName, + SQLSMALLINT pTableNameLen, + SQLWCHAR* pColumnName, + SQLSMALLINT pColumnNameLen ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLColumnsW is called" ) ); + unique_ptr p1 ( wchar2char ( pCtlgName ) ); + unique_ptr p2 ( wchar2char ( pSchemaName ) ); + unique_ptr p3 ( wchar2char ( pTableName ) ); + unique_ptr p4 ( wchar2char ( pColumnName ) ); + return SQLColumns ( pStmt, ( SQLCHAR* ) p1.get(), pCtlgNameLen, ( SQLCHAR* ) p2.get(), pSchemaNameLen, + ( SQLCHAR* ) p3.get(), pTableNameLen, ( SQLCHAR* ) p4.get(), pColumnNameLen ); +} + +RETCODE SQL_API SQLColumns ( SQLHSTMT pStmt, + SQLCHAR* pCtlgName, + SQLSMALLINT pCtlgNameLen, + SQLCHAR* pSchemaName, + SQLSMALLINT pSchemaNameLen, + SQLCHAR* pTableName, + SQLSMALLINT pTableNameLen, + SQLCHAR* pColumnName, + SQLSMALLINT pColumnNameLen ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLColumns called, Ctlg: %s, %d. Schema: %s, %d, Table: %s, %d, Col: %s, %d", + pCtlgName, pCtlgNameLen, pSchemaName, pSchemaNameLen, pTableName, pTableNameLen, pColumnName, pColumnNameLen ) ); + __CHK_HANDLE ( pStmt, SQL_HANDLE_STMT, SQL_ERROR ); + _SQLFreeDiag ( _DIAGSTMT ( pStmt ) ); + + // Some application will bring '\\' into table name + remove_char(( char* )pTableName, '\\'); + + // feed stmt structure with response + std::unique_ptr p = SQLResponse::MakeResp4SQLColumns ( ( ( pODBCStmt ) pStmt )->Conn->meta.get(), + ( char* ) pTableName, ( char* ) pColumnName ); + + if ( PutRespToStmt ( ( pODBCStmt ) pStmt, std::move ( p ) ) != GOOD ) { + return SQL_ERROR; + } + + return SQL_SUCCESS; +} + +// ----------------------------------------------------------------------- +// to get the list of column names which make a row unqiue or r updateable +// ------------------------------------------------------------------------ + +SQLRETURN SQL_API SQLSpecialColumns ( SQLHSTMT pStmt, + SQLUSMALLINT pIdentifierType, + SQLCHAR* pCtlgName, + SQLSMALLINT pCtlgNameLen, + SQLCHAR* pSchemaName, + SQLSMALLINT pSchemaNameLen, + SQLCHAR* pTableName, + SQLSMALLINT pTableNameLen, + SQLUSMALLINT pScope, + SQLUSMALLINT pNullable ) + +{ + // note + // possible values for pIdentifierType are + // SQL_BEST_ROWID ----- primary key columns + // SQL_ROWVER --------- all updateable columns + // + // possible values for pScope are + // SQL_SCOPE_CURROW + // SQL_SCOPE_TRANSACTION + // SQL_SCOPE_SESSION + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLSpecialColumns called, Ctlg: %s, %d. Schema: %s, %d, Table: %s, %d", + pCtlgName, pCtlgNameLen, pSchemaName, pSchemaNameLen, pTableName, pTableNameLen ) ); + __ODBCPOPMSG ( _ODBCPopMsg ( "SQLSpecialColumns not implemented" ) ); + return SQL_ERROR; +} + +// ----------------------------------------------------------------------- +// to get table and/or index statistics +// ------------------------------------------------------------------------ + +RETCODE SQL_API SQLStatistics ( SQLHSTMT pStmt, + SQLCHAR* pCtlgName, + SQLSMALLINT pCtlgNameLen, + SQLCHAR* pSchemaName, + SQLSMALLINT pSchemaNameLen, + SQLCHAR* pTableName, + SQLSMALLINT pTableNameLen, + SQLUSMALLINT pUnique, + SQLUSMALLINT pReserved ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLStatistics called" ) ); + __ODBCPOPMSG ( _ODBCPopMsg ( "SQLStatistics not implemented" ) ); + return SQL_ERROR; +} + +// ----------------------------------------------------------------------- +// to get columns which make up the p-keys +// ------------------------------------------------------------------------ +RETCODE SQL_API SQLPrimaryKeysW ( SQLHSTMT pStmt, + SQLWCHAR* pCtlgName, + SQLSMALLINT pCtlgNameLen, + SQLWCHAR* pSchemaName, + SQLSMALLINT pSchemaNameLen, + SQLWCHAR* pTableName, + SQLSMALLINT pTableNameLen ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLPrimaryKeysW called" ) ); + return SQLPrimaryKeys ( pStmt, NULL, NULL, NULL, NULL, NULL, NULL ); +} + + +RETCODE SQL_API SQLPrimaryKeys ( SQLHSTMT pStmt, + SQLCHAR* pCtlgName, + SQLSMALLINT pCtlgNameLen, + SQLCHAR* pSchemaName, + SQLSMALLINT pSchemaNameLen, + SQLCHAR* pTableName, + SQLSMALLINT pTableNameLen ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLPrimaryKeys called" ) ); + std::unique_ptr p ( new SQLResponse() ); + + if ( PutRespToStmt ( ( pODBCStmt ) pStmt, std::move ( p ) ) != GOOD ) { + return SQL_ERROR; + } + + return SQL_SUCCESS; +} + +// ----------------------------------------------------------------------- +// to get foreign key information +// ------------------------------------------------------------------------ +RETCODE SQL_API SQLForeignKeysW ( SQLHSTMT pStmt, + SQLWCHAR* pPKCtlgName, + SQLSMALLINT pPKCtlgNameLen, + SQLWCHAR* pPKSchemaName, + SQLSMALLINT pPKSchemaNameLen, + SQLWCHAR* pPKTableName, + SQLSMALLINT pPKTableNameLen, + SQLWCHAR* pFKCtlgName, + SQLSMALLINT pFKCtlgNameLen, + SQLWCHAR* pFKSchemaName, + SQLSMALLINT pFKSchemaNameLen, + SQLWCHAR* pFKTableName, + SQLSMALLINT pFKTableNameLen ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLForeignKeysW called" ) ); + unique_ptr p1 ( wchar2char ( pPKCtlgName ) ); + unique_ptr p2 ( wchar2char ( pPKSchemaName ) ); + unique_ptr p3 ( wchar2char ( pPKTableName ) ); + unique_ptr p4 ( wchar2char ( pFKCtlgName ) ); + unique_ptr p5 ( wchar2char ( pFKSchemaName ) ); + unique_ptr p6 ( wchar2char ( pFKTableName ) ); + return SQLForeignKeys ( pStmt, + ( SQLCHAR* ) p1.get(), + pPKCtlgNameLen, + ( SQLCHAR* ) p2.get(), + pPKSchemaNameLen, + ( SQLCHAR* ) p3.get(), + pPKTableNameLen, + ( SQLCHAR* ) p4.get(), + pFKCtlgNameLen, + ( SQLCHAR* ) p5.get(), + pFKSchemaNameLen, + ( SQLCHAR* ) p6.get(), + pFKTableNameLen ); +} + +RETCODE SQL_API SQLForeignKeys ( SQLHSTMT pStmt, + SQLCHAR* pPKCtlgName, + SQLSMALLINT pPKCtlgNameLen, + SQLCHAR* pPKSchemaName, + SQLSMALLINT pPKSchemaNameLen, + SQLCHAR* pPKTableName, + SQLSMALLINT pPKTableNameLen, + SQLCHAR* pFKCtlgName, + SQLSMALLINT pFKCtlgNameLen, + SQLCHAR* pFKSchemaName, + SQLSMALLINT pFKSchemaNameLen, + SQLCHAR* pFKTableName, + SQLSMALLINT pFKTableNameLen ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, + "SQLForeignKeys called pPKCtlgName: %s, pPKSchemaName : %s, pPKTableName: %s, pFKCtlgName: %s, pFKSchemaName: %s, pFKTableName: %s", + pPKCtlgName, pPKSchemaName, pPKTableName, pFKCtlgName, pFKSchemaName, pFKTableName ) ); + std::unique_ptr p ( new SQLResponse() ); + + if ( PutRespToStmt ( ( pODBCStmt ) pStmt, std::move ( p ) ) != GOOD ) { + return SQL_ERROR; + } + + return SQL_SUCCESS; +} + + +// ----------------------------------------------------------------------- +// to get a list of tables and the privileges associated with each table +// ------------------------------------------------------------------------ + +RETCODE SQL_API SQLTablePrivileges ( SQLHSTMT pStmt, + SQLCHAR* pCtlgName, + SQLSMALLINT pCtlgNameLen, + SQLCHAR* pSchemaName, + SQLSMALLINT pSchemaNameLen, + SQLCHAR* pTableName, + SQLSMALLINT pTableNameLen ) + +{ + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLTablePrivileges called" ) ); + __ODBCPOPMSG ( _ODBCPopMsg ( "SQLTablePrivileges not implemented" ) ); + return SQL_ERROR; +} + +// ----------------------------------------------------------------------- +// to get a list of columns and associated privileges for the specified table +// ------------------------------------------------------------------------ + +RETCODE SQL_API SQLColumnPrivileges ( SQLHSTMT pStmt, + SQLCHAR* pCtlgName, + SQLSMALLINT pCtlgNameLen, + SQLCHAR* pSchemaName, + SQLSMALLINT pSchemaNameLen, + SQLCHAR* pTableName, + SQLSMALLINT pTableNameLen, + SQLCHAR* pColumnName, + SQLSMALLINT pColumnNameLen ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLColumnPrivileges called" ) ); + __ODBCPOPMSG ( _ODBCPopMsg ( "SQLColumnPrivileges not implemented" ) ); + return SQL_ERROR; +} + + +// ----------------------------------------------------------------------- +// to get a list of procedure names stored in a specific data source +// ------------------------------------------------------------------------ + + +RETCODE SQL_API SQLProcedures ( SQLHSTMT pStmt, + SQLCHAR* pCtlgName, + SQLSMALLINT pCtlgNameLen, + SQLCHAR* pSchemaName, + SQLSMALLINT pSchemaNameLen, + SQLCHAR* pProcName, + SQLSMALLINT pProcNameLen ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLProcedures called" ) ); + __ODBCPOPMSG ( _ODBCPopMsg ( "SQLProcedures not implemented" ) ); + return SQL_ERROR; +} + + +// ----------------------------------------------------------------------- +// to get a list of procedure names stored in a specific data source +// ------------------------------------------------------------------------ + +RETCODE SQL_API SQLProcedureColumns ( SQLHSTMT pStmt, + SQLCHAR* pCtlgName, + SQLSMALLINT pCtlgNameLen, + SQLCHAR* pSchemaName, + SQLSMALLINT pSchemaNameLen, + SQLCHAR* pProcName, + SQLSMALLINT pProcNameLen, + SQLCHAR* pColumnName, + SQLSMALLINT pColumnNameLen ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLProceduresColumns called" ) ); + __ODBCPOPMSG ( _ODBCPopMsg ( "SQLProceduresColumns not implemented" ) ); + return SQL_ERROR; +} + + diff --git a/odbc/Driver/KO_DESC.CPP b/odbc/Driver/KO_DESC.CPP index 5e15745..d062d1b 100644 --- a/odbc/Driver/KO_DESC.CPP +++ b/odbc/Driver/KO_DESC.CPP @@ -1,2797 +1,2800 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - - -// ---------------------------------------------------------------------------- -// -// File: KO_DESC.CPP -// -// Purpose: Contains descriptor functions. -// As explained in the article, descriptors r the heart -// as far as driver design is concerned. Descriptors -// r essntially data structures to encapsulate one type of -// data. Say results from server. Say col specification from -// application and so. All the four descriptors (ARD,IRD,APD,IPD) -// r encapsulated inside the statement structure. -// -// The local functions provided for each descriptor include -// 1. maintaining the link list _SQLAttachXXXItem/_SQLDetachXXXItem -// 2. getting an desc item from link list _SQLGetXXXItem -// 3. setting default values in desc header/item _SQLSetXXXFieldsDefault/_SQLSetXXXItemFieldsDefault -// 4. setting values in desc header/item _SQLSetXXXField/_SQLSetXXXItemField -// 5. getting values from desc header/item _SQLGetXXXField/_SQLGetXXXItemField -// where XXX is the descriptor type ARD,IRD,APD,IPD -// -// These functions are used internally by most functions -// like SQLBindCol, SQLColAttribiute and so on to maintain -// info in the descriptor structures. -// -// The exposed functions allow the client to directly -// manipulate the descriptor values, and these functions -// also use these local functions only. -// But use of the exposed descriptor function is not very -// common in the ODBC parlance. -// -// Exported functions: -// SQLGetDescField -// SQLSetDescField -// SQLGetDescRec -// SQLSetDescRec -// SQLCopyDesc -// -// ---------------------------------------------------------------------------- -#include "stdafx.h" - - -// ------------------------ local functions ----------------------------------- -pAPDItem _SQLGetAPDItem ( const pODBCAPD pDesc, Word pRecNum ); -pIPDItem _SQLGetIPDItem ( const pODBCIPD pDesc, Word pRecNum ); -pARDItem _SQLGetARDItem ( const pODBCARD pDesc, Word pRecNum ); -pIRDItem _SQLGetIRDItem ( const pODBCIRD pDesc, Word pRecNum ); - -eGoodBad _SQLSetAPDFieldsDefault ( pODBCAPD pDesc, const pODBCStmt pStmt ); -eGoodBad _SQLSetAPDItemFieldsDefault ( pAPDItem pDescItem ); - -eGoodBad _SQLSetIPDFieldsDefault ( pODBCIPD pDesc, const pODBCStmt pStmt ); -eGoodBad _SQLSetIPDItemFieldsDefault ( pIPDItem pDescItem ); - -eGoodBad _SQLSetARDFieldsDefault ( pODBCARD pDesc, const pODBCStmt pStmt ); -eGoodBad _SQLSetARDItemFieldsDefault ( pARDItem pDescItem, Word pRecNum ); - -eGoodBad _SQLSetIRDFieldsDefault ( pODBCIRD pDesc, const pODBCStmt pStmt ); -eGoodBad _SQLSetIRDItemFieldsDefault ( pIRDItem pDescItem ); - -RETCODE SQL_API _SQLSetAPDField ( pODBCAPD pDesc, Word pFldID, const void* pDataPtr, Long pDataSize ); -RETCODE SQL_API _SQLSetAPDItemField ( pODBCAPD pDesc, pAPDItem pDescItem, Word pRecNum, Word pFldID, - const void* pDataPtr, Long pDataSize ); -RETCODE SQL_API _SQLGetAPDField ( const pODBCAPD pDesc, Word pFldID, void* pDataPtr, Long pDataSize, - Long* pDataSizePtr ); -RETCODE SQL_API _SQLGetAPDItemField ( const pODBCAPD pDesc, const pAPDItem pDescItem, Word pRecNum, - Word pFldID, void* pDataPtr, Long pDataSize, Long* pDataSizePtr ); - -RETCODE SQL_API _SQLSetIPDField ( pODBCIPD pDesc, Word pFldID, const void* pDataPtr, Long pDataSize ); -RETCODE SQL_API _SQLSetIPDItemField ( pODBCIPD pDesc, pIPDItem pDescItem, Word pRecNum, Word pFldID, - const void* pDataPtr, Long pDataSize ); -RETCODE SQL_API _SQLGetIPDField ( const pODBCIPD pDesc, Word pFldID, void* pDataPtr, Long pDataSize, - Long* pDataSizePtr ); -RETCODE SQL_API _SQLGetIPDItemField ( const pODBCIPD pDesc, const pIPDItem pDescItem, Word pRecNum, - Word pFldID, void* pDataPtr, Long pDataSize, Long* pDataSizePtr ); - -RETCODE SQL_API _SQLSetARDField ( pODBCARD pDesc, Word pFldID, const void* pDataPtr, Long pDataSize ); -RETCODE SQL_API _SQLSetARDItemField ( pODBCARD pDesc, pARDItem pDescItem, Word pRecNum, Word pFldID, - const void* pDataPtr, Long pDataSize ); -RETCODE SQL_API _SQLGetARDField ( const pODBCARD pDesc, Word pFldID, void* pDataPtr, Long pDataSize, - Long* pDataSizePtr ); -RETCODE SQL_API _SQLGetARDItemField ( const pODBCARD pDesc, const pARDItem pDescItem, Word pRecNum, - Word pFldID, void* pDataPtr, Long pDataSize, Long* pDataSizePtr ); - -RETCODE SQL_API _SQLSetIRDField ( pODBCIRD pDesc, Word pFldID, const void* pDataPtr, Long pDataSize ); -RETCODE SQL_API _SQLSetIRDItemField ( pODBCIRD pDesc, pIRDItem pDescItem, Word pRecNum, Word pFldID, - const void* pDataPtr, Long pDataSize ); -RETCODE SQL_API _SQLGetIRDField ( const pODBCIRD pDesc, Word pFldID, void* pDataPtr, Long pDataSize, - Long* pDataSizePtr ); -RETCODE SQL_API _SQLGetIRDItemField ( const pODBCIRD pDesc, const pIRDItem pDescItem, Word pRecNum, - Word pFldID, void* pDataPtr, Long pDataSize, Long* pDataSizePtr , bool isANSI ); - -RETCODE SQL_API _SQLFreeAPDContent ( const pODBCAPD pDesc ); -RETCODE SQL_API _SQLFreeIPDContent ( const pODBCIPD pDesc ); -RETCODE SQL_API _SQLFreeARDContent ( const pODBCARD pDesc ); -RETCODE SQL_API _SQLFreeIRDContent ( const pODBCIRD pDesc ); - -eGoodBad _SQLAttachARDItem ( pODBCARD pDesc, pARDItem pDescItem ); -eGoodBad _SQLDetachARDItem ( pODBCARD pDesc, pARDItem pDescItem ); - - -// ----------------------------------------------------------------------- -// to get value of specified descriptor field -// ----------------------------------------------------------------------- - -RETCODE _SQLGetDescField_basic ( SQLHDESC pDesc, - SQLSMALLINT pRecNum, - SQLSMALLINT pFldID, - SQLPOINTER pDataPtr, - SQLINTEGER pDataSize, - SQLINTEGER* pDataSizePtr, - bool isANSI ) { - bool invalidfld; - bool headerfld; - Word desctype; - - // precaution - if ( pDesc == NULL || pDataPtr == NULL ) { - __ODBCPOPMSG ( _ODBCPopMsg ( "SQLGetDescField - invalid params" ) ); - return SQL_ERROR; - } - - // initializations - invalidfld = FALSE; - headerfld = TRUE; - desctype = _DESCTYPE ( pDesc ); - - // check if descriptor is valid & reset diags - switch ( desctype ) { - case SQL_DESC_APD: - _SQLFreeDiag ( & ( ( ( pODBCAPD ) pDesc )->Stmt->Diag ) ); - break; - - case SQL_DESC_IPD: - _SQLFreeDiag ( & ( ( ( pODBCIPD ) pDesc )->Stmt->Diag ) ); - break; - - case SQL_DESC_ARD: - _SQLFreeDiag ( & ( ( ( pODBCARD ) pDesc )->Stmt->Diag ) ); - break; - - case SQL_DESC_IRD: - _SQLFreeDiag ( & ( ( ( pODBCIRD ) pDesc )->Stmt->Diag ) ); - break; - - default: - __ODBCPOPMSG ( _ODBCPopMsg ( "SQLGetDescField - Invalid descriptor handle" ) ); - return SQL_ERROR; - } - - // HEADER FIELDS - - // check the field type - header field - switch ( pFldID ) { - case SQL_DESC_ALLOC_TYPE: - - /***** - SQLSMALLINT - ARD: R APD: R IRD: R IPD: R - ARD: SQL_DESC_ALLOC_AUTO/SQL_DESC_ALLOC_USER - APD: SQL_DESC_ALLOC_AUTO/SQL_DESC_ALLOC_USER - IRD: SQL_DESC_ALLOC_AUTO - IPD: SQL_DESC_ALLOC_AUTO - ********/ - switch ( desctype ) { - case SQL_DESC_APD: - return _SQLGetAPDField ( ( pODBCAPD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IPD: - return _SQLGetIPDField ( ( pODBCIPD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_ARD: - return _SQLGetARDField ( ( pODBCARD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: - return _SQLGetIRDField ( ( pODBCIRD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - } - - break; - - case SQL_DESC_ARRAY_SIZE: - - /********* - SQLUINTEGER - ARD: R/W APD: R/W IRD: Unused IPD: Unused - ARD:[1] APD:[1] IRD: Unused IPD: Unused - ********/ - switch ( desctype ) { - case SQL_DESC_APD: - return _SQLGetAPDField ( ( pODBCAPD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_ARD: - return _SQLGetARDField ( ( pODBCARD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - default: - invalidfld = TRUE; - } - - break; - - case SQL_DESC_ARRAY_STATUS_PTR: - - /********** - SQLUSMALLINT* - ARD: R/W APD: R/W IRD: R/W IPD: R/W - ARD: Null ptr APD: Null ptr IRD: Null ptr IPD: Null ptr - **********/ - switch ( desctype ) { - case SQL_DESC_APD: - return _SQLGetAPDField ( ( pODBCAPD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IPD: - return _SQLGetIPDField ( ( pODBCIPD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_ARD: - return _SQLGetARDField ( ( pODBCARD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: - return _SQLGetIRDField ( ( pODBCIRD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - } - - break; - - case SQL_DESC_BIND_OFFSET_PTR: - - /********** - SQLINTEGER* - ARD: R/W APD: R/W IRD: Unused IPD: Unused - ARD: Null ptr APD: Null ptr IRD: Unused IPD: Unused - **********/ - switch ( desctype ) { - case SQL_DESC_APD: - return _SQLGetAPDField ( ( pODBCAPD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_ARD: - return _SQLGetARDField ( ( pODBCARD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - default: - invalidfld = TRUE; - } - - break; - - case SQL_DESC_BIND_TYPE: - - /********** - SQLINTEGER - ARD: R/W APD: R/W IRD: Unused IPD: Unused - ARD: SQL_BIND_BY_COLUMN - APD: SQL_BIND_BY_COLUMN IRD: Unused IPD: Unused - *********/ - switch ( desctype ) { - case SQL_DESC_APD: - return _SQLGetAPDField ( ( pODBCAPD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_ARD: - return _SQLGetARDField ( ( pODBCARD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - default: - invalidfld = TRUE; - } - - break; - - case SQL_DESC_COUNT: - - /********** - SQLSMALLINT - ARD: R/W APD: R/W IRD: R IPD: R/W - ARD: 0 APD: 0 IRD: D IPD: 0 - **********/ - switch ( desctype ) { - case SQL_DESC_APD: - return _SQLGetAPDField ( ( pODBCAPD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IPD: - return _SQLGetIPDField ( ( pODBCIPD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_ARD: - return _SQLGetARDField ( ( pODBCARD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: - return _SQLGetIRDField ( ( pODBCIRD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - } - - break; - - case SQL_DESC_ROWS_PROCESSED_PTR: - - /********** - SQLUINTEGER* - ARD: Unused APD: Unused IRD: R/W IPD: R/W - ARD: Unused APD: Unused IRD: Null ptr IPD: Null ptr - ***********/ - switch ( desctype ) { - case SQL_DESC_IPD: - return _SQLGetIPDField ( ( pODBCIPD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: - return _SQLGetIRDField ( ( pODBCIRD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - default: - invalidfld = TRUE; - } - - break; - - default: - headerfld = FALSE; - } - - // check if not an header field - if ( headerfld == TRUE ) - { return SQL_SUCCESS; } - - // check if invalid field - if ( invalidfld == TRUE ) { - __ODBCPOPMSG ( _ODBCPopMsg ( "SQLGetDescField - Invalid field %d for descriptor %d", pFldID, desctype ) ); - return SQL_ERROR; - } - - // check the field type - record field - switch ( pFldID ) { - case SQL_DESC_AUTO_UNIQUE_VALUE: - - /*********** - SQLINTEGER - ARD: Unused APD: Unused IRD: R IPD: Unused - ARD: Unused APD: Unused IRD: D IPD: Unused - *********/ - switch ( desctype ) { - case SQL_DESC_IRD: - return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: - invalidfld = TRUE; - } - - break; - - case SQL_DESC_BASE_COLUMN_NAME: - - /********** - SQLCHAR * - ARD: Unused APD: Unused IRD: R IPD: Unused - ARD: Unused APD: Unused IRD: D IPD: Unused - **********/ - switch ( desctype ) { - case SQL_DESC_IRD: - return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: - invalidfld = TRUE; - } - - break; - - case SQL_DESC_BASE_TABLE_NAME: - - /******** - SQLCHAR * - ARD: Unused APD: Unused IRD: R IPD: Unused - ARD: Unused APD: Unused IRD: D IPD: Unused - *******/ - switch ( desctype ) { - case SQL_DESC_IRD: - return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: - invalidfld = TRUE; - } - - break; - - case SQL_DESC_CASE_SENSITIVE: - - /********** - SQLINTEGER - ARD: Unused APD: Unused IRD: R IPD: R - ARD: Unused APD: Unused IRD: D IPD: D - *******/ - switch ( desctype ) { - case SQL_DESC_IPD: - return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: - return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: - invalidfld = TRUE; - } - - break; - - case SQL_DESC_CATALOG_NAME: - - /********** - SQLCHAR* - ARD: Unused APD: Unused IRD: R IPD: Unused - ARD: Unused APD: Unused IRD: D IPD: Unused - ********/ - switch ( desctype ) { - case SQL_DESC_IRD: - return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: - invalidfld = TRUE; - } - - break; - - case SQL_DESC_CONCISE_TYPE: - - /********** - SQLSMALLINT - ARD: R/W APD: R/W IRD: R IPD: R/W - ARD: SQL_C_DEFAULT APD: SQL_C_DEFAULT IRD: D IPD: ND - *********/ - switch ( desctype ) { - case SQL_DESC_APD: - return _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IPD: - return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_ARD: - return _SQLGetARDItemField ( ( pODBCARD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: - return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - } - - break; - - case SQL_DESC_DATA_PTR: - - /*********** - SQLPOINTER - ARD: R/W APD: R/W IRD: Unused IPD: Unused - ARD: Null ptr APD: Null ptr IRD: Unused IPD: Unused - ************/ - switch ( desctype ) { - case SQL_DESC_APD: - return _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_ARD: - return _SQLGetARDItemField ( ( pODBCARD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - default: - invalidfld = TRUE; - } - - break; - - case SQL_DESC_DATETIME_INTERVAL_CODE: - - /********** - SQLSMALLINT - ARD: R/W APD: R/W IRD: R IPD: R/W - ARD: ND APD: ND IRD: D IPD: ND - ********/ - switch ( desctype ) { - case SQL_DESC_APD: - return _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IPD: - return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_ARD: - return _SQLGetARDItemField ( ( pODBCARD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: - return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - } - - break; - - case SQL_DESC_DATETIME_INTERVAL_PRECISION: - - /********* - SQLINTEGER - ARD: R/W APD: R/W IRD: R IPD: R/W - ARD: ND APD: ND IRD: D IPD: ND - **********/ - switch ( desctype ) { - case SQL_DESC_APD: - return _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IPD: - return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_ARD: - return _SQLGetARDItemField ( ( pODBCARD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: - return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - } - - break; - - case SQL_DESC_DISPLAY_SIZE: - - /********* - SQLINTEGER - ARD: Unused APD: Unused IRD: R IPD: Unused - ARD: Unused APD: Unused IRD: D IPD: Unused - **********/ - switch ( desctype ) { - case SQL_DESC_IRD: - return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: - invalidfld = TRUE; - } - - break; - - case SQL_DESC_FIXED_PREC_SCALE: - - /********* - SQLSMALLINT - ARD: Unused APD: Unused IRD: R IPD: R - ARD: Unused APD: Unused IRD: D IPD: D[1] - *********/ - switch ( desctype ) { - case SQL_DESC_IPD: - return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: - return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: - invalidfld = TRUE; - } - - break; - - case SQL_DESC_INDICATOR_PTR: - - /********** - SQLINTEGER * - ARD: R/W APD: R/W IRD: Unused IPD: Unused - ARD: Null ptr APD: Null ptr IRD: Unused IPD: Unused - ********/ - switch ( desctype ) { - case SQL_DESC_APD: - return _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_ARD: - return _SQLGetARDItemField ( ( pODBCARD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - default: - invalidfld = TRUE; - } - - break; - - case SQL_DESC_LABEL: - - /********* - SQLCHAR * - ARD: Unused APD: Unused IRD: R IPD: Unused - ARD: Unused APD: Unused IRD: D IPD: Unused - ***********/ - switch ( desctype ) { - case SQL_DESC_IRD: - return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: - invalidfld = TRUE; - } - - break; - - case SQL_DESC_LENGTH: - - /******** - SQLUINTEGER - ARD: R/W APD: R/W IRD: R IPD: R/W - ARD: ND APD: ND IRD: D IPD: ND - ********/ - switch ( desctype ) { - case SQL_DESC_ARD: - return _SQLGetARDItemField ( ( pODBCARD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_APD: - return _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: - return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - case SQL_DESC_IPD: - return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - } - - break; - - case SQL_DESC_LITERAL_PREFIX: - - /********** - SQLCHAR* - ARD: Unused APD: Unused IRD: R IPD: Unused - ARD: Unused APD: Unused IRD: D IPD: Unused - **********/ - - // a read-only IRD field - switch ( desctype ) { - case SQL_DESC_IRD: - return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: - invalidfld = TRUE; - } - - break; - - case SQL_DESC_LITERAL_SUFFIX: - - /********** - SQLCHAR* - ARD: Unused APD: Unused IRD: R IPD: Unused - ARD: Unused APD: Unused IRD: D IPD: Unused - **********/ - switch ( desctype ) { - case SQL_DESC_IRD: - return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: - invalidfld = TRUE; - } - - break; - - case SQL_DESC_LOCAL_TYPE_NAME: - - /*********** - SQLCHAR * - ARD: Unused APD: Unused IRD: R IPD: R - ARD: Unused APD: Unused IRD: D IPD: D - ***********/ - switch ( desctype ) { - case SQL_DESC_IPD: - return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: - return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: - invalidfld = TRUE; - } - - break; - - case SQL_DESC_NAME: - - /*********** - SQLCHAR* - ARD: Unused APD: Unused IRD: R IPD: R/W - ARD: ND APD: ND IRD: D IPD: ND - *********/ - switch ( desctype ) { - case SQL_DESC_IPD: - return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: - return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: - invalidfld = TRUE; - } - - break; - - case SQL_DESC_NULLABLE: - - /********** - SQLSMALLINT - ARD: Unused APD: Unused IRD: R IPD: R - ARD: ND APD: ND IRD: D IPD: ND - ***********/ - switch ( desctype ) { - case SQL_DESC_IPD: - return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: - return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: - invalidfld = TRUE; - } - - break; - - case SQL_DESC_NUM_PREC_RADIX: - - /********* - SQLINTEGER - ARD: R/W APD: R/W IRD: R IPD: R/W - ARD: ND APD: ND IRD: D IPD: ND - ********/ - switch ( desctype ) { - case SQL_DESC_APD: - return _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IPD: - return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_ARD: - return _SQLGetARDItemField ( ( pODBCARD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: - return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - } - - break; - - case SQL_DESC_OCTET_LENGTH: - - /********** - SQLINTEGER - ARD: R/W APD: R/W IRD: R IPD: R/W - ARD: ND APD: ND IRD: D IPD: ND - *********/ - switch ( desctype ) { - case SQL_DESC_APD: - return _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IPD: - return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_ARD: - return _SQLGetARDItemField ( ( pODBCARD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: - return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - } - - break; - - case SQL_DESC_OCTET_LENGTH_PTR: - - /****** - SQLINTEGER* - ARD: R/W APD: R/W IRD: Unused IPD: Unused - ARD: Null ptr APD: Null ptr IRD: Unused IPD: Unused - *********/ - switch ( desctype ) { - case SQL_DESC_APD: - return _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_ARD: - return _SQLGetARDItemField ( ( pODBCARD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - default: - invalidfld = TRUE; - } - - break; - - case SQL_DESC_PARAMETER_TYPE: - - /********* - SQLSMALLINT - ARD: Unused APD: Unused IRD: Unused IPD: R/W - ARD: Unused APD: Unused IRD: Unused IPD: D=SQL_PARAM_INPUT - *********/ - switch ( desctype ) { - case SQL_DESC_IPD: - return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - default: - invalidfld = TRUE; - } - - break; - - case SQL_DESC_PRECISION: - - /********* - SQLSMALLINT - ARD: R/W APD: R/W IRD: R IPD: R/W - ARD: ND APD: ND IRD: D IPD: ND - ********/ - switch ( desctype ) { - case SQL_DESC_APD: - return _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IPD: - return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_ARD: - return _SQLGetARDItemField ( ( pODBCARD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: - return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - } - - break; - - case SQL_DESC_ROWVER: - - /********* - SQLSMALLINT - ARD: Unused APD: Unused IRD: R IPD: R - ARD: Unused APD: Unused IRD: ND IPD: ND - ********/ - switch ( desctype ) { - case SQL_DESC_IPD: - return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: - return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: - invalidfld = TRUE; - } - - break; - - case SQL_DESC_SCALE: - - /******** - SQLSMALLINT - ARD: R/W APD: R/W IRD: R IPD: R/W - ARD: ND APD: ND IRD: D IPD: ND - *********/ - switch ( desctype ) { - case SQL_DESC_APD: - return _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IPD: - return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_ARD: - return _SQLGetARDItemField ( ( pODBCARD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: - return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - } - - break; - - case SQL_DESC_SCHEMA_NAME: - - /********* - SQLCHAR* - ARD: Unused APD: Unused IRD: R IPD: Unused - ARD: Unused APD: Unused IRD: D IPD: Unused - ********/ - switch ( desctype ) { - case SQL_DESC_IRD: - return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: - invalidfld = TRUE; - } - - break; - - case SQL_DESC_SEARCHABLE: - - /********* - SQLCHAR* - ARD: Unused APD: Unused IRD: R IPD: Unused - ARD: Unused APD: Unused IRD: D IPD: Unused - ********/ - switch ( desctype ) { - case SQL_DESC_IRD: - return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: - invalidfld = TRUE; - } - - break; - - case SQL_DESC_TABLE_NAME: - - /******** - SQLCHAR* - ARD: Unused APD: Unused IRD: R IPD: Unused - ARD: Unused APD: Unused IRD: D IPD: Unused - ********/ - switch ( desctype ) { - case SQL_DESC_IRD: - return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: - invalidfld = TRUE; - } - - break; - - case SQL_DESC_TYPE: - - /********* - SQLSMALLINT - ARD: R/W APD: R/W IRD: R IPD: R/W - ARD: SQL_C_DEFAULT APD: SQL_C_DEFAULT IRD: D IPD: ND - *********/ - switch ( desctype ) { - case SQL_DESC_APD: - return _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IPD: - return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_ARD: - return _SQLGetARDItemField ( ( pODBCARD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: - return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - } - - break; - - case SQL_DESC_TYPE_NAME: - - /********* - SQLCHAR * - ARD: Unused APD: Unused IRD: R IPD: R - ARD: Unused APD: Unused IRD: D IPD: D - **********/ - switch ( desctype ) { - case SQL_DESC_IPD: - return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: - return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: - invalidfld = TRUE; - } - - break; - - case SQL_DESC_UNNAMED: - - /******** - SQLSMALLINT - ARD: Unused APD: Unused IRD: R IPD: R/W - ARD: ND APD: ND IRD: D IPD: ND - ********/ - switch ( desctype ) { - case SQL_DESC_IPD: - return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: - return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: - invalidfld = TRUE; - } - - break; - - case SQL_DESC_UNSIGNED: - - /********* - SQLSMALLINT - ARD: Unused APD: Unused IRD: R IPD: R - ARD: Unused APD: Unused IRD: D IPD: D - ********/ - switch ( desctype ) { - case SQL_DESC_IPD: - return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: - return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: - invalidfld = TRUE; - } - - break; - - default: - __ODBCPOPMSG ( _ODBCPopMsg ( "SQLGetDescField - Unknown field %d", pFldID ) ); - return SQL_ERROR; - } - - // check if invalid field - if ( invalidfld == TRUE ) { - __ODBCPOPMSG ( _ODBCPopMsg ( "SQLGetDescField - Invalid field %d for descriptor %d", pFldID, desctype ) ); - return SQL_ERROR; - } - - return SQL_SUCCESS; -} - - -RETCODE SQL_API SQLGetDescFieldW ( SQLHDESC pDesc, - SQLSMALLINT pRecNum, - SQLSMALLINT pFldID, - SQLPOINTER pDataPtr, - SQLINTEGER pDataSize, - SQLINTEGER* pDataSizePtr ) - -{ - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, - "SQLGetDescFieldW called, Desc: %d, Type: %d, Recnum: %d, Fld: %d, DataPtr: %d, DataSize: %d, DataSizePtr: %d", pDesc, - ( pDesc ) ? * ( ( short* ) pDesc ) : 0, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ) ); - return _SQLGetDescField_basic ( pDesc, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, false ); -} - -RETCODE SQL_API SQLGetDescField ( SQLHDESC pDesc, - SQLSMALLINT pRecNum, - SQLSMALLINT pFldID, - SQLPOINTER pDataPtr, - SQLINTEGER pDataSize, - SQLINTEGER* pDataSizePtr ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, - "SQLGetDescField called, Desc: %d, Type: %d, Recnum: %d, Fld: %d, DataPtr: %d, DataSize: %d, DataSizePtr: %d", pDesc, - ( pDesc ) ? * ( ( short* ) pDesc ) : 0, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ) ); - return _SQLGetDescField_basic ( pDesc, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, true ); -} - -// ----------------------------------------------------------------------- -// to set a single field in a desc record -// ----------------------------------------------------------------------- -RETCODE SQL_API SQLSetDescFieldW ( SQLHDESC pDesc, - SQLSMALLINT pRecNum, - SQLSMALLINT pFldID, - SQLPOINTER pDataPtr, - SQLINTEGER pDataSize ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, - "SQLSetDescFieldW called, Desc: %d, Type: %d, Recnum: %d, Fld: %d, DataPtr: %d, DataSize: %d", pDesc, - ( pDesc ) ? * ( ( short* ) pDesc ) : ( short ) pDesc, pRecNum, pFldID, pDataPtr, pDataSize ) ); - __ODBCPOPMSG ( _ODBCPopMsg ( "SQLSetDescFieldW Not implemented" ) ); - return SQL_ERROR; -} - -RETCODE SQL_API SQLSetDescField ( SQLHDESC pDesc, - SQLSMALLINT pRecNum, - SQLSMALLINT pFldID, - SQLPOINTER pDataPtr, - SQLINTEGER pDataSize ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, - "SQLSetDescField called, Desc: %d, Type: %d, Recnum: %d, Fld: %d, DataPtr: %d, DataSize: %d", pDesc, - ( pDesc ) ? * ( ( short* ) pDesc ) : ( short ) pDesc, pRecNum, pFldID, pDataPtr, pDataSize ) ); - __ODBCPOPMSG ( _ODBCPopMsg ( "SQLSetDescField Not implemented" ) ); - return SQL_ERROR; -} - - -// ----------------------------------------------------------------------- -// to get multiple fields from a desc record, at one shot -// ----------------------------------------------------------------------- - -RETCODE SQL_API SQLGetDescRec ( SQLHDESC pDesc, - SQLSMALLINT pRecNum, - SQLCHAR* pName, - SQLSMALLINT pNameSize, - SQLSMALLINT* pNameSizePtr, - SQLSMALLINT* pTypePtr, - SQLSMALLINT* pSubTypePtr, - SQLINTEGER* pLengthPtr, - SQLSMALLINT* pPrecisionPtr, - SQLSMALLINT* pScalePtr, - SQLSMALLINT* pNullablePtr ) - -{ - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLGetDescRec called Desc: %d, DescType: %d, RecNum: %d", pDesc, - pDesc ? * ( ( short* ) pDesc ) : 0, pRecNum ) ); - Word desctype; - Long i; - - // precaution - if ( pDesc == NULL ) { - __ODBCPOPMSG ( _ODBCPopMsg ( "SQLGetDescRec - invalid params" ) ); - return SQL_ERROR; - } - - // initializations - desctype = _DESCTYPE ( pDesc ); - - switch ( desctype ) { - case SQL_DESC_APD: - pAPDItem apditem; - _SQLFreeDiag ( & ( ( ( pODBCAPD ) pDesc )->Stmt->Diag ) ); - // get item from APD - apditem = _SQLGetAPDItem ( ( pODBCAPD ) pDesc, pRecNum ); - - // check if item located - if ( apditem == NULL ) { - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetDescRec - invalid APD item" ) ); - return SQL_ERROR; - } - - // get the fields - _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, apditem, pRecNum, SQL_DESC_NAME, pName, pNameSize, &i ); - *pNameSizePtr = ( Word ) i; - _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, apditem, pRecNum, SQL_DESC_TYPE, pTypePtr, -1, NULL ); - _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, apditem, pRecNum, SQL_DESC_DATETIME_INTERVAL_CODE , pSubTypePtr, -1, - NULL ); - _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, apditem, pRecNum, SQL_DESC_OCTET_LENGTH, pLengthPtr, -1, NULL ); - _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, apditem, pRecNum, SQL_DESC_PRECISION, pPrecisionPtr, -1, NULL ); - _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, apditem, pRecNum, SQL_DESC_SCALE, pScalePtr, -1, NULL ); - _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, apditem, pRecNum, SQL_DESC_NULLABLE, pNullablePtr, -1, NULL ); - break; - - case SQL_DESC_IPD: - pIPDItem ipditem; - _SQLFreeDiag ( & ( ( ( pODBCIPD ) pDesc )->Stmt->Diag ) ); - // get item from IPD - ipditem = _SQLGetIPDItem ( ( pODBCIPD ) pDesc, pRecNum ); - - // check if item located - if ( ipditem == NULL ) { - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetDescRec - invalid IPD item" ) ); - return SQL_ERROR; - } - - // set the fields - _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, ipditem, pRecNum, SQL_DESC_NAME, pName, pNameSize, &i ); - *pNameSizePtr = ( Word ) i; - _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, ipditem, pRecNum, SQL_DESC_TYPE, pTypePtr, -1, NULL ); - _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, ipditem, pRecNum, SQL_DESC_DATETIME_INTERVAL_CODE , pSubTypePtr, -1, - NULL ); - _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, ipditem, pRecNum, SQL_DESC_OCTET_LENGTH, pLengthPtr, -1, NULL ); - _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, ipditem, pRecNum, SQL_DESC_PRECISION, pPrecisionPtr, -1, NULL ); - _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, ipditem, pRecNum, SQL_DESC_SCALE, pScalePtr, -1, NULL ); - _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, ipditem, pRecNum, SQL_DESC_NULLABLE, pNullablePtr, -1, NULL ); - break; - - case SQL_DESC_ARD: - pARDItem arditem; - _SQLFreeDiag ( & ( ( ( pODBCARD ) pDesc )->Stmt->Diag ) ); - // get item from ARD - arditem = _SQLGetARDItem ( ( pODBCARD ) pDesc, pRecNum ); - - // check if item located - if ( arditem == NULL ) { - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetDescRec - invalid ARD item" ) ); - return SQL_ERROR; - } - - // get the fields - _SQLGetARDItemField ( ( pODBCARD ) pDesc, arditem, pRecNum, SQL_DESC_NAME, pName, pNameSize, &i ); - *pNameSizePtr = ( Word ) i; - _SQLGetARDItemField ( ( pODBCARD ) pDesc, arditem, pRecNum, SQL_DESC_TYPE, pTypePtr, -1, NULL ); - _SQLGetARDItemField ( ( pODBCARD ) pDesc, arditem, pRecNum, SQL_DESC_DATETIME_INTERVAL_CODE , pSubTypePtr, -1, - NULL ); - _SQLGetARDItemField ( ( pODBCARD ) pDesc, arditem, pRecNum, SQL_DESC_OCTET_LENGTH, pLengthPtr, -1, NULL ); - _SQLGetARDItemField ( ( pODBCARD ) pDesc, arditem, pRecNum, SQL_DESC_PRECISION, pPrecisionPtr, -1, NULL ); - _SQLGetARDItemField ( ( pODBCARD ) pDesc, arditem, pRecNum, SQL_DESC_SCALE, pScalePtr, -1, NULL ); - _SQLGetARDItemField ( ( pODBCARD ) pDesc, arditem, pRecNum, SQL_DESC_NULLABLE, pNullablePtr, -1, NULL ); - break; - - case SQL_DESC_IRD: - _SQLFreeDiag ( & ( ( ( pODBCIRD ) pDesc )->Stmt->Diag ) ); - - // fall thru - - default: - __ODBCPOPMSG ( _ODBCPopMsg ( "SQLSetDescRec - Invalid descriptor handle" ) ); - return SQL_ERROR; - } - - return SQL_SUCCESS; -} - - -// ----------------------------------------------------------------------- -// to set multiple fields in a desc record, at one shot -// ----------------------------------------------------------------------- - -RETCODE SQL_API SQLSetDescRec ( SQLHDESC pDesc, - SQLSMALLINT pRecNum, - SQLSMALLINT pType, - SQLSMALLINT pSubType, - SQLINTEGER pLength, - SQLSMALLINT pPrecision, - SQLSMALLINT pScale, - SQLPOINTER pDataPtr, - SQLINTEGER* pDataSizePtr, - SQLINTEGER* pDataIndPtr ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLSetDescRec called Desc: %d, DescType: %d, RecNum: %d", pDesc, - pDesc ? * ( ( short* ) pDesc ) : 0, pRecNum ) ); - __ODBCPOPMSG ( _ODBCPopMsg ( "SQLGetDescRec Not implemented" ) ); - return SQL_ERROR; -} - - -// ----------------------------------------------------------------------- -// to copy descriptor information from one descriptor handle to another -// ----------------------------------------------------------------------- - -RETCODE SQL_API SQLCopyDesc ( SQLHDESC pSrcDescHandle, - SQLHDESC pTgtDescHandle ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLCopyDesc called" ) ); - __ODBCPOPMSG ( _ODBCPopMsg ( "SQLCopyDesc not implemented" ) ); - return SQL_ERROR; -} - - -/////////////////////// TO GET A DESC ITEM - - -// ----------------------------------------------------------------------- -// to get a particular ARD item -// ----------------------------------------------------------------------- - -pARDItem _SQLGetARDItem ( const pODBCARD pDesc, Word pRecNum ) { - pARDItem i; - - // loop to see if binding for that col already exists - for ( i = pDesc->BindCols; i != NULL && i->ColNum != pRecNum; i = i->Next ); - - // return the ARD item - return i; -} - - -// ----------------------------------------------------------------------- -// to get a particular IPD item -// ----------------------------------------------------------------------- - -pAPDItem _SQLGetAPDItem ( const pODBCAPD pDesc, Word pRecNum ) { - pAPDItem i; - - // loop to see if binding for that col already exists - for ( i = pDesc->BindParams; i != NULL && i->ParamNum != pRecNum; i = i->Next ); - - // return the ARD item - return i; -} - - -// ----------------------------------------------------------------------- -// to get a particular IRD item, mhb -// ----------------------------------------------------------------------- - -pIRDItem _SQLGetIRDItem ( const pODBCIRD pDesc, Word pRecNum ) { - // check if descriptor is valid - if ( pDesc == NULL || pDesc->RowDesc == NULL ) - { return NULL; } - - return pDesc->RowDesc->columnMetas.at ( pRecNum - 1 ); -} - - -// ----------------------------------------------------------------------- -// to get a particular IPD item -// ----------------------------------------------------------------------- - -pIPDItem _SQLGetIPDItem ( const pODBCIPD pDesc, Word pRecNum ) { - pIPDItem i; - - // loop to see if binding for that col already exists - for ( i = pDesc->BindParams; i != NULL && i->ParamNum != pRecNum; i = i->Next ); - - // return the ARD item - return i; -} - - - -/////////////////////// DEFAULTS - - -// ----------------------------------------------------------------------- -// to set default values of APD header -// ----------------------------------------------------------------------- - -eGoodBad _SQLSetAPDFieldsDefault ( pODBCAPD pDesc, const pODBCStmt pStmt ) { - // reset all - memset ( pDesc, 0, sizeof ( ODBCAPD ) ); - // set explicit defaults - pDesc->Sign = SQL_DESC_APD; - pDesc->Stmt = pStmt; - pDesc->AllocType = SQL_DESC_ALLOC_AUTO; - pDesc->RowArraySize = 1; - pDesc->BindTypeOrSize = SQL_BIND_BY_COLUMN; - return GOOD; -} - -// ----------------------------------------------------------------------- -// to set default values of APD item -// ----------------------------------------------------------------------- - -eGoodBad _SQLSetAPDItemFieldsDefault ( pAPDItem pDescItem ) { - // reset all - memset ( pDescItem, 0, sizeof ( APDItem ) ); - // set explicit defaults - pDescItem->DataConciseType = SQL_C_DEFAULT; - pDescItem->DataVerboseType = SQL_C_DEFAULT; - return GOOD; -} - -// ----------------------------------------------------------------------- -// to set default values of IPD header -// ----------------------------------------------------------------------- - -eGoodBad _SQLSetIPDFieldsDefault ( pODBCIPD pDesc, const pODBCStmt pStmt ) { - // reset all - memset ( pDesc, 0, sizeof ( ODBCIPD ) ); - // set explicit defaults - pDesc->Sign = SQL_DESC_IPD; - pDesc->Stmt = pStmt; - return GOOD; -} - -// ----------------------------------------------------------------------- -// to set default values of IPD item -// ----------------------------------------------------------------------- - -eGoodBad _SQLSetIPDItemFieldsDefault ( pIPDItem pDescItem ) { - // reset all - memset ( pDescItem, 0, sizeof ( IPDItem ) ); - // set explicit defaults - pDescItem->ParamType = SQL_PARAM_INPUT; - pDescItem->DataConciseType = SQL_DEFAULT; - pDescItem->DataVerboseType = SQL_DEFAULT; - return GOOD; -} - -// ----------------------------------------------------------------------- -// to set default values of ARD header -// ----------------------------------------------------------------------- - -eGoodBad _SQLSetARDFieldsDefault ( pODBCARD pDesc, const pODBCStmt pStmt ) { - // reset all - memset ( pDesc, 0, sizeof ( ODBCARD ) ); - // set explicit defaults - pDesc->Sign = SQL_DESC_ARD; - pDesc->Stmt = pStmt; - pDesc->AllocType = SQL_DESC_ALLOC_AUTO; - pDesc->RowArraySize = 1; - pDesc->BindTypeOrSize = SQL_BIND_BY_COLUMN; - return GOOD; -} - -// ----------------------------------------------------------------------- -// to set default values of ARD item -// ----------------------------------------------------------------------- - -eGoodBad _SQLSetARDItemFieldsDefault ( pARDItem pDescItem, Word pRecNum ) { - // reset - memset ( pDescItem, 0, sizeof ( ARDItem ) ); - // set explicit defaults - pDescItem->ColNum = pRecNum; - pDescItem->DataConciseType = SQL_C_DEFAULT; - pDescItem->DataVerboseType = SQL_C_DEFAULT; - return GOOD; -} - - -// ----------------------------------------------------------------------- -// to set default values of IRD header -// ----------------------------------------------------------------------- - -eGoodBad _SQLSetIRDFieldsDefault ( pODBCIRD pDesc, const pODBCStmt pStmt ) { - // reset all - memset ( pDesc, 0, sizeof ( ODBCIRD ) ); - // set explicit defaults - pDesc->Sign = SQL_DESC_IRD; - pDesc->Stmt = pStmt; - return GOOD; -} - -// ----------------------------------------------------------------------- -// to set default values of IRD item -// ----------------------------------------------------------------------- - -eGoodBad _SQLSetIRDItemFieldsDefault ( pIRDItem pDescItem ) { - return GOOD; -} - - -//////////////////////// GET AND SET FIELD VALUES - -/////////////////////// APD - -// ----------------------------------------------------------------------- -// to set a field value in APD -// ----------------------------------------------------------------------- - -RETCODE SQL_API _SQLSetAPDField ( pODBCAPD pDesc, Word pFldID, const void* pDataPtr, Long pDataSize ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "_SQLSetAPDField called, pDesc: %d, Fld: %d, DataPtr: %d, DataSize: %d", - pDesc, pFldID, pDataPtr, pDataSize ) ); - - // precaution - if ( pDesc == NULL ) { - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetAPDField - invalid params" ) ); - return SQL_ERROR; - } - - switch ( pFldID ) { - case SQL_DESC_ARRAY_SIZE: - pDesc->RowArraySize = ( ULong ) pDataPtr; - break; - - case SQL_DESC_ARRAY_STATUS_PTR: - pDesc->ArrayStatusPtr = ( UWord* ) pDataPtr; - break; - - case SQL_DESC_BIND_OFFSET_PTR: - pDesc->BindOffsetPtr = ( Long* ) pDataPtr; - break; - - case SQL_DESC_BIND_TYPE: - pDesc->BindTypeOrSize = ( Long ) pDataPtr; - break; - - case SQL_DESC_COUNT: - // ???? requires that all descriptors which r above the specified - // value are freed - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetAPDField - SQL_DESC_COUNT not implemented" ) ); - return SQL_ERROR; - break; - - default: - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetAPDField - unknown field (%d)", pFldID ) ); - return SQL_ERROR; - break; - } - - return SQL_SUCCESS; -} - -// ----------------------------------------------------------------------- -// to set a field value in APD item -// ----------------------------------------------------------------------- - -RETCODE SQL_API _SQLSetAPDItemField ( pODBCAPD pDesc, pAPDItem pDescItem, Word pRecNum, Word pFldID, - const void* pDataPtr, Long pDataSize ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, - "_SQLSetAPDItemField called, pDesc: %d, pDescItem: %d, Recnum: %d, Fld: %d, DataPtr: %d, DataSize: %d", pDesc, - pDescItem, pRecNum, pFldID, pDataPtr, pDataSize ) ); - pAPDItem item; - - // precaution - if ( pDesc == NULL ) { - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetAPDItemField - invalid params" ) ); - return SQL_ERROR; - } - - // check if item has not been explicitly specified - if ( pDescItem == NULL ) { - // get item from APD - item = _SQLGetAPDItem ( pDesc, pRecNum ); - - // check if item located - if ( item == NULL ) { - // as a patch for SQL server it is temporarily ignoring the error - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "_SQLSetAPDItemField - invalid item" ) ); - return SQL_SUCCESS; - /////////// actual action is as follows ///////// - //__ODBCPOPMSG(_ODBCPopMsg("_SQLGetAPDItemField - invalid item")); - //return SQL_ERROR; - ///////////////////////////////////////////////// - } - } - - else - { item = pDescItem; } - - // as per required field - switch ( pFldID ) { - case SQL_DESC_CONCISE_TYPE: - _SQLSetDataType ( & ( pDesc->Stmt->Diag ), SQL_DESC_CONCISE_TYPE, ( Word ) pDataPtr, & ( item->DataVerboseType ), - & ( item->DataConciseType ), & ( item->DateTimeIntervalCode ) ); - break; - - case SQL_DESC_DATA_PTR: - item->DataPtr = ( void* ) pDataPtr; - break; - - case SQL_DESC_DATETIME_INTERVAL_CODE: - _SQLSetDataType ( & ( pDesc->Stmt->Diag ), SQL_DESC_DATETIME_INTERVAL_CODE, ( Word ) pDataPtr, - & ( item->DataVerboseType ), & ( item->DataConciseType ), & ( item->DateTimeIntervalCode ) ); - break; - - case SQL_DESC_DATETIME_INTERVAL_PRECISION: - item->DateTimeIntervalPrec = ( Long ) pDataPtr; - break; - - case SQL_DESC_INDICATOR_PTR: - item->SizeIndPtr = ( Long* ) pDataPtr; - break; - - case SQL_DESC_LENGTH: - case SQL_DESC_OCTET_LENGTH: - item->DataSize = ( Long ) pDataPtr; - break; - - case SQL_DESC_NUM_PREC_RADIX: - item->NumPrecRadix = ( Long ) pDataPtr; - break; - - case SQL_DESC_OCTET_LENGTH_PTR: - item->SizePtr = ( Long* ) pDataPtr; - break; - - case SQL_DESC_PRECISION: - item->DataSize = ( Word ) pDataPtr; - break; - - case SQL_DESC_SCALE: - item->Scale = ( Word ) pDataPtr; - break; - - case SQL_DESC_TYPE: - _SQLSetDataType ( & ( pDesc->Stmt->Diag ), SQL_DESC_TYPE, ( Word ) pDataPtr, & ( item->DataVerboseType ), - & ( item->DataConciseType ), & ( item->DateTimeIntervalCode ) ); - break; - - default: - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetAPDItemField - unknown field (%d)", pFldID ) ); - return SQL_ERROR; - break; - } - - return SQL_SUCCESS; -} - -// ----------------------------------------------------------------------- -// to get a field value from APD -// ----------------------------------------------------------------------- - -RETCODE SQL_API _SQLGetAPDField ( const pODBCAPD pDesc, Word pFldID, void* pDataPtr, Long pDataSize, - Long* pDataSizePtr ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, - "_SQLGetAPDField called, pDesc: %d, Fld: %d, DataPtr: %d, DataSize: %d, DataSizePtr: %d", pDesc, pFldID, pDataPtr, - pDataSize, pDataSizePtr ) ); - - // precaution - if ( pDesc == NULL || pDataPtr == NULL ) { - __ODBCPOPMSG ( _ODBCPopMsg ( "SQLGetAPDField - invalid params" ) ); - return SQL_ERROR; - } - - // as per required field - switch ( pFldID ) { - case SQL_DESC_ALLOC_TYPE: - * ( ( Word* ) pDataPtr ) = pDesc->AllocType; - break; - - case SQL_DESC_ARRAY_SIZE: - * ( ( ULong* ) pDataPtr ) = pDesc->RowArraySize; - break; - - case SQL_DESC_ARRAY_STATUS_PTR: - * ( ( UWord** ) pDataPtr ) = pDesc->ArrayStatusPtr; - break; - - case SQL_DESC_BIND_OFFSET_PTR: - * ( ( Long** ) pDataPtr ) = pDesc->BindOffsetPtr; - break; - - case SQL_DESC_BIND_TYPE: - * ( ( Long* ) pDataPtr ) = pDesc->BindTypeOrSize; - break; - - case SQL_DESC_COUNT: - * ( ( Word* ) pDataPtr ) = pDesc->DescCount; - break; - - default: - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetAPDField - unknown field (%d)", pFldID ) ); - return SQL_ERROR; - break; - } - - return SQL_SUCCESS; -} - -// ----------------------------------------------------------------------- -// to get a field value from an APD item -// ----------------------------------------------------------------------- - -RETCODE SQL_API _SQLGetAPDItemField ( const pODBCAPD pDesc, const pAPDItem pDescItem, Word pRecNum, - Word pFldID, void* pDataPtr, Long pDataSize, Long* pDataSizePtr ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, - "_SQLGetAPDItemField called, pDesc: %d, pDescItem: %d, Recnum: %d, Fld: %d, DataPtr: %d, DataSize: %d, DataSizePtr: %d", - pDesc, pDescItem, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ) ); - pAPDItem item; - - // precaution - if ( pDesc == NULL || pDataPtr == NULL ) { - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetAPDItemField - invalid params" ) ); - return SQL_ERROR; - } - - // check if item has not been specified directly - if ( pDescItem == NULL ) { - // get item from IPD - item = _SQLGetAPDItem ( pDesc, pRecNum ); - - // check if item located - if ( item == NULL ) { - // as a patch fro SQL server it is temporarily ignoring the error - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "_SQLGetAPDItemField - invalid item" ) ); - return SQL_SUCCESS; - /////////// actual action is as follows ///////// - //__ODBCPOPMSG(_ODBCPopMsg("_SQLGetAPDItemField - invalid item")); - //return SQL_ERROR; - ///////////////////////////////////////////////// - } - } - - else - { item = pDescItem; } - - // as per required field - switch ( pFldID ) { - case SQL_DESC_CONCISE_TYPE: - * ( ( Word* ) pDataPtr ) = item->DataConciseType; - break; - - case SQL_DESC_DATA_PTR: - * ( ( Long* ) pDataPtr ) = ( Long ) ( item->DataPtr ); - break; - - case SQL_DESC_DATETIME_INTERVAL_CODE: - * ( ( Word* ) pDataPtr ) = item->DateTimeIntervalCode; - break; - - case SQL_DESC_DATETIME_INTERVAL_PRECISION: - * ( ( Long* ) pDataPtr ) = item->DateTimeIntervalPrec; - break; - - case SQL_DESC_INDICATOR_PTR: - * ( ( Long** ) pDataPtr ) = item->SizeIndPtr; - break; - - case SQL_DESC_LENGTH: - case SQL_DESC_OCTET_LENGTH: - * ( ( Long* ) pDataPtr ) = item->DataSize; - break; - - case SQL_DESC_NUM_PREC_RADIX: - * ( ( Long* ) pDataPtr ) = item->NumPrecRadix; - break; - - case SQL_DESC_OCTET_LENGTH_PTR: - * ( ( Long** ) pDataPtr ) = item->SizePtr; - break; - - case SQL_DESC_PRECISION: - * ( ( Word* ) pDataPtr ) = ( Word ) ( item->DataSize ); - break; - - case SQL_DESC_SCALE: - * ( ( Word* ) pDataPtr ) = ( Word ) ( item->Scale ); - break; - - case SQL_DESC_TYPE: - * ( ( Word* ) pDataPtr ) = item->DataVerboseType; - break; - - default: - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetAPDItemField - unknown field (%d)", pFldID ) ); - return SQL_ERROR; - break; - } - - return SQL_SUCCESS; -} - - - -/////////////////////// IPD - - -// ----------------------------------------------------------------------- -// to set a field value in IPD -// ----------------------------------------------------------------------- - -RETCODE SQL_API _SQLSetIPDField ( pODBCIPD pDesc, Word pFldID, const void* pDataPtr, Long pDataSize ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "_SQLSetIPDField called, pDesc: %d, Fld: %d, DataPtr: %d, DataSize: %d", - pDesc, pFldID, pDataPtr, pDataSize ) ); - - // precaution - if ( pDesc == NULL ) { - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetIPDField - invalid params" ) ); - return SQL_ERROR; - } - - // as per required field - switch ( pFldID ) { - case SQL_DESC_ALLOC_TYPE: - // assumes automatic alloc by driver as appl alloc - // is not allowed as of now - break; - - case SQL_DESC_ARRAY_STATUS_PTR: - pDesc->ArrayStatusPtr = ( UWord* ) pDataPtr; - break; - - case SQL_DESC_COUNT: - // ???? requires that all descriptors which r above the specified - // value are freed. not implemented as of now - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetIPDField - SQL_DESC_COUNT not implemented" ) ); - return SQL_ERROR; - break; - - case SQL_DESC_ROWS_PROCESSED_PTR: - pDesc->RowsProcessedPtr = ( ULong* ) pDataPtr; - break; - - default: - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetIPDField - unknown field (%d)", pFldID ) ); - return SQL_ERROR; - break; - } - - return SQL_SUCCESS; -} - -// ----------------------------------------------------------------------- -// to set a field value in IPD item -// ----------------------------------------------------------------------- - -RETCODE SQL_API _SQLSetIPDItemField ( pODBCIPD pDesc, pIPDItem pDescItem, Word pRecNum, Word pFldID, - const void* pDataPtr, Long pDataSize ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, - "_SQLSetIPDItemField called, pDesc: %d, pDescItem: %d, Recnum: %d, Fld: %d, DataPtr: %d, DataSize: %d", pDesc, - pDescItem, pRecNum, pFldID, pDataPtr, pDataSize ) ); - pIPDItem item; - - // precaution - if ( pDesc == NULL ) { - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetIPDItemField - invalid params" ) ); - return SQL_ERROR; - } - - // check if item has not been specified directly - if ( pDescItem == NULL ) { - // get item from IRD - item = _SQLGetIPDItem ( pDesc, pRecNum ); - - // check if item located - if ( item == NULL ) { - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetIPDItemField - invalid item" ) ); - return SQL_ERROR; - } - } - - else - { item = pDescItem; } - - // as per required field - switch ( pFldID ) { - case SQL_DESC_CONCISE_TYPE: - _SQLSetDataType ( & ( pDesc->Stmt->Diag ), SQL_DESC_CONCISE_TYPE, ( Word ) pDataPtr, & ( item->DataVerboseType ), - & ( item->DataConciseType ), & ( item->DateTimeIntervalCode ) ); - break; - - case SQL_DESC_DATETIME_INTERVAL_CODE: - _SQLSetDataType ( & ( pDesc->Stmt->Diag ), SQL_DESC_DATETIME_INTERVAL_CODE, ( Word ) pDataPtr, - & ( item->DataVerboseType ), & ( item->DataConciseType ), & ( item->DateTimeIntervalCode ) ); - break; - - case SQL_DESC_DATETIME_INTERVAL_PRECISION: - item->DateTimeIntervalPrec = ( Long ) pDataPtr; - break; - - case SQL_DESC_LENGTH: - case SQL_DESC_OCTET_LENGTH: - item->DataSize = ( Long ) pDataPtr; - break; - - case SQL_DESC_NAME: - if ( pDataPtr && strlen ( ( Char* ) pDataPtr ) <= 32 ) - { strcpy ( item->ParamName, ( Char* ) pDataPtr ); } - - else - { item->ParamName[0] = 0; } - - case SQL_DESC_NUM_PREC_RADIX: - item->NumPrecRadix = ( Long ) pDataPtr; - break; - - case SQL_DESC_PARAMETER_TYPE: - item->ParamType = ( Word ) pDataPtr; - break; - - case SQL_DESC_PRECISION: - item->DataSize = ( Word ) pDataPtr; - break; - - case SQL_DESC_SCALE: - item->Scale = ( Word ) pDataPtr; - break; - - case SQL_DESC_TYPE: - _SQLSetDataType ( & ( pDesc->Stmt->Diag ), SQL_DESC_TYPE, ( Word ) pDataPtr, & ( item->DataVerboseType ), - & ( item->DataConciseType ), & ( item->DateTimeIntervalCode ) ); - break; - - case SQL_DESC_UNNAMED: - // dummy, is related to SQL_DESC_NAME - break; - - default: - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetIPDItemField - unknown field (%d)", pFldID ) ); - return SQL_ERROR; - break; - } - - return SQL_SUCCESS; -} - -// ----------------------------------------------------------------------- -// to get a field value from IPD -// ----------------------------------------------------------------------- - -RETCODE SQL_API _SQLGetIPDField ( const pODBCIPD pDesc, Word pFldID, void* pDataPtr, Long pDataSize, - Long* pDataSizePtr ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, - "_SQLGetIPDField called, pDesc: %d, Fld: %d, DataPtr: %d, DataSize: %d, DataSizePtr: %d", pDesc, pFldID, pDataPtr, - pDataSize, pDataSizePtr ) ); - - // precaution - if ( pDesc == NULL || pDataPtr == NULL ) { - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetIPDField - invalid params" ) ); - return SQL_ERROR; - } - - // as per required field - switch ( pFldID ) { - case SQL_DESC_ALLOC_TYPE: - * ( ( Word* ) pDataPtr ) = SQL_DESC_ALLOC_AUTO; - break; - - case SQL_DESC_ARRAY_STATUS_PTR: - * ( ( UWord** ) pDataPtr ) = pDesc->ArrayStatusPtr; - break; - - case SQL_DESC_COUNT: - * ( ( Word* ) pDataPtr ) = pDesc->DescCount; - break; - - case SQL_DESC_ROWS_PROCESSED_PTR: - * ( ( ULong** ) pDataPtr ) = pDesc->RowsProcessedPtr; - break; - - default: - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetIPDField - unknown field (%d)", pFldID ) ); - return SQL_ERROR; - break; - } - - return SQL_SUCCESS; -} - - -// ----------------------------------------------------------------------- -// to get a field value from an IPD item -// ----------------------------------------------------------------------- - -RETCODE SQL_API _SQLGetIPDItemField ( const pODBCIPD pDesc, const pIPDItem pDescItem, Word pRecNum, - Word pFldID, void* pDataPtr, Long pDataSize, Long* pDataSizePtr ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, - "_SQLGetIPDItemField called, pDesc: %d, pDescItem: %d, Recnum: %d, Fld: %d, DataPtr: %d, DataSize: %d, DataSizePtr: %d", - pDesc, pDescItem, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ) ); - pIPDItem item; - - // precaution - if ( pDesc == NULL || pDataPtr == NULL ) { - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetIPDItemField - invalid params" ) ); - return SQL_ERROR; - } - - // check if item has not been specified directly - if ( pDescItem == NULL ) { - // get item from IPD - item = _SQLGetIPDItem ( pDesc, pRecNum ); - - // check if item located - if ( item == NULL ) { - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetIPDItemField - invalid item" ) ); - return SQL_ERROR; - } - } - - else - { item = pDescItem; } - - // as per required field - switch ( pFldID ) { - case SQL_DESC_CASE_SENSITIVE: - * ( ( Long* ) pDataPtr ) = SQL_FALSE; // whether a param is case-sensitive - break; - - case SQL_DESC_CONCISE_TYPE: - * ( ( Word* ) pDataPtr ) = item->DataConciseType; - break; - - case SQL_DESC_DATETIME_INTERVAL_CODE: - * ( ( Word* ) pDataPtr ) = item->DateTimeIntervalCode; - break; - - case SQL_DESC_DATETIME_INTERVAL_PRECISION: - * ( ( Long* ) pDataPtr ) = item->DateTimeIntervalPrec; - break; - - case SQL_DESC_FIXED_PREC_SCALE: - * ( ( Word* ) pDataPtr ) = item->FixedPrecScale; - break; - - case SQL_DESC_LENGTH: - case SQL_DESC_OCTET_LENGTH: - * ( ( Long* ) pDataPtr ) = item->DataSize; - break; - - case SQL_DESC_TYPE_NAME: - case SQL_DESC_LOCAL_TYPE_NAME: - // ???? there is no param type string defined in IPD as of now - _SQLCopyCharData ( _DIAGSTMT ( pDesc->Stmt ), pDataPtr, pDataSize, pDataSizePtr, 16, "", -1 ); - break; - - case SQL_DESC_NAME: - _SQLCopyCharData ( _DIAGSTMT ( pDesc->Stmt ), pDataPtr, pDataSize, pDataSizePtr, 16, item->ParamName, -1 ); - break; - - case SQL_DESC_NULLABLE: - * ( ( Word* ) pDataPtr ) = item->Nullable; - break; - - case SQL_DESC_NUM_PREC_RADIX: - * ( ( Long* ) pDataPtr ) = item->NumPrecRadix; - break; - - case SQL_DESC_PARAMETER_TYPE: - * ( ( Word* ) pDataPtr ) = item->ParamType; - break; - - case SQL_DESC_PRECISION: - * ( ( Word* ) pDataPtr ) = ( Word ) ( item->DataSize ); - break; - - case SQL_DESC_ROWVER: - * ( ( Word* ) pDataPtr ) = SQL_FALSE; // assumes that all cols r not auto-updating - break; - - case SQL_DESC_SCALE: - * ( ( Word* ) pDataPtr ) = item->Scale; - break; - - case SQL_DESC_TYPE: - * ( ( Word* ) pDataPtr ) = item->DataVerboseType; - break; - - case SQL_DESC_UNNAMED: - * ( ( Word* ) pDataPtr ) = SQL_NAMED; - break; - - case SQL_DESC_UNSIGNED: - * ( ( Word* ) pDataPtr ) = SQL_FALSE; - break; - - default: - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetIPDItemField - unknown field (%d)", pFldID ) ); - return SQL_ERROR; - break; - } - - return SQL_SUCCESS; -} - - - - -/////////////////////// ARD - -// ----------------------------------------------------------------------- -// to set a field value in ARD header -// ----------------------------------------------------------------------- - -RETCODE SQL_API _SQLSetARDField ( pODBCARD pDesc, Word pFldID, const void* pDataPtr, Long pDataSize ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "_SQLSetARDField called, pDesc: %d, Fld: %d, DataPtr: %d, DataSize: %d", - pDesc, pFldID, pDataPtr, pDataSize ) ); - - // precaution - if ( pDesc == NULL ) { - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetARDField - invalid params" ) ); - return SQL_ERROR; - } - - // as per required field - switch ( pFldID ) { - case SQL_DESC_ARRAY_SIZE: - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "ARD RowArraySize is set to %d", ( ULong ) pDataPtr ) ); - pDesc->RowArraySize = ( ULong ) pDataPtr; - break; - - case SQL_DESC_ARRAY_STATUS_PTR: - pDesc->ArrayStatusPtr = ( UWord* ) pDataPtr; - break; - - case SQL_DESC_BIND_OFFSET_PTR: - pDesc->BindOffsetPtr = ( Long* ) pDataPtr; - break; - - case SQL_DESC_BIND_TYPE: - pDesc->BindTypeOrSize = ( Long ) pDataPtr; - break; - - case SQL_DESC_COUNT: - // ???? requires that all descriptors which r above the specified - // value are freed - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetARDField - SQL_DESC_COUNT not implemented" ) ); - return SQL_ERROR; - break; - - default: - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetARDField - unknown field (%d)", pFldID ) ); - return SQL_ERROR; - break; - } - - return SQL_SUCCESS; -} - - -// ----------------------------------------------------------------------- -// to set a field value in ARD item -// ----------------------------------------------------------------------- - -RETCODE SQL_API _SQLSetARDItemField ( pODBCARD pDesc, pARDItem pDescItem, Word pRecNum, Word pFldID, - const void* pDataPtr, Long pDataSize ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, - "_SQLSetARDItemField called, pDesc: %d, pDescItem: %d, Recnum: %d, Fld: %d, DataPtr: %d, DataSize: %d", pDesc, - pDescItem, pRecNum, pFldID, pDataPtr, pDataSize ) ); - pARDItem item; - - // precaution - if ( pDesc == NULL ) { - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetARDItemField - invalid params" ) ); - return SQL_ERROR; - } - - // check if item has not been specified directly - if ( pDescItem == NULL ) { - // get item from ARD - item = _SQLGetARDItem ( pDesc, pRecNum ); - - // check if item located - if ( item == NULL ) { - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetARDItemField - invalid item" ) ); - return SQL_ERROR; - } - } - - else - { item = pDescItem; } - - // as per required field - switch ( pFldID ) { - case SQL_DESC_CONCISE_TYPE: - _SQLSetDataType ( & ( pDesc->Stmt->Diag ), SQL_DESC_CONCISE_TYPE, ( Word ) pDataPtr, & ( item->DataVerboseType ), - & ( item->DataConciseType ), & ( item->DateTimeIntervalCode ) ); - break; - - case SQL_DESC_DATA_PTR: - item->DataPtr = ( void* ) pDataPtr; - break; - - case SQL_DESC_DATETIME_INTERVAL_CODE: - _SQLSetDataType ( & ( pDesc->Stmt->Diag ), SQL_DESC_DATETIME_INTERVAL_CODE, ( Word ) pDataPtr, - & ( item->DataVerboseType ), & ( item->DataConciseType ), & ( item->DateTimeIntervalCode ) ); - break; - - case SQL_DESC_DATETIME_INTERVAL_PRECISION: - item->DateTimeIntervalPrec = ( Long ) pDataPtr; - break; - - case SQL_DESC_INDICATOR_PTR: - item->SizeIndPtr = ( Long* ) pDataPtr; - break; - - case SQL_DESC_LENGTH: - case SQL_DESC_OCTET_LENGTH: - item->DataSize = ( Long ) pDataPtr; - break; - - case SQL_DESC_NUM_PREC_RADIX: - item->NumPrecRadix = ( Long ) pDataPtr; - break; - - case SQL_DESC_OCTET_LENGTH_PTR: // 1004 - item->SizePtr = ( Long* ) pDataPtr; - break; - - case SQL_DESC_PRECISION: - item->DataSize = ( Word ) pDataPtr; // bytes required for numeric type - break; - - case SQL_DESC_SCALE: - item->Scale = ( Word ) pDataPtr; - break; - - case SQL_DESC_TYPE: - _SQLSetDataType ( & ( pDesc->Stmt->Diag ), SQL_DESC_TYPE, ( Word ) pDataPtr, & ( item->DataVerboseType ), - & ( item->DataConciseType ), & ( item->DateTimeIntervalCode ) ); - break; - - default: - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetARDItemField - unknown field (%d)", pFldID ) ); - return SQL_ERROR; - break; - } - - return SQL_SUCCESS; -} - - -// ----------------------------------------------------------------------- -// to get a field value from ARD -// ----------------------------------------------------------------------- - -RETCODE SQL_API _SQLGetARDField ( const pODBCARD pDesc, Word pFldID, void* pDataPtr, Long pDataSize, - Long* pDataSizePtr ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, - "_SQLGetARDField called, pDesc: %d, Fld: %d, DataPtr: %d, DataSize: %d, DataSizePtr: %d", pDesc, pFldID, pDataPtr, - pDataSize, pDataSizePtr ) ); - - // precaution - if ( pDesc == NULL || pDataPtr == NULL ) { - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetARDField - invalid params" ) ); - return SQL_ERROR; - } - - // as per required field - switch ( pFldID ) { - case SQL_DESC_ALLOC_TYPE: - * ( ( Word* ) pDataPtr ) = pDesc->AllocType; - break; - - case SQL_DESC_ARRAY_SIZE: - * ( ( ULong* ) pDataPtr ) = pDesc->RowArraySize; - break; - - case SQL_DESC_ARRAY_STATUS_PTR: - * ( ( UWord** ) pDataPtr ) = pDesc->ArrayStatusPtr; - break; - - case SQL_DESC_BIND_OFFSET_PTR: - * ( ( Long** ) pDataPtr ) = pDesc->BindOffsetPtr; - break; - - case SQL_DESC_BIND_TYPE: - * ( ( Long* ) pDataPtr ) = pDesc->BindTypeOrSize; - break; - - case SQL_DESC_COUNT: - * ( ( Word* ) pDataPtr ) = pDesc->DescCount; - break; - - default: - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetARDField - unknown field (%d)", pFldID ) ); - return SQL_ERROR; - break; - } - - return SQL_SUCCESS; -} - - -// ----------------------------------------------------------------------- -// to get a field value from an ARD item -// ----------------------------------------------------------------------- - -RETCODE SQL_API _SQLGetARDItemField ( const pODBCARD pDesc, const pARDItem pDescItem, Word pRecNum, - Word pFldID, void* pDataPtr, Long pDataSize, Long* pDataSizePtr ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, - "_SQLGetIPDItemField called, pDesc: %d, pDescItem: %d, Recnum: %d, Fld: %d, DataPtr: %d, DataSize: %d, DataSizePtr: %d", - pDesc, pDescItem, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ) ); - pARDItem item; - - // precaution - if ( pDesc == NULL || pDataPtr == NULL ) { - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetARDItemField - invalid params" ) ); - return SQL_ERROR; - } - - // check if item has not been specified directly - if ( pDescItem == NULL ) { - // get item from ARD - item = _SQLGetARDItem ( pDesc, pRecNum ); - - // check if item located - if ( item == NULL ) { - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetARDField - invalid item" ) ); - return SQL_ERROR; - } - } - - else - { item = pDescItem; } - - // as per required field - switch ( pFldID ) { - case SQL_DESC_CONCISE_TYPE: - * ( ( Word* ) pDataPtr ) = item->DataConciseType; - break; - - case SQL_DESC_DATA_PTR: - * ( ( Long* ) pDataPtr ) = ( Long ) ( item->DataPtr ); - break; - - case SQL_DESC_DATETIME_INTERVAL_CODE: - * ( ( Word* ) pDataPtr ) = item->DateTimeIntervalCode; - break; - - case SQL_DESC_DATETIME_INTERVAL_PRECISION: - * ( ( Long* ) pDataPtr ) = item->DateTimeIntervalPrec; - break; - - case SQL_DESC_INDICATOR_PTR: - * ( ( Long** ) pDataPtr ) = item->SizeIndPtr; - break; - - case SQL_DESC_LENGTH: - case SQL_DESC_OCTET_LENGTH: - * ( ( Long* ) pDataPtr ) = item->DataSize; - break; - - case SQL_DESC_NUM_PREC_RADIX: - * ( ( Long* ) pDataPtr ) = item->NumPrecRadix; - break; - - case SQL_DESC_OCTET_LENGTH_PTR: - * ( ( Long** ) pDataPtr ) = item->SizePtr; - break; - - case SQL_DESC_PRECISION: - * ( ( Word* ) pDataPtr ) = ( Word ) ( item->DataSize ); - break; - - case SQL_DESC_SCALE: - * ( ( Word* ) pDataPtr ) = ( Word ) ( item->Scale ); - break; - - case SQL_DESC_TYPE: - * ( ( Word* ) pDataPtr ) = item->DataVerboseType; - break; - - default: - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetARDItemField - unknown field (%d)", pFldID ) ); - return SQL_ERROR; - break; - } - - return SQL_SUCCESS; -} - - - -/////////////////////// IRD - - -// ----------------------------------------------------------------------- -// to set a field value in IRD item -// ----------------------------------------------------------------------- - -RETCODE SQL_API _SQLSetIRDField ( pODBCIRD pDesc, Word pFldID, const void* pDataPtr, Long pDataSize ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "_SQLSetIRDField called, pDesc: %d, Fld: %d, DataPtr: %d, DataSize: %d", - pDesc, pFldID, pDataPtr, pDataSize ) ); - - // precaution - if ( pDesc == NULL ) { - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetIRDField - invalid params" ) ); - return SQL_ERROR; - } - - // as per required field - switch ( pFldID ) { - case SQL_DESC_ARRAY_STATUS_PTR: - pDesc->ArrayStatusPtr = ( UWord* ) pDataPtr; - break; - - case SQL_DESC_ROWS_PROCESSED_PTR: - pDesc->RowsProcessedPtr = ( ULong* ) pDataPtr; - break; - - default: - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetIRDField - unknown field (%d)", pFldID ) ); - return SQL_ERROR; - break; - } - - return SQL_SUCCESS; -} - -/********** - // ----------------------------------------------------------------------- - // to set a field value in IRD item - // ----------------------------------------------------------------------- - - RETCODE SQL_API _SQLSetIRDItemField ( pODBCIRD pDesc, pIRDItem pDescItem, Word pRecNum, Word pFldID, const void* pDataPtr, Long pDataSize ) - { - __ODBCPOPMSG(_ODBCPopMsg("_SQLSetIRDItemField - unknown field (%d)", pFldID)); - - return SQL_SUCCESS; - } -**********/ - -// ----------------------------------------------------------------------- -// to get a field value from IRD -// ----------------------------------------------------------------------- - -RETCODE SQL_API _SQLGetIRDField ( const pODBCIRD pDesc, Word pFldID, void* pDataPtr, Long pDataSize, - Long* pDataSizePtr ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, - "_SQLGetIRDField called, pDesc: %d, Fld: %d, DataPtr: %d, DataSize: %d, DataSizePtr: %d", pDesc, pFldID, pDataPtr, - pDataSize, pDataSizePtr ) ); - - // precaution - if ( pDesc == NULL || pDataPtr == NULL ) { - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetIRDField - invalid params" ) ); - return SQL_ERROR; - } - - // as per required field - switch ( pFldID ) { - case SQL_DESC_ALLOC_TYPE: - * ( ( Word* ) pDataPtr ) = SQL_DESC_ALLOC_AUTO; - break; - - case SQL_DESC_ARRAY_STATUS_PTR: - * ( ( UWord** ) pDataPtr ) = pDesc->ArrayStatusPtr; - break; - - case SQL_DESC_COUNT: - * ( ( Word* ) pDataPtr ) = pDesc->DescCount; - break; - - case SQL_DESC_ROWS_PROCESSED_PTR: - * ( ( ULong** ) pDataPtr ) = pDesc->RowsProcessedPtr; - break; - - default: - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetIRDField - unknown field (%d)", pFldID ) ); - return SQL_ERROR; - break; - } - - return SQL_SUCCESS; -} - -static bool isApproximateNumerical ( int type ) { - //According to this article: - //Data Types in SQL Statements - //http://developer.mimer.com/documentation/Mimer_SQL_Reference_Manual/Syntax_Rules4.html - if ( type == ( int ) ODBCTypes::ODBC_Float || - type == ( int ) ODBCTypes::ODBC_Real || - type == ( int ) ODBCTypes::ODBC_Double ) { - return true; - } - - return false; -} - - -// ----------------------------------------------------------------------- -// to get a field value from an IRD item, mhb -// ----------------------------------------------------------------------- - -RETCODE SQL_API _SQLGetIRDItemField ( const pODBCIRD pDesc, const pIRDItem pDescItem, Word pRecNum, - Word pFldID, void* pDataPtr, Long pDataSize, Long* pDataSizePtr, bool isANSI ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, - "_SQLGetIRDItemField called, pDesc: %d, pDescItem: %d, Recnum: %d, Fld: %d, DataPtr: %d, DataSize: %d, DataSizePtr: %d, isANSI: %d", - pDesc, pDescItem, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ) ); - CStrPtr s; - pIRDItem item; - - // precaution - if ( pDesc == NULL || pDataPtr == NULL ) { - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetIRDItemField - invalid params" ) ); - return SQL_ERROR; - } - - // check if item has not been specified directly - if ( pDescItem == NULL ) { - // get item from IRD - item = _SQLGetIRDItem ( pDesc, pRecNum ); - - // check if item located - if ( item == NULL ) { - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetIRDItemField - invalid item" ) ); - return SQL_ERROR; - } - } - - else - { item = pDescItem; } - - // as per required field - switch ( pFldID ) { - case SQL_DESC_AUTO_UNIQUE_VALUE: - * ( ( Long* ) pDataPtr ) = pDescItem->isAutoIncrement; // whether a col is auto-incrementing - break; - - case SQL_DESC_NAME://1011 - case SQL_DESC_LABEL://18 - case SQL_DESC_BASE_COLUMN_NAME://22 - s = pDescItem->name.c_str(); - - // transfer col name - if ( isANSI ) - { _SQLCopyCharData ( _DIAGSTMT ( pDesc->Stmt ), pDataPtr, pDataSize, pDataSizePtr, 32, ( ( s ) ? s : "" ), -1 ); } - - else - { _SQLCopyWCharData ( _DIAGSTMT ( pDesc->Stmt ), pDataPtr, pDataSize, pDataSizePtr, 32, ( ( s ) ? s : "" ), -1 ); } - - break; - - case SQL_DESC_BASE_TABLE_NAME://23 - if ( isANSI ) - { _SQLCopyCharData ( _DIAGSTMT ( pDesc->Stmt ), pDataPtr, pDataSize, pDataSizePtr, 32, pDescItem->tableName.c_str(), -1 ); } - - else - { _SQLCopyWCharData ( _DIAGSTMT ( pDesc->Stmt ), pDataPtr, pDataSize, pDataSizePtr, 32, pDescItem->tableName.c_str(), -1 ); } - - break; - - case SQL_DESC_CASE_SENSITIVE://12 - * ( ( Long* ) pDataPtr ) = pDescItem->isCaseSensitive; // whether a col is case-sensitive - break; - - case SQL_DESC_CATALOG_NAME://17 - s = pDescItem->catelogName.c_str(); - - if ( isANSI ) - { _SQLCopyCharData ( _DIAGSTMT ( pDesc->Stmt ), pDataPtr, pDataSize, pDataSizePtr, 16, s, -1 ); } - - else - { _SQLCopyWCharData ( _DIAGSTMT ( pDesc->Stmt ), pDataPtr, pDataSize, pDataSizePtr, 16, s, -1 ); } - - break; - - case SQL_DESC_TYPE://1002 - case SQL_DESC_CONCISE_TYPE://2 - * ( ( Long* ) pDataPtr ) = pDescItem->columnType; - break; - - case SQL_DESC_DATETIME_INTERVAL_CODE://1007 - * ( ( Word* ) pDataPtr ) = 0; - break; - - case SQL_DESC_DATETIME_INTERVAL_PRECISION://26 - * ( ( Long* ) pDataPtr ) = 0; - break; - - case SQL_DESC_LENGTH://1003 - case SQL_DESC_DISPLAY_SIZE://6 - if ( isANSI ) - { * ( ( Long* ) pDataPtr ) = pDescItem->displaySize; } - - else - { * ( ( Long* ) pDataPtr ) = pDescItem->displaySize * 2; } - - break; - - case SQL_DESC_OCTET_LENGTH://1013 - if ( isANSI ) - { * ( ( Long* ) pDataPtr ) = pDescItem->displaySize; } - - else - { * ( ( Long* ) pDataPtr ) = pDescItem->displaySize * 2; } - - break; - - case SQL_DESC_FIXED_PREC_SCALE://9 - - //SQL_TRUE if the column has a fixed precision and nonzero scale that are data source�Cspecific. - //SQL_FALSE if the column does not have a fixed precision and nonzero scale that are data source�Cspecific. - if ( isApproximateNumerical ( pDescItem->columnType ) ) { - * ( ( Long* ) pDataPtr ) = SQL_FALSE; - } - - else { - * ( ( Long* ) pDataPtr ) = SQL_TRUE; - } - - break; - - case SQL_DESC_LITERAL_PREFIX://27 - case SQL_DESC_LITERAL_SUFFIX://28 - - // assumes prefix and suffix to be single quote - if ( isANSI ) - { _SQLCopyCharData ( _DIAGSTMT ( pDesc->Stmt ), pDataPtr, pDataSize, pDataSizePtr, 32, "\"", -1 ); } - - else - { _SQLCopyWCharData ( _DIAGSTMT ( pDesc->Stmt ), pDataPtr, pDataSize, pDataSizePtr, 32, "\"", -1 ); } - - break; - - case SQL_DESC_TYPE_NAME://14 - case SQL_DESC_LOCAL_TYPE_NAME://29 - s = pDescItem->columnTypeName.c_str(); - - // trasnfer col type name - if ( isANSI ) - { _SQLCopyCharData ( _DIAGSTMT ( pDesc->Stmt ), pDataPtr, pDataSize, pDataSizePtr, 32, s, -1 ); } - - else - { _SQLCopyWCharData ( _DIAGSTMT ( pDesc->Stmt ), pDataPtr, pDataSize, pDataSizePtr, 32, s, -1 ); } - - break; - - case SQL_DESC_NULLABLE://1008 - if ( pDescItem->isNullable == 1 ) { - * ( ( Word* ) pDataPtr ) = SQL_NULLABLE; - break; - } - - else if ( pDescItem->isNullable == 0 ) { - * ( ( Word* ) pDataPtr ) = SQL_NO_NULLS; - break; - } - - // fall thru - * ( ( Word* ) pDataPtr ) = SQL_NULLABLE_UNKNOWN; - break; - - case SQL_DESC_NUM_PREC_RADIX://32 - - //If the data type in the SQL_DESC_TYPE field is an approximate numeric data type, - //this SQLINTEGER field contains a value of 2 because the SQL_DESC_PRECISION field contains the number of bits. - //If the data type in the SQL_DESC_TYPE field is an exact numeric data type, - //this field contains a value of 10 because the SQL_DESC_PRECISION field contains the number of decimal digits. - //This field is set to 0 for all non-numeric data types. - if ( isApproximateNumerical ( pDescItem->columnType ) ) { - * ( ( Long* ) pDataPtr ) = 2; - } - - else { - * ( ( Long* ) pDataPtr ) = 10; - } - - break; - - case SQL_DESC_PRECISION: //1005 - * ( ( Long* ) pDataPtr ) = pDescItem->precision; - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "precision is returned as %i ", * ( ( Word* ) pDataPtr ) ) ); - break; - - case SQL_DESC_ROWVER://35 - // assumes that all cols r not auto-updating like TIMESTAMP - * ( ( Word* ) pDataPtr ) = SQL_FALSE; - break; - - case SQL_DESC_SCALE://1006 - * ( ( Long* ) pDataPtr ) = pDescItem->scale; - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "scale is returned as %i ", * ( ( Word* ) pDataPtr ) ) ); - break; - - case SQL_DESC_SCHEMA_NAME://16 - s = pDescItem->schemaName.c_str(); - - if ( isANSI ) - { _SQLCopyCharData ( _DIAGSTMT ( pDesc->Stmt ), pDataPtr, pDataSize, pDataSizePtr, 32, s, -1 ); } - - else - { _SQLCopyWCharData ( _DIAGSTMT ( pDesc->Stmt ), pDataPtr, pDataSize, pDataSizePtr, 32, s, -1 ); } - - break; - - case SQL_DESC_SEARCHABLE://13 - * ( ( Long* ) pDataPtr ) = SQL_PRED_SEARCHABLE; - break; - - case SQL_DESC_TABLE_NAME://15 - s = pDescItem->tableName.c_str(); - - if ( isANSI ) - { _SQLCopyCharData ( _DIAGSTMT ( pDesc->Stmt ), pDataPtr, pDataSize, pDataSizePtr, 32, s, -1 ); } - - else - { _SQLCopyWCharData ( _DIAGSTMT ( pDesc->Stmt ), pDataPtr, pDataSize, pDataSizePtr, 32, s, -1 ); } - - break; - - case SQL_DESC_UNNAMED://1012 - * ( ( Long* ) pDataPtr ) = SQL_NAMED; - break; - - case SQL_DESC_UNSIGNED://8 - * ( ( Long* ) pDataPtr ) = !pDescItem->isSigned; - break; - - case SQL_DESC_UPDATABLE://10 - * ( ( Long* ) pDataPtr ) = SQL_ATTR_READONLY; - break; - - default: - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetIRDItemField - unknown field (%d)", pFldID ) ); - return SQL_ERROR; - break; - } - - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "get item returned" ) ); - return SQL_SUCCESS; -} - - -///////////////////// FREE - -// ----------------------------------------------------------------------- -// to free/release the content of APD -// ----------------------------------------------------------------------- - -RETCODE SQL_API _SQLFreeAPDContent ( pODBCAPD pDesc ) { - // since params have not been implemented - // it assumes that no params have been allocated - return SQL_SUCCESS; -} - -// ----------------------------------------------------------------------- -// to free/release the content of IPD -// ----------------------------------------------------------------------- - -RETCODE SQL_API _SQLFreeIPDContent ( pODBCIPD pDesc ) { - // since params have not been implemented - // it assumes that no params have been allocated - return SQL_SUCCESS; -} - -// ----------------------------------------------------------------------- -// to free/release the content of ARD -// ----------------------------------------------------------------------- - -RETCODE SQL_API _SQLFreeARDContent ( pODBCARD pDesc ) { - pARDItem ardcol; // application row descriptor item - - // check if there r any bound cols in ARD - if ( pDesc->BindCols ) { - // loop to free all the bound cols - while ( pDesc->BindCols ) { - // get the first ard-col - ardcol = pDesc->BindCols; - // detach it from ARD link list - _SQLDetachARDItem ( pDesc, ardcol ); - // free - delete ardcol; - } - } - - // reset the highest descriptor count - pDesc->DescCount = 0; - return SQL_SUCCESS; -} - -// ----------------------------------------------------------------------- -// to free/release the content of IRD -// ----------------------------------------------------------------------- - -RETCODE SQL_API _SQLFreeIRDContent ( pODBCIRD pDesc ) { - pDesc->DescCount = 0; - - if ( pDesc->RowDesc ) { - pDesc->RowDesc = NULL; - } - - return SQL_SUCCESS; -} - - -////////////////////// ATTACH/DETACH - -// ----------------------------------------------------------------------- -// to attach a new item to ARD link list -// ----------------------------------------------------------------------- - -eGoodBad _SQLAttachARDItem ( pODBCARD pDesc, pARDItem pDescItem ) { - // note - // this function also helps in maintaining highest desc number - pARDItem l; - - // precaution - if ( pDesc == NULL || pDescItem == NULL ) { - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLAttachARDItem - invalid params" ) ); - return BAD; - } - - // check if this is the first item - if ( pDesc->BindCols == NULL ) { - // set as first and only item - pDesc->BindCols = pDescItem; - pDescItem->Prev = NULL; - pDescItem->Next = NULL; - return GOOD; - } - - // move to tail item - for ( l = pDesc->BindCols; l->Next != NULL; l = l->Next ); - - // attach to tail - l->Next = pDescItem; - pDescItem->Prev = l; - pDescItem->Next = NULL; - - // maintain highest desc number - if ( pDesc->DescCount < pDescItem->ColNum ) - { pDesc->DescCount = pDescItem->ColNum; } - - return GOOD; -} - -// ----------------------------------------------------------------------- -// to detach an existing item from ARD link-list -// ----------------------------------------------------------------------- - -eGoodBad _SQLDetachARDItem ( pODBCARD pDesc, pARDItem pDescItem ) { - // note - // this function also helps in maintaining highest desc number - - // precaution - if ( pDesc == NULL || pDescItem == NULL ) { - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLDetachARDItem - invalid params" ) ); - return BAD; - } - - if ( pDescItem->Prev ) - { ( pDescItem->Prev )->Next = pDescItem->Next; } // attach prev to next - - else - { pDesc->BindCols = pDescItem->Next; } // set head to next if any - - if ( pDescItem->Next ) - { ( pDescItem->Next )->Prev = pDescItem->Prev; } // set next to prev if any - - // maintain highest desc number - if ( pDesc->DescCount == pDescItem->ColNum ) { - Word i; - pARDItem p; - - // loop to find the highest number and set that - for ( i = 0, p = pDesc->BindCols; p != NULL; p = p->Next ) - if ( p->ColNum > i ) - { i = p->ColNum; } - - // set the highest count to this column - pDesc->DescCount = i; - } - - return GOOD; -} - -//////////////////// UTILITY functions - -// ----------------------------------------------------------------------- -// to get converted col descriptor information -// ----------------------------------------------------------------------- - -eGoodBad GetIRDColDescInfo ( SelectedColumnMeta* pColDesc, Word* pDataType, Word* pPrecision, Word* pScale, - Long* pLength ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "GetIRDColDescInfo called" ) ); - - // precaution - if ( !pColDesc ) - { return BAD; } - - // caller safe - if ( pDataType ) { *pDataType = 0; } - - if ( pPrecision ) { *pPrecision = 0; } - - if ( pScale ) { *pScale = 0; } - - if ( pLength ) { *pLength = 0; } - - if ( pDataType ) { *pDataType = pColDesc->columnType; } - - if ( pPrecision ) { *pPrecision = pColDesc->precision; } - - if ( pScale ) { *pScale = pColDesc->scale; } - - if ( pLength ) { *pLength = pColDesc->displaySize; } - - return GOOD; -} +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + + +// ---------------------------------------------------------------------------- +// +// File: KO_DESC.CPP +// +// Purpose: Contains descriptor functions. +// As explained in the article, descriptors r the heart +// as far as driver design is concerned. Descriptors +// r essntially data structures to encapsulate one type of +// data. Say results from server. Say col specification from +// application and so. All the four descriptors (ARD,IRD,APD,IPD) +// r encapsulated inside the statement structure. +// +// The local functions provided for each descriptor include +// 1. maintaining the link list _SQLAttachXXXItem/_SQLDetachXXXItem +// 2. getting an desc item from link list _SQLGetXXXItem +// 3. setting default values in desc header/item _SQLSetXXXFieldsDefault/_SQLSetXXXItemFieldsDefault +// 4. setting values in desc header/item _SQLSetXXXField/_SQLSetXXXItemField +// 5. getting values from desc header/item _SQLGetXXXField/_SQLGetXXXItemField +// where XXX is the descriptor type ARD,IRD,APD,IPD +// +// These functions are used internally by most functions +// like SQLBindCol, SQLColAttribiute and so on to maintain +// info in the descriptor structures. +// +// The exposed functions allow the client to directly +// manipulate the descriptor values, and these functions +// also use these local functions only. +// But use of the exposed descriptor function is not very +// common in the ODBC parlance. +// +// Exported functions: +// SQLGetDescField +// SQLSetDescField +// SQLGetDescRec +// SQLSetDescRec +// SQLCopyDesc +// +// ---------------------------------------------------------------------------- +#include "stdafx.h" + + +// ------------------------ local functions ----------------------------------- +pAPDItem _SQLGetAPDItem ( const pODBCAPD pDesc, Word pRecNum ); +pIPDItem _SQLGetIPDItem ( const pODBCIPD pDesc, Word pRecNum ); +pARDItem _SQLGetARDItem ( const pODBCARD pDesc, Word pRecNum ); +pIRDItem _SQLGetIRDItem ( const pODBCIRD pDesc, Word pRecNum ); + +eGoodBad _SQLSetAPDFieldsDefault ( pODBCAPD pDesc, const pODBCStmt pStmt ); +eGoodBad _SQLSetAPDItemFieldsDefault ( pAPDItem pDescItem ); + +eGoodBad _SQLSetIPDFieldsDefault ( pODBCIPD pDesc, const pODBCStmt pStmt ); +eGoodBad _SQLSetIPDItemFieldsDefault ( pIPDItem pDescItem ); + +eGoodBad _SQLSetARDFieldsDefault ( pODBCARD pDesc, const pODBCStmt pStmt ); +eGoodBad _SQLSetARDItemFieldsDefault ( pARDItem pDescItem, Word pRecNum ); + +eGoodBad _SQLSetIRDFieldsDefault ( pODBCIRD pDesc, const pODBCStmt pStmt ); +eGoodBad _SQLSetIRDItemFieldsDefault ( pIRDItem pDescItem ); + +RETCODE SQL_API _SQLSetAPDField ( pODBCAPD pDesc, Word pFldID, const void* pDataPtr, Long pDataSize ); +RETCODE SQL_API _SQLSetAPDItemField ( pODBCAPD pDesc, pAPDItem pDescItem, Word pRecNum, Word pFldID, + const void* pDataPtr, Long pDataSize ); +RETCODE SQL_API _SQLGetAPDField ( const pODBCAPD pDesc, Word pFldID, void* pDataPtr, Long pDataSize, + Long* pDataSizePtr ); +RETCODE SQL_API _SQLGetAPDItemField ( const pODBCAPD pDesc, const pAPDItem pDescItem, Word pRecNum, + Word pFldID, void* pDataPtr, Long pDataSize, Long* pDataSizePtr ); + +RETCODE SQL_API _SQLSetIPDField ( pODBCIPD pDesc, Word pFldID, const void* pDataPtr, Long pDataSize ); +RETCODE SQL_API _SQLSetIPDItemField ( pODBCIPD pDesc, pIPDItem pDescItem, Word pRecNum, Word pFldID, + const void* pDataPtr, Long pDataSize ); +RETCODE SQL_API _SQLGetIPDField ( const pODBCIPD pDesc, Word pFldID, void* pDataPtr, Long pDataSize, + Long* pDataSizePtr ); +RETCODE SQL_API _SQLGetIPDItemField ( const pODBCIPD pDesc, const pIPDItem pDescItem, Word pRecNum, + Word pFldID, void* pDataPtr, Long pDataSize, Long* pDataSizePtr ); + +RETCODE SQL_API _SQLSetARDField ( pODBCARD pDesc, Word pFldID, const void* pDataPtr, Long pDataSize ); +RETCODE SQL_API _SQLSetARDItemField ( pODBCARD pDesc, pARDItem pDescItem, Word pRecNum, Word pFldID, + const void* pDataPtr, Long pDataSize ); +RETCODE SQL_API _SQLGetARDField ( const pODBCARD pDesc, Word pFldID, void* pDataPtr, Long pDataSize, + Long* pDataSizePtr ); +RETCODE SQL_API _SQLGetARDItemField ( const pODBCARD pDesc, const pARDItem pDescItem, Word pRecNum, + Word pFldID, void* pDataPtr, Long pDataSize, Long* pDataSizePtr ); + +RETCODE SQL_API _SQLSetIRDField ( pODBCIRD pDesc, Word pFldID, const void* pDataPtr, Long pDataSize ); +RETCODE SQL_API _SQLSetIRDItemField ( pODBCIRD pDesc, pIRDItem pDescItem, Word pRecNum, Word pFldID, + const void* pDataPtr, Long pDataSize ); +RETCODE SQL_API _SQLGetIRDField ( const pODBCIRD pDesc, Word pFldID, void* pDataPtr, Long pDataSize, + Long* pDataSizePtr ); +RETCODE SQL_API _SQLGetIRDItemField ( const pODBCIRD pDesc, const pIRDItem pDescItem, Word pRecNum, + Word pFldID, void* pDataPtr, Long pDataSize, Long* pDataSizePtr , bool isANSI ); + +RETCODE SQL_API _SQLFreeAPDContent ( const pODBCAPD pDesc ); +RETCODE SQL_API _SQLFreeIPDContent ( const pODBCIPD pDesc ); +RETCODE SQL_API _SQLFreeARDContent ( const pODBCARD pDesc ); +RETCODE SQL_API _SQLFreeIRDContent ( const pODBCIRD pDesc ); + +eGoodBad _SQLAttachARDItem ( pODBCARD pDesc, pARDItem pDescItem ); +eGoodBad _SQLDetachARDItem ( pODBCARD pDesc, pARDItem pDescItem ); + + +// ----------------------------------------------------------------------- +// to get value of specified descriptor field +// ----------------------------------------------------------------------- + +RETCODE _SQLGetDescField_basic ( SQLHDESC pDesc, + SQLSMALLINT pRecNum, + SQLSMALLINT pFldID, + SQLPOINTER pDataPtr, + SQLINTEGER pDataSize, + SQLINTEGER* pDataSizePtr, + bool isANSI ) { + bool invalidfld; + bool headerfld; + Word desctype; + + // precaution + if ( pDesc == NULL || pDataPtr == NULL ) { + __ODBCPOPMSG ( _ODBCPopMsg ( "SQLGetDescField - invalid params" ) ); + return SQL_ERROR; + } + + // initializations + invalidfld = FALSE; + headerfld = TRUE; + desctype = _DESCTYPE ( pDesc ); + + // check if descriptor is valid & reset diags + switch ( desctype ) { + case SQL_DESC_APD: + _SQLFreeDiag ( & ( ( ( pODBCAPD ) pDesc )->Stmt->Diag ) ); + break; + + case SQL_DESC_IPD: + _SQLFreeDiag ( & ( ( ( pODBCIPD ) pDesc )->Stmt->Diag ) ); + break; + + case SQL_DESC_ARD: + _SQLFreeDiag ( & ( ( ( pODBCARD ) pDesc )->Stmt->Diag ) ); + break; + + case SQL_DESC_IRD: + _SQLFreeDiag ( & ( ( ( pODBCIRD ) pDesc )->Stmt->Diag ) ); + break; + + default: + __ODBCPOPMSG ( _ODBCPopMsg ( "SQLGetDescField - Invalid descriptor handle" ) ); + return SQL_ERROR; + } + + // HEADER FIELDS + + // check the field type - header field + switch ( pFldID ) { + case SQL_DESC_ALLOC_TYPE: + + /***** + SQLSMALLINT + ARD: R APD: R IRD: R IPD: R + ARD: SQL_DESC_ALLOC_AUTO/SQL_DESC_ALLOC_USER + APD: SQL_DESC_ALLOC_AUTO/SQL_DESC_ALLOC_USER + IRD: SQL_DESC_ALLOC_AUTO + IPD: SQL_DESC_ALLOC_AUTO + ********/ + switch ( desctype ) { + case SQL_DESC_APD: + return _SQLGetAPDField ( ( pODBCAPD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_IPD: + return _SQLGetIPDField ( ( pODBCIPD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_ARD: + return _SQLGetARDField ( ( pODBCARD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_IRD: + return _SQLGetIRDField ( ( pODBCIRD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + } + + break; + + case SQL_DESC_ARRAY_SIZE: + + /********* + SQLUINTEGER + ARD: R/W APD: R/W IRD: Unused IPD: Unused + ARD:[1] APD:[1] IRD: Unused IPD: Unused + ********/ + switch ( desctype ) { + case SQL_DESC_APD: + return _SQLGetAPDField ( ( pODBCAPD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_ARD: + return _SQLGetARDField ( ( pODBCARD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + default: + invalidfld = TRUE; + } + + break; + + case SQL_DESC_ARRAY_STATUS_PTR: + + /********** + SQLUSMALLINT* + ARD: R/W APD: R/W IRD: R/W IPD: R/W + ARD: Null ptr APD: Null ptr IRD: Null ptr IPD: Null ptr + **********/ + switch ( desctype ) { + case SQL_DESC_APD: + return _SQLGetAPDField ( ( pODBCAPD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_IPD: + return _SQLGetIPDField ( ( pODBCIPD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_ARD: + return _SQLGetARDField ( ( pODBCARD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_IRD: + return _SQLGetIRDField ( ( pODBCIRD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + } + + break; + + case SQL_DESC_BIND_OFFSET_PTR: + + /********** + SQLINTEGER* + ARD: R/W APD: R/W IRD: Unused IPD: Unused + ARD: Null ptr APD: Null ptr IRD: Unused IPD: Unused + **********/ + switch ( desctype ) { + case SQL_DESC_APD: + return _SQLGetAPDField ( ( pODBCAPD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_ARD: + return _SQLGetARDField ( ( pODBCARD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + default: + invalidfld = TRUE; + } + + break; + + case SQL_DESC_BIND_TYPE: + + /********** + SQLINTEGER + ARD: R/W APD: R/W IRD: Unused IPD: Unused + ARD: SQL_BIND_BY_COLUMN + APD: SQL_BIND_BY_COLUMN IRD: Unused IPD: Unused + *********/ + switch ( desctype ) { + case SQL_DESC_APD: + return _SQLGetAPDField ( ( pODBCAPD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_ARD: + return _SQLGetARDField ( ( pODBCARD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + default: + invalidfld = TRUE; + } + + break; + + case SQL_DESC_COUNT: + + /********** + SQLSMALLINT + ARD: R/W APD: R/W IRD: R IPD: R/W + ARD: 0 APD: 0 IRD: D IPD: 0 + **********/ + switch ( desctype ) { + case SQL_DESC_APD: + return _SQLGetAPDField ( ( pODBCAPD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_IPD: + return _SQLGetIPDField ( ( pODBCIPD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_ARD: + return _SQLGetARDField ( ( pODBCARD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_IRD: + return _SQLGetIRDField ( ( pODBCIRD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + } + + break; + + case SQL_DESC_ROWS_PROCESSED_PTR: + + /********** + SQLUINTEGER* + ARD: Unused APD: Unused IRD: R/W IPD: R/W + ARD: Unused APD: Unused IRD: Null ptr IPD: Null ptr + ***********/ + switch ( desctype ) { + case SQL_DESC_IPD: + return _SQLGetIPDField ( ( pODBCIPD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_IRD: + return _SQLGetIRDField ( ( pODBCIRD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + default: + invalidfld = TRUE; + } + + break; + + default: + headerfld = FALSE; + } + + // check if not an header field + if ( headerfld == TRUE ) + { return SQL_SUCCESS; } + + // check if invalid field + if ( invalidfld == TRUE ) { + __ODBCPOPMSG ( _ODBCPopMsg ( "SQLGetDescField - Invalid field %d for descriptor %d", pFldID, desctype ) ); + return SQL_ERROR; + } + + // check the field type - record field + switch ( pFldID ) { + case SQL_DESC_AUTO_UNIQUE_VALUE: + + /*********** + SQLINTEGER + ARD: Unused APD: Unused IRD: R IPD: Unused + ARD: Unused APD: Unused IRD: D IPD: Unused + *********/ + switch ( desctype ) { + case SQL_DESC_IRD: + return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); + + default: + invalidfld = TRUE; + } + + break; + + case SQL_DESC_BASE_COLUMN_NAME: + + /********** + SQLCHAR * + ARD: Unused APD: Unused IRD: R IPD: Unused + ARD: Unused APD: Unused IRD: D IPD: Unused + **********/ + switch ( desctype ) { + case SQL_DESC_IRD: + return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); + + default: + invalidfld = TRUE; + } + + break; + + case SQL_DESC_BASE_TABLE_NAME: + + /******** + SQLCHAR * + ARD: Unused APD: Unused IRD: R IPD: Unused + ARD: Unused APD: Unused IRD: D IPD: Unused + *******/ + switch ( desctype ) { + case SQL_DESC_IRD: + return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); + + default: + invalidfld = TRUE; + } + + break; + + case SQL_DESC_CASE_SENSITIVE: + + /********** + SQLINTEGER + ARD: Unused APD: Unused IRD: R IPD: R + ARD: Unused APD: Unused IRD: D IPD: D + *******/ + switch ( desctype ) { + case SQL_DESC_IPD: + return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_IRD: + return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); + + default: + invalidfld = TRUE; + } + + break; + + case SQL_DESC_CATALOG_NAME: + + /********** + SQLCHAR* + ARD: Unused APD: Unused IRD: R IPD: Unused + ARD: Unused APD: Unused IRD: D IPD: Unused + ********/ + switch ( desctype ) { + case SQL_DESC_IRD: + return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); + + default: + invalidfld = TRUE; + } + + break; + + case SQL_DESC_CONCISE_TYPE: + + /********** + SQLSMALLINT + ARD: R/W APD: R/W IRD: R IPD: R/W + ARD: SQL_C_DEFAULT APD: SQL_C_DEFAULT IRD: D IPD: ND + *********/ + switch ( desctype ) { + case SQL_DESC_APD: + return _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_IPD: + return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_ARD: + return _SQLGetARDItemField ( ( pODBCARD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_IRD: + return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); + } + + break; + + case SQL_DESC_DATA_PTR: + + /*********** + SQLPOINTER + ARD: R/W APD: R/W IRD: Unused IPD: Unused + ARD: Null ptr APD: Null ptr IRD: Unused IPD: Unused + ************/ + switch ( desctype ) { + case SQL_DESC_APD: + return _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_ARD: + return _SQLGetARDItemField ( ( pODBCARD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + default: + invalidfld = TRUE; + } + + break; + + case SQL_DESC_DATETIME_INTERVAL_CODE: + + /********** + SQLSMALLINT + ARD: R/W APD: R/W IRD: R IPD: R/W + ARD: ND APD: ND IRD: D IPD: ND + ********/ + switch ( desctype ) { + case SQL_DESC_APD: + return _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_IPD: + return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_ARD: + return _SQLGetARDItemField ( ( pODBCARD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_IRD: + return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); + } + + break; + + case SQL_DESC_DATETIME_INTERVAL_PRECISION: + + /********* + SQLINTEGER + ARD: R/W APD: R/W IRD: R IPD: R/W + ARD: ND APD: ND IRD: D IPD: ND + **********/ + switch ( desctype ) { + case SQL_DESC_APD: + return _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_IPD: + return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_ARD: + return _SQLGetARDItemField ( ( pODBCARD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_IRD: + return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); + } + + break; + + case SQL_DESC_DISPLAY_SIZE: + + /********* + SQLINTEGER + ARD: Unused APD: Unused IRD: R IPD: Unused + ARD: Unused APD: Unused IRD: D IPD: Unused + **********/ + switch ( desctype ) { + case SQL_DESC_IRD: + return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); + + default: + invalidfld = TRUE; + } + + break; + + case SQL_DESC_FIXED_PREC_SCALE: + + /********* + SQLSMALLINT + ARD: Unused APD: Unused IRD: R IPD: R + ARD: Unused APD: Unused IRD: D IPD: D[1] + *********/ + switch ( desctype ) { + case SQL_DESC_IPD: + return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_IRD: + return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); + + default: + invalidfld = TRUE; + } + + break; + + case SQL_DESC_INDICATOR_PTR: + + /********** + SQLINTEGER * + ARD: R/W APD: R/W IRD: Unused IPD: Unused + ARD: Null ptr APD: Null ptr IRD: Unused IPD: Unused + ********/ + switch ( desctype ) { + case SQL_DESC_APD: + return _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_ARD: + return _SQLGetARDItemField ( ( pODBCARD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + default: + invalidfld = TRUE; + } + + break; + + case SQL_DESC_LABEL: + + /********* + SQLCHAR * + ARD: Unused APD: Unused IRD: R IPD: Unused + ARD: Unused APD: Unused IRD: D IPD: Unused + ***********/ + switch ( desctype ) { + case SQL_DESC_IRD: + return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); + + default: + invalidfld = TRUE; + } + + break; + + case SQL_DESC_LENGTH: + + /******** + SQLUINTEGER + ARD: R/W APD: R/W IRD: R IPD: R/W + ARD: ND APD: ND IRD: D IPD: ND + ********/ + switch ( desctype ) { + case SQL_DESC_ARD: + return _SQLGetARDItemField ( ( pODBCARD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_APD: + return _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_IRD: + return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); + + case SQL_DESC_IPD: + return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + } + + break; + + case SQL_DESC_LITERAL_PREFIX: + + /********** + SQLCHAR* + ARD: Unused APD: Unused IRD: R IPD: Unused + ARD: Unused APD: Unused IRD: D IPD: Unused + **********/ + + // a read-only IRD field + switch ( desctype ) { + case SQL_DESC_IRD: + return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); + + default: + invalidfld = TRUE; + } + + break; + + case SQL_DESC_LITERAL_SUFFIX: + + /********** + SQLCHAR* + ARD: Unused APD: Unused IRD: R IPD: Unused + ARD: Unused APD: Unused IRD: D IPD: Unused + **********/ + switch ( desctype ) { + case SQL_DESC_IRD: + return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); + + default: + invalidfld = TRUE; + } + + break; + + case SQL_DESC_LOCAL_TYPE_NAME: + + /*********** + SQLCHAR * + ARD: Unused APD: Unused IRD: R IPD: R + ARD: Unused APD: Unused IRD: D IPD: D + ***********/ + switch ( desctype ) { + case SQL_DESC_IPD: + return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_IRD: + return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); + + default: + invalidfld = TRUE; + } + + break; + + case SQL_DESC_NAME: + + /*********** + SQLCHAR* + ARD: Unused APD: Unused IRD: R IPD: R/W + ARD: ND APD: ND IRD: D IPD: ND + *********/ + switch ( desctype ) { + case SQL_DESC_IPD: + return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_IRD: + return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); + + default: + invalidfld = TRUE; + } + + break; + + case SQL_DESC_NULLABLE: + + /********** + SQLSMALLINT + ARD: Unused APD: Unused IRD: R IPD: R + ARD: ND APD: ND IRD: D IPD: ND + ***********/ + switch ( desctype ) { + case SQL_DESC_IPD: + return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_IRD: + return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); + + default: + invalidfld = TRUE; + } + + break; + + case SQL_DESC_NUM_PREC_RADIX: + + /********* + SQLINTEGER + ARD: R/W APD: R/W IRD: R IPD: R/W + ARD: ND APD: ND IRD: D IPD: ND + ********/ + switch ( desctype ) { + case SQL_DESC_APD: + return _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_IPD: + return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_ARD: + return _SQLGetARDItemField ( ( pODBCARD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_IRD: + return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); + } + + break; + + case SQL_DESC_OCTET_LENGTH: + + /********** + SQLINTEGER + ARD: R/W APD: R/W IRD: R IPD: R/W + ARD: ND APD: ND IRD: D IPD: ND + *********/ + switch ( desctype ) { + case SQL_DESC_APD: + return _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_IPD: + return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_ARD: + return _SQLGetARDItemField ( ( pODBCARD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_IRD: + return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); + } + + break; + + case SQL_DESC_OCTET_LENGTH_PTR: + + /****** + SQLINTEGER* + ARD: R/W APD: R/W IRD: Unused IPD: Unused + ARD: Null ptr APD: Null ptr IRD: Unused IPD: Unused + *********/ + switch ( desctype ) { + case SQL_DESC_APD: + return _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_ARD: + return _SQLGetARDItemField ( ( pODBCARD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + default: + invalidfld = TRUE; + } + + break; + + case SQL_DESC_PARAMETER_TYPE: + + /********* + SQLSMALLINT + ARD: Unused APD: Unused IRD: Unused IPD: R/W + ARD: Unused APD: Unused IRD: Unused IPD: D=SQL_PARAM_INPUT + *********/ + switch ( desctype ) { + case SQL_DESC_IPD: + return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + default: + invalidfld = TRUE; + } + + break; + + case SQL_DESC_PRECISION: + + /********* + SQLSMALLINT + ARD: R/W APD: R/W IRD: R IPD: R/W + ARD: ND APD: ND IRD: D IPD: ND + ********/ + switch ( desctype ) { + case SQL_DESC_APD: + return _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_IPD: + return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_ARD: + return _SQLGetARDItemField ( ( pODBCARD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_IRD: + return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); + } + + break; + + case SQL_DESC_ROWVER: + + /********* + SQLSMALLINT + ARD: Unused APD: Unused IRD: R IPD: R + ARD: Unused APD: Unused IRD: ND IPD: ND + ********/ + switch ( desctype ) { + case SQL_DESC_IPD: + return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_IRD: + return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); + + default: + invalidfld = TRUE; + } + + break; + + case SQL_DESC_SCALE: + + /******** + SQLSMALLINT + ARD: R/W APD: R/W IRD: R IPD: R/W + ARD: ND APD: ND IRD: D IPD: ND + *********/ + switch ( desctype ) { + case SQL_DESC_APD: + return _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_IPD: + return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_ARD: + return _SQLGetARDItemField ( ( pODBCARD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_IRD: + return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); + } + + break; + + case SQL_DESC_SCHEMA_NAME: + + /********* + SQLCHAR* + ARD: Unused APD: Unused IRD: R IPD: Unused + ARD: Unused APD: Unused IRD: D IPD: Unused + ********/ + switch ( desctype ) { + case SQL_DESC_IRD: + return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); + + default: + invalidfld = TRUE; + } + + break; + + case SQL_DESC_SEARCHABLE: + + /********* + SQLCHAR* + ARD: Unused APD: Unused IRD: R IPD: Unused + ARD: Unused APD: Unused IRD: D IPD: Unused + ********/ + switch ( desctype ) { + case SQL_DESC_IRD: + return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); + + default: + invalidfld = TRUE; + } + + break; + + case SQL_DESC_TABLE_NAME: + + /******** + SQLCHAR* + ARD: Unused APD: Unused IRD: R IPD: Unused + ARD: Unused APD: Unused IRD: D IPD: Unused + ********/ + switch ( desctype ) { + case SQL_DESC_IRD: + return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); + + default: + invalidfld = TRUE; + } + + break; + + case SQL_DESC_TYPE: + + /********* + SQLSMALLINT + ARD: R/W APD: R/W IRD: R IPD: R/W + ARD: SQL_C_DEFAULT APD: SQL_C_DEFAULT IRD: D IPD: ND + *********/ + switch ( desctype ) { + case SQL_DESC_APD: + return _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_IPD: + return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_ARD: + return _SQLGetARDItemField ( ( pODBCARD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_IRD: + return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); + } + + break; + + case SQL_DESC_TYPE_NAME: + + /********* + SQLCHAR * + ARD: Unused APD: Unused IRD: R IPD: R + ARD: Unused APD: Unused IRD: D IPD: D + **********/ + switch ( desctype ) { + case SQL_DESC_IPD: + return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_IRD: + return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); + + default: + invalidfld = TRUE; + } + + break; + + case SQL_DESC_UNNAMED: + + /******** + SQLSMALLINT + ARD: Unused APD: Unused IRD: R IPD: R/W + ARD: ND APD: ND IRD: D IPD: ND + ********/ + switch ( desctype ) { + case SQL_DESC_IPD: + return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_IRD: + return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); + + default: + invalidfld = TRUE; + } + + break; + + case SQL_DESC_UNSIGNED: + + /********* + SQLSMALLINT + ARD: Unused APD: Unused IRD: R IPD: R + ARD: Unused APD: Unused IRD: D IPD: D + ********/ + switch ( desctype ) { + case SQL_DESC_IPD: + return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); + + case SQL_DESC_IRD: + return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); + + default: + invalidfld = TRUE; + } + + break; + + default: + __ODBCPOPMSG ( _ODBCPopMsg ( "SQLGetDescField - Unknown field %d", pFldID ) ); + return SQL_ERROR; + } + + // check if invalid field + if ( invalidfld == TRUE ) { + __ODBCPOPMSG ( _ODBCPopMsg ( "SQLGetDescField - Invalid field %d for descriptor %d", pFldID, desctype ) ); + return SQL_ERROR; + } + + return SQL_SUCCESS; +} + + +RETCODE SQL_API SQLGetDescFieldW ( SQLHDESC pDesc, + SQLSMALLINT pRecNum, + SQLSMALLINT pFldID, + SQLPOINTER pDataPtr, + SQLINTEGER pDataSize, + SQLINTEGER* pDataSizePtr ) + +{ + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, + "SQLGetDescFieldW called, Desc: %d, Type: %d, Recnum: %d, Fld: %d, DataPtr: %d, DataSize: %d, DataSizePtr: %d", pDesc, + ( pDesc ) ? * ( ( short* ) pDesc ) : 0, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ) ); + return _SQLGetDescField_basic ( pDesc, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, false ); +} + +RETCODE SQL_API SQLGetDescField ( SQLHDESC pDesc, + SQLSMALLINT pRecNum, + SQLSMALLINT pFldID, + SQLPOINTER pDataPtr, + SQLINTEGER pDataSize, + SQLINTEGER* pDataSizePtr ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, + "SQLGetDescField called, Desc: %d, Type: %d, Recnum: %d, Fld: %d, DataPtr: %d, DataSize: %d, DataSizePtr: %d", pDesc, + ( pDesc ) ? * ( ( short* ) pDesc ) : 0, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ) ); + return _SQLGetDescField_basic ( pDesc, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, true ); +} + +// ----------------------------------------------------------------------- +// to set a single field in a desc record +// ----------------------------------------------------------------------- +RETCODE SQL_API SQLSetDescFieldW ( SQLHDESC pDesc, + SQLSMALLINT pRecNum, + SQLSMALLINT pFldID, + SQLPOINTER pDataPtr, + SQLINTEGER pDataSize ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, + "SQLSetDescFieldW called, Desc: %d, Type: %d, Recnum: %d, Fld: %d, DataPtr: %d, DataSize: %d", pDesc, + ( pDesc ) ? * ( ( short* ) pDesc ) : ( short ) pDesc, pRecNum, pFldID, pDataPtr, pDataSize ) ); + __ODBCPOPMSG ( _ODBCPopMsg ( "SQLSetDescFieldW Not implemented" ) ); + return SQL_ERROR; +} + +RETCODE SQL_API SQLSetDescField ( SQLHDESC pDesc, + SQLSMALLINT pRecNum, + SQLSMALLINT pFldID, + SQLPOINTER pDataPtr, + SQLINTEGER pDataSize ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, + "SQLSetDescField called, Desc: %d, Type: %d, Recnum: %d, Fld: %d, DataPtr: %d, DataSize: %d", pDesc, + ( pDesc ) ? * ( ( short* ) pDesc ) : ( short ) pDesc, pRecNum, pFldID, pDataPtr, pDataSize ) ); + __ODBCPOPMSG ( _ODBCPopMsg ( "SQLSetDescField Not implemented" ) ); + return SQL_ERROR; +} + + +// ----------------------------------------------------------------------- +// to get multiple fields from a desc record, at one shot +// ----------------------------------------------------------------------- + +RETCODE SQL_API SQLGetDescRec ( SQLHDESC pDesc, + SQLSMALLINT pRecNum, + SQLCHAR* pName, + SQLSMALLINT pNameSize, + SQLSMALLINT* pNameSizePtr, + SQLSMALLINT* pTypePtr, + SQLSMALLINT* pSubTypePtr, + SQLINTEGER* pLengthPtr, + SQLSMALLINT* pPrecisionPtr, + SQLSMALLINT* pScalePtr, + SQLSMALLINT* pNullablePtr ) + +{ + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLGetDescRec called Desc: %d, DescType: %d, RecNum: %d", pDesc, + pDesc ? * ( ( short* ) pDesc ) : 0, pRecNum ) ); + Word desctype; + Long i; + + // precaution + if ( pDesc == NULL ) { + __ODBCPOPMSG ( _ODBCPopMsg ( "SQLGetDescRec - invalid params" ) ); + return SQL_ERROR; + } + + // initializations + desctype = _DESCTYPE ( pDesc ); + + switch ( desctype ) { + case SQL_DESC_APD: + pAPDItem apditem; + _SQLFreeDiag ( & ( ( ( pODBCAPD ) pDesc )->Stmt->Diag ) ); + // get item from APD + apditem = _SQLGetAPDItem ( ( pODBCAPD ) pDesc, pRecNum ); + + // check if item located + if ( apditem == NULL ) { + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetDescRec - invalid APD item" ) ); + return SQL_ERROR; + } + + // get the fields + _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, apditem, pRecNum, SQL_DESC_NAME, pName, pNameSize, &i ); + *pNameSizePtr = ( Word ) i; + _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, apditem, pRecNum, SQL_DESC_TYPE, pTypePtr, -1, NULL ); + _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, apditem, pRecNum, SQL_DESC_DATETIME_INTERVAL_CODE , pSubTypePtr, -1, + NULL ); + _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, apditem, pRecNum, SQL_DESC_OCTET_LENGTH, pLengthPtr, -1, NULL ); + _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, apditem, pRecNum, SQL_DESC_PRECISION, pPrecisionPtr, -1, NULL ); + _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, apditem, pRecNum, SQL_DESC_SCALE, pScalePtr, -1, NULL ); + _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, apditem, pRecNum, SQL_DESC_NULLABLE, pNullablePtr, -1, NULL ); + break; + + case SQL_DESC_IPD: + pIPDItem ipditem; + _SQLFreeDiag ( & ( ( ( pODBCIPD ) pDesc )->Stmt->Diag ) ); + // get item from IPD + ipditem = _SQLGetIPDItem ( ( pODBCIPD ) pDesc, pRecNum ); + + // check if item located + if ( ipditem == NULL ) { + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetDescRec - invalid IPD item" ) ); + return SQL_ERROR; + } + + // set the fields + _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, ipditem, pRecNum, SQL_DESC_NAME, pName, pNameSize, &i ); + *pNameSizePtr = ( Word ) i; + _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, ipditem, pRecNum, SQL_DESC_TYPE, pTypePtr, -1, NULL ); + _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, ipditem, pRecNum, SQL_DESC_DATETIME_INTERVAL_CODE , pSubTypePtr, -1, + NULL ); + _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, ipditem, pRecNum, SQL_DESC_OCTET_LENGTH, pLengthPtr, -1, NULL ); + _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, ipditem, pRecNum, SQL_DESC_PRECISION, pPrecisionPtr, -1, NULL ); + _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, ipditem, pRecNum, SQL_DESC_SCALE, pScalePtr, -1, NULL ); + _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, ipditem, pRecNum, SQL_DESC_NULLABLE, pNullablePtr, -1, NULL ); + break; + + case SQL_DESC_ARD: + pARDItem arditem; + _SQLFreeDiag ( & ( ( ( pODBCARD ) pDesc )->Stmt->Diag ) ); + // get item from ARD + arditem = _SQLGetARDItem ( ( pODBCARD ) pDesc, pRecNum ); + + // check if item located + if ( arditem == NULL ) { + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetDescRec - invalid ARD item" ) ); + return SQL_ERROR; + } + + // get the fields + _SQLGetARDItemField ( ( pODBCARD ) pDesc, arditem, pRecNum, SQL_DESC_NAME, pName, pNameSize, &i ); + *pNameSizePtr = ( Word ) i; + _SQLGetARDItemField ( ( pODBCARD ) pDesc, arditem, pRecNum, SQL_DESC_TYPE, pTypePtr, -1, NULL ); + _SQLGetARDItemField ( ( pODBCARD ) pDesc, arditem, pRecNum, SQL_DESC_DATETIME_INTERVAL_CODE , pSubTypePtr, -1, + NULL ); + _SQLGetARDItemField ( ( pODBCARD ) pDesc, arditem, pRecNum, SQL_DESC_OCTET_LENGTH, pLengthPtr, -1, NULL ); + _SQLGetARDItemField ( ( pODBCARD ) pDesc, arditem, pRecNum, SQL_DESC_PRECISION, pPrecisionPtr, -1, NULL ); + _SQLGetARDItemField ( ( pODBCARD ) pDesc, arditem, pRecNum, SQL_DESC_SCALE, pScalePtr, -1, NULL ); + _SQLGetARDItemField ( ( pODBCARD ) pDesc, arditem, pRecNum, SQL_DESC_NULLABLE, pNullablePtr, -1, NULL ); + break; + + case SQL_DESC_IRD: + _SQLFreeDiag ( & ( ( ( pODBCIRD ) pDesc )->Stmt->Diag ) ); + + // fall thru + + default: + __ODBCPOPMSG ( _ODBCPopMsg ( "SQLSetDescRec - Invalid descriptor handle" ) ); + return SQL_ERROR; + } + + return SQL_SUCCESS; +} + + +// ----------------------------------------------------------------------- +// to set multiple fields in a desc record, at one shot +// ----------------------------------------------------------------------- + +RETCODE SQL_API SQLSetDescRec ( SQLHDESC pDesc, + SQLSMALLINT pRecNum, + SQLSMALLINT pType, + SQLSMALLINT pSubType, + SQLINTEGER pLength, + SQLSMALLINT pPrecision, + SQLSMALLINT pScale, + SQLPOINTER pDataPtr, + SQLINTEGER* pDataSizePtr, + SQLINTEGER* pDataIndPtr ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLSetDescRec called Desc: %d, DescType: %d, RecNum: %d", pDesc, + pDesc ? * ( ( short* ) pDesc ) : 0, pRecNum ) ); + __ODBCPOPMSG ( _ODBCPopMsg ( "SQLGetDescRec Not implemented" ) ); + return SQL_ERROR; +} + + +// ----------------------------------------------------------------------- +// to copy descriptor information from one descriptor handle to another +// ----------------------------------------------------------------------- + +RETCODE SQL_API SQLCopyDesc ( SQLHDESC pSrcDescHandle, + SQLHDESC pTgtDescHandle ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLCopyDesc called" ) ); + __ODBCPOPMSG ( _ODBCPopMsg ( "SQLCopyDesc not implemented" ) ); + return SQL_ERROR; +} + + +/////////////////////// TO GET A DESC ITEM + + +// ----------------------------------------------------------------------- +// to get a particular ARD item +// ----------------------------------------------------------------------- + +pARDItem _SQLGetARDItem ( const pODBCARD pDesc, Word pRecNum ) { + pARDItem i; + + // loop to see if binding for that col already exists + for ( i = pDesc->BindCols; i != NULL && i->ColNum != pRecNum; i = i->Next ); + + // return the ARD item + return i; +} + + +// ----------------------------------------------------------------------- +// to get a particular IPD item +// ----------------------------------------------------------------------- + +pAPDItem _SQLGetAPDItem ( const pODBCAPD pDesc, Word pRecNum ) { + pAPDItem i; + + // loop to see if binding for that col already exists + for ( i = pDesc->BindParams; i != NULL && i->ParamNum != pRecNum; i = i->Next ); + + // return the ARD item + return i; +} + + +// ----------------------------------------------------------------------- +// to get a particular IRD item, mhb +// ----------------------------------------------------------------------- + +pIRDItem _SQLGetIRDItem ( const pODBCIRD pDesc, Word pRecNum ) { + // check if descriptor is valid + if ( pDesc == NULL || pDesc->RowDesc == NULL ) + { return NULL; } + + return pDesc->RowDesc->columnMetas.at ( pRecNum - 1 ); +} + + +// ----------------------------------------------------------------------- +// to get a particular IPD item +// ----------------------------------------------------------------------- + +pIPDItem _SQLGetIPDItem ( const pODBCIPD pDesc, Word pRecNum ) { + pIPDItem i; + + // loop to see if binding for that col already exists + for ( i = pDesc->BindParams; i != NULL && i->ParamNum != pRecNum; i = i->Next ); + + // return the ARD item + return i; +} + + + +/////////////////////// DEFAULTS + + +// ----------------------------------------------------------------------- +// to set default values of APD header +// ----------------------------------------------------------------------- + +eGoodBad _SQLSetAPDFieldsDefault ( pODBCAPD pDesc, const pODBCStmt pStmt ) { + // reset all + memset ( pDesc, 0, sizeof ( ODBCAPD ) ); + // set explicit defaults + pDesc->Sign = SQL_DESC_APD; + pDesc->Stmt = pStmt; + pDesc->AllocType = SQL_DESC_ALLOC_AUTO; + pDesc->RowArraySize = 1; + pDesc->BindTypeOrSize = SQL_BIND_BY_COLUMN; + return GOOD; +} + +// ----------------------------------------------------------------------- +// to set default values of APD item +// ----------------------------------------------------------------------- + +eGoodBad _SQLSetAPDItemFieldsDefault ( pAPDItem pDescItem ) { + // reset all + memset ( pDescItem, 0, sizeof ( APDItem ) ); + // set explicit defaults + pDescItem->DataConciseType = SQL_C_DEFAULT; + pDescItem->DataVerboseType = SQL_C_DEFAULT; + return GOOD; +} + +// ----------------------------------------------------------------------- +// to set default values of IPD header +// ----------------------------------------------------------------------- + +eGoodBad _SQLSetIPDFieldsDefault ( pODBCIPD pDesc, const pODBCStmt pStmt ) { + // reset all + memset ( pDesc, 0, sizeof ( ODBCIPD ) ); + // set explicit defaults + pDesc->Sign = SQL_DESC_IPD; + pDesc->Stmt = pStmt; + return GOOD; +} + +// ----------------------------------------------------------------------- +// to set default values of IPD item +// ----------------------------------------------------------------------- + +eGoodBad _SQLSetIPDItemFieldsDefault ( pIPDItem pDescItem ) { + // reset all + memset ( pDescItem, 0, sizeof ( IPDItem ) ); + // set explicit defaults + pDescItem->ParamType = SQL_PARAM_INPUT; + pDescItem->DataConciseType = SQL_DEFAULT; + pDescItem->DataVerboseType = SQL_DEFAULT; + return GOOD; +} + +// ----------------------------------------------------------------------- +// to set default values of ARD header +// ----------------------------------------------------------------------- + +eGoodBad _SQLSetARDFieldsDefault ( pODBCARD pDesc, const pODBCStmt pStmt ) { + // reset all + memset ( pDesc, 0, sizeof ( ODBCARD ) ); + // set explicit defaults + pDesc->Sign = SQL_DESC_ARD; + pDesc->Stmt = pStmt; + pDesc->AllocType = SQL_DESC_ALLOC_AUTO; + pDesc->RowArraySize = 1; + pDesc->BindTypeOrSize = SQL_BIND_BY_COLUMN; + return GOOD; +} + +// ----------------------------------------------------------------------- +// to set default values of ARD item +// ----------------------------------------------------------------------- + +eGoodBad _SQLSetARDItemFieldsDefault ( pARDItem pDescItem, Word pRecNum ) { + // reset + memset ( pDescItem, 0, sizeof ( ARDItem ) ); + // set explicit defaults + pDescItem->ColNum = pRecNum; + pDescItem->DataConciseType = SQL_C_DEFAULT; + pDescItem->DataVerboseType = SQL_C_DEFAULT; + return GOOD; +} + + +// ----------------------------------------------------------------------- +// to set default values of IRD header +// ----------------------------------------------------------------------- + +eGoodBad _SQLSetIRDFieldsDefault ( pODBCIRD pDesc, const pODBCStmt pStmt ) { + // reset all + memset ( pDesc, 0, sizeof ( ODBCIRD ) ); + // set explicit defaults + pDesc->Sign = SQL_DESC_IRD; + pDesc->Stmt = pStmt; + return GOOD; +} + +// ----------------------------------------------------------------------- +// to set default values of IRD item +// ----------------------------------------------------------------------- + +eGoodBad _SQLSetIRDItemFieldsDefault ( pIRDItem pDescItem ) { + return GOOD; +} + + +//////////////////////// GET AND SET FIELD VALUES + +/////////////////////// APD + +// ----------------------------------------------------------------------- +// to set a field value in APD +// ----------------------------------------------------------------------- + +RETCODE SQL_API _SQLSetAPDField ( pODBCAPD pDesc, Word pFldID, const void* pDataPtr, Long pDataSize ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "_SQLSetAPDField called, pDesc: %d, Fld: %d, DataPtr: %d, DataSize: %d", + pDesc, pFldID, pDataPtr, pDataSize ) ); + + // precaution + if ( pDesc == NULL ) { + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetAPDField - invalid params" ) ); + return SQL_ERROR; + } + + switch ( pFldID ) { + case SQL_DESC_ARRAY_SIZE: + pDesc->RowArraySize = ( ULong ) pDataPtr; + break; + + case SQL_DESC_ARRAY_STATUS_PTR: + pDesc->ArrayStatusPtr = ( UWord* ) pDataPtr; + break; + + case SQL_DESC_BIND_OFFSET_PTR: + pDesc->BindOffsetPtr = ( Long* ) pDataPtr; + break; + + case SQL_DESC_BIND_TYPE: + pDesc->BindTypeOrSize = ( Long ) pDataPtr; + break; + + case SQL_DESC_COUNT: + // ???? requires that all descriptors which r above the specified + // value are freed + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetAPDField - SQL_DESC_COUNT not implemented" ) ); + return SQL_ERROR; + break; + + default: + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetAPDField - unknown field (%d)", pFldID ) ); + return SQL_ERROR; + break; + } + + return SQL_SUCCESS; +} + +// ----------------------------------------------------------------------- +// to set a field value in APD item +// ----------------------------------------------------------------------- + +RETCODE SQL_API _SQLSetAPDItemField ( pODBCAPD pDesc, pAPDItem pDescItem, Word pRecNum, Word pFldID, + const void* pDataPtr, Long pDataSize ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, + "_SQLSetAPDItemField called, pDesc: %d, pDescItem: %d, Recnum: %d, Fld: %d, DataPtr: %d, DataSize: %d", pDesc, + pDescItem, pRecNum, pFldID, pDataPtr, pDataSize ) ); + pAPDItem item; + + // precaution + if ( pDesc == NULL ) { + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetAPDItemField - invalid params" ) ); + return SQL_ERROR; + } + + // check if item has not been explicitly specified + if ( pDescItem == NULL ) { + // get item from APD + item = _SQLGetAPDItem ( pDesc, pRecNum ); + + // check if item located + if ( item == NULL ) { + // as a patch for SQL server it is temporarily ignoring the error + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "_SQLSetAPDItemField - invalid item" ) ); + return SQL_SUCCESS; + /////////// actual action is as follows ///////// + //__ODBCPOPMSG(_ODBCPopMsg("_SQLGetAPDItemField - invalid item")); + //return SQL_ERROR; + ///////////////////////////////////////////////// + } + } + + else + { item = pDescItem; } + + // as per required field + switch ( pFldID ) { + case SQL_DESC_CONCISE_TYPE: + _SQLSetDataType ( & ( pDesc->Stmt->Diag ), SQL_DESC_CONCISE_TYPE, ( Word ) pDataPtr, & ( item->DataVerboseType ), + & ( item->DataConciseType ), & ( item->DateTimeIntervalCode ) ); + break; + + case SQL_DESC_DATA_PTR: + item->DataPtr = ( void* ) pDataPtr; + break; + + case SQL_DESC_DATETIME_INTERVAL_CODE: + _SQLSetDataType ( & ( pDesc->Stmt->Diag ), SQL_DESC_DATETIME_INTERVAL_CODE, ( Word ) pDataPtr, + & ( item->DataVerboseType ), & ( item->DataConciseType ), & ( item->DateTimeIntervalCode ) ); + break; + + case SQL_DESC_DATETIME_INTERVAL_PRECISION: + item->DateTimeIntervalPrec = ( Long ) pDataPtr; + break; + + case SQL_DESC_INDICATOR_PTR: + item->SizeIndPtr = ( Long* ) pDataPtr; + break; + + case SQL_DESC_LENGTH: + case SQL_DESC_OCTET_LENGTH: + item->DataSize = ( Long ) pDataPtr; + break; + + case SQL_DESC_NUM_PREC_RADIX: + item->NumPrecRadix = ( Long ) pDataPtr; + break; + + case SQL_DESC_OCTET_LENGTH_PTR: + item->SizePtr = ( Long* ) pDataPtr; + break; + + case SQL_DESC_PRECISION: + item->DataSize = ( Word ) pDataPtr; + break; + + case SQL_DESC_SCALE: + item->Scale = ( Word ) pDataPtr; + break; + + case SQL_DESC_TYPE: + _SQLSetDataType ( & ( pDesc->Stmt->Diag ), SQL_DESC_TYPE, ( Word ) pDataPtr, & ( item->DataVerboseType ), + & ( item->DataConciseType ), & ( item->DateTimeIntervalCode ) ); + break; + + default: + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetAPDItemField - unknown field (%d)", pFldID ) ); + return SQL_ERROR; + break; + } + + return SQL_SUCCESS; +} + +// ----------------------------------------------------------------------- +// to get a field value from APD +// ----------------------------------------------------------------------- + +RETCODE SQL_API _SQLGetAPDField ( const pODBCAPD pDesc, Word pFldID, void* pDataPtr, Long pDataSize, + Long* pDataSizePtr ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, + "_SQLGetAPDField called, pDesc: %d, Fld: %d, DataPtr: %d, DataSize: %d, DataSizePtr: %d", pDesc, pFldID, pDataPtr, + pDataSize, pDataSizePtr ) ); + + // precaution + if ( pDesc == NULL || pDataPtr == NULL ) { + __ODBCPOPMSG ( _ODBCPopMsg ( "SQLGetAPDField - invalid params" ) ); + return SQL_ERROR; + } + + // as per required field + switch ( pFldID ) { + case SQL_DESC_ALLOC_TYPE: + * ( ( Word* ) pDataPtr ) = pDesc->AllocType; + break; + + case SQL_DESC_ARRAY_SIZE: + * ( ( ULong* ) pDataPtr ) = pDesc->RowArraySize; + break; + + case SQL_DESC_ARRAY_STATUS_PTR: + * ( ( UWord** ) pDataPtr ) = pDesc->ArrayStatusPtr; + break; + + case SQL_DESC_BIND_OFFSET_PTR: + * ( ( Long** ) pDataPtr ) = pDesc->BindOffsetPtr; + break; + + case SQL_DESC_BIND_TYPE: + * ( ( Long* ) pDataPtr ) = pDesc->BindTypeOrSize; + break; + + case SQL_DESC_COUNT: + * ( ( Word* ) pDataPtr ) = pDesc->DescCount; + break; + + default: + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetAPDField - unknown field (%d)", pFldID ) ); + return SQL_ERROR; + break; + } + + return SQL_SUCCESS; +} + +// ----------------------------------------------------------------------- +// to get a field value from an APD item +// ----------------------------------------------------------------------- + +RETCODE SQL_API _SQLGetAPDItemField ( const pODBCAPD pDesc, const pAPDItem pDescItem, Word pRecNum, + Word pFldID, void* pDataPtr, Long pDataSize, Long* pDataSizePtr ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, + "_SQLGetAPDItemField called, pDesc: %d, pDescItem: %d, Recnum: %d, Fld: %d, DataPtr: %d, DataSize: %d, DataSizePtr: %d", + pDesc, pDescItem, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ) ); + pAPDItem item; + + // precaution + if ( pDesc == NULL || pDataPtr == NULL ) { + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetAPDItemField - invalid params" ) ); + return SQL_ERROR; + } + + // check if item has not been specified directly + if ( pDescItem == NULL ) { + // get item from IPD + item = _SQLGetAPDItem ( pDesc, pRecNum ); + + // check if item located + if ( item == NULL ) { + // as a patch fro SQL server it is temporarily ignoring the error + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "_SQLGetAPDItemField - invalid item" ) ); + return SQL_SUCCESS; + /////////// actual action is as follows ///////// + //__ODBCPOPMSG(_ODBCPopMsg("_SQLGetAPDItemField - invalid item")); + //return SQL_ERROR; + ///////////////////////////////////////////////// + } + } + + else + { item = pDescItem; } + + // as per required field + switch ( pFldID ) { + case SQL_DESC_CONCISE_TYPE: + * ( ( Word* ) pDataPtr ) = item->DataConciseType; + break; + + case SQL_DESC_DATA_PTR: + * ( ( Long* ) pDataPtr ) = ( Long ) ( item->DataPtr ); + break; + + case SQL_DESC_DATETIME_INTERVAL_CODE: + * ( ( Word* ) pDataPtr ) = item->DateTimeIntervalCode; + break; + + case SQL_DESC_DATETIME_INTERVAL_PRECISION: + * ( ( Long* ) pDataPtr ) = item->DateTimeIntervalPrec; + break; + + case SQL_DESC_INDICATOR_PTR: + * ( ( Long** ) pDataPtr ) = item->SizeIndPtr; + break; + + case SQL_DESC_LENGTH: + case SQL_DESC_OCTET_LENGTH: + * ( ( Long* ) pDataPtr ) = item->DataSize; + break; + + case SQL_DESC_NUM_PREC_RADIX: + * ( ( Long* ) pDataPtr ) = item->NumPrecRadix; + break; + + case SQL_DESC_OCTET_LENGTH_PTR: + * ( ( Long** ) pDataPtr ) = item->SizePtr; + break; + + case SQL_DESC_PRECISION: + * ( ( Word* ) pDataPtr ) = ( Word ) ( item->DataSize ); + break; + + case SQL_DESC_SCALE: + * ( ( Word* ) pDataPtr ) = ( Word ) ( item->Scale ); + break; + + case SQL_DESC_TYPE: + * ( ( Word* ) pDataPtr ) = item->DataVerboseType; + break; + + default: + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetAPDItemField - unknown field (%d)", pFldID ) ); + return SQL_ERROR; + break; + } + + return SQL_SUCCESS; +} + + + +/////////////////////// IPD + + +// ----------------------------------------------------------------------- +// to set a field value in IPD +// ----------------------------------------------------------------------- + +RETCODE SQL_API _SQLSetIPDField ( pODBCIPD pDesc, Word pFldID, const void* pDataPtr, Long pDataSize ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "_SQLSetIPDField called, pDesc: %d, Fld: %d, DataPtr: %d, DataSize: %d", + pDesc, pFldID, pDataPtr, pDataSize ) ); + + // precaution + if ( pDesc == NULL ) { + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetIPDField - invalid params" ) ); + return SQL_ERROR; + } + + // as per required field + switch ( pFldID ) { + case SQL_DESC_ALLOC_TYPE: + // assumes automatic alloc by driver as appl alloc + // is not allowed as of now + break; + + case SQL_DESC_ARRAY_STATUS_PTR: + pDesc->ArrayStatusPtr = ( UWord* ) pDataPtr; + break; + + case SQL_DESC_COUNT: + // ???? requires that all descriptors which r above the specified + // value are freed. not implemented as of now + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetIPDField - SQL_DESC_COUNT not implemented" ) ); + return SQL_ERROR; + break; + + case SQL_DESC_ROWS_PROCESSED_PTR: + pDesc->RowsProcessedPtr = ( ULong* ) pDataPtr; + break; + + default: + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetIPDField - unknown field (%d)", pFldID ) ); + return SQL_ERROR; + break; + } + + return SQL_SUCCESS; +} + +// ----------------------------------------------------------------------- +// to set a field value in IPD item +// ----------------------------------------------------------------------- + +RETCODE SQL_API _SQLSetIPDItemField ( pODBCIPD pDesc, pIPDItem pDescItem, Word pRecNum, Word pFldID, + const void* pDataPtr, Long pDataSize ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, + "_SQLSetIPDItemField called, pDesc: %d, pDescItem: %d, Recnum: %d, Fld: %d, DataPtr: %d, DataSize: %d", pDesc, + pDescItem, pRecNum, pFldID, pDataPtr, pDataSize ) ); + pIPDItem item; + + // precaution + if ( pDesc == NULL ) { + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetIPDItemField - invalid params" ) ); + return SQL_ERROR; + } + + // check if item has not been specified directly + if ( pDescItem == NULL ) { + // get item from IRD + item = _SQLGetIPDItem ( pDesc, pRecNum ); + + // check if item located + if ( item == NULL ) { + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetIPDItemField - invalid item" ) ); + return SQL_ERROR; + } + } + + else + { item = pDescItem; } + + // as per required field + switch ( pFldID ) { + case SQL_DESC_CONCISE_TYPE: + _SQLSetDataType ( & ( pDesc->Stmt->Diag ), SQL_DESC_CONCISE_TYPE, ( Word ) pDataPtr, & ( item->DataVerboseType ), + & ( item->DataConciseType ), & ( item->DateTimeIntervalCode ) ); + break; + + case SQL_DESC_DATETIME_INTERVAL_CODE: + _SQLSetDataType ( & ( pDesc->Stmt->Diag ), SQL_DESC_DATETIME_INTERVAL_CODE, ( Word ) pDataPtr, + & ( item->DataVerboseType ), & ( item->DataConciseType ), & ( item->DateTimeIntervalCode ) ); + break; + + case SQL_DESC_DATETIME_INTERVAL_PRECISION: + item->DateTimeIntervalPrec = ( Long ) pDataPtr; + break; + + case SQL_DESC_LENGTH: + case SQL_DESC_OCTET_LENGTH: + item->DataSize = ( Long ) pDataPtr; + break; + + case SQL_DESC_NAME: + if ( pDataPtr && strlen ( ( Char* ) pDataPtr ) <= 32 ) + { strcpy ( item->ParamName, ( Char* ) pDataPtr ); } + + else + { item->ParamName[0] = 0; } + + case SQL_DESC_NUM_PREC_RADIX: + item->NumPrecRadix = ( Long ) pDataPtr; + break; + + case SQL_DESC_PARAMETER_TYPE: + item->ParamType = ( Word ) pDataPtr; + break; + + case SQL_DESC_PRECISION: + item->DataSize = ( Word ) pDataPtr; + break; + + case SQL_DESC_SCALE: + item->Scale = ( Word ) pDataPtr; + break; + + case SQL_DESC_TYPE: + _SQLSetDataType ( & ( pDesc->Stmt->Diag ), SQL_DESC_TYPE, ( Word ) pDataPtr, & ( item->DataVerboseType ), + & ( item->DataConciseType ), & ( item->DateTimeIntervalCode ) ); + break; + + case SQL_DESC_UNNAMED: + // dummy, is related to SQL_DESC_NAME + break; + + default: + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetIPDItemField - unknown field (%d)", pFldID ) ); + return SQL_ERROR; + break; + } + + return SQL_SUCCESS; +} + +// ----------------------------------------------------------------------- +// to get a field value from IPD +// ----------------------------------------------------------------------- + +RETCODE SQL_API _SQLGetIPDField ( const pODBCIPD pDesc, Word pFldID, void* pDataPtr, Long pDataSize, + Long* pDataSizePtr ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, + "_SQLGetIPDField called, pDesc: %d, Fld: %d, DataPtr: %d, DataSize: %d, DataSizePtr: %d", pDesc, pFldID, pDataPtr, + pDataSize, pDataSizePtr ) ); + + // precaution + if ( pDesc == NULL || pDataPtr == NULL ) { + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetIPDField - invalid params" ) ); + return SQL_ERROR; + } + + // as per required field + switch ( pFldID ) { + case SQL_DESC_ALLOC_TYPE: + * ( ( Word* ) pDataPtr ) = SQL_DESC_ALLOC_AUTO; + break; + + case SQL_DESC_ARRAY_STATUS_PTR: + * ( ( UWord** ) pDataPtr ) = pDesc->ArrayStatusPtr; + break; + + case SQL_DESC_COUNT: + * ( ( Word* ) pDataPtr ) = pDesc->DescCount; + break; + + case SQL_DESC_ROWS_PROCESSED_PTR: + * ( ( ULong** ) pDataPtr ) = pDesc->RowsProcessedPtr; + break; + + default: + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetIPDField - unknown field (%d)", pFldID ) ); + return SQL_ERROR; + break; + } + + return SQL_SUCCESS; +} + + +// ----------------------------------------------------------------------- +// to get a field value from an IPD item +// ----------------------------------------------------------------------- + +RETCODE SQL_API _SQLGetIPDItemField ( const pODBCIPD pDesc, const pIPDItem pDescItem, Word pRecNum, + Word pFldID, void* pDataPtr, Long pDataSize, Long* pDataSizePtr ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, + "_SQLGetIPDItemField called, pDesc: %d, pDescItem: %d, Recnum: %d, Fld: %d, DataPtr: %d, DataSize: %d, DataSizePtr: %d", + pDesc, pDescItem, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ) ); + pIPDItem item; + + // precaution + if ( pDesc == NULL || pDataPtr == NULL ) { + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetIPDItemField - invalid params" ) ); + return SQL_ERROR; + } + + // check if item has not been specified directly + if ( pDescItem == NULL ) { + // get item from IPD + item = _SQLGetIPDItem ( pDesc, pRecNum ); + + // check if item located + if ( item == NULL ) { + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetIPDItemField - invalid item" ) ); + return SQL_ERROR; + } + } + + else + { item = pDescItem; } + + // as per required field + switch ( pFldID ) { + case SQL_DESC_CASE_SENSITIVE: + * ( ( Long* ) pDataPtr ) = SQL_FALSE; // whether a param is case-sensitive + break; + + case SQL_DESC_CONCISE_TYPE: + * ( ( Word* ) pDataPtr ) = item->DataConciseType; + break; + + case SQL_DESC_DATETIME_INTERVAL_CODE: + * ( ( Word* ) pDataPtr ) = item->DateTimeIntervalCode; + break; + + case SQL_DESC_DATETIME_INTERVAL_PRECISION: + * ( ( Long* ) pDataPtr ) = item->DateTimeIntervalPrec; + break; + + case SQL_DESC_FIXED_PREC_SCALE: + * ( ( Word* ) pDataPtr ) = item->FixedPrecScale; + break; + + case SQL_DESC_LENGTH: + case SQL_DESC_OCTET_LENGTH: + * ( ( Long* ) pDataPtr ) = item->DataSize; + break; + + case SQL_DESC_TYPE_NAME: + case SQL_DESC_LOCAL_TYPE_NAME: + // ???? there is no param type string defined in IPD as of now + _SQLCopyCharData ( _DIAGSTMT ( pDesc->Stmt ), pDataPtr, pDataSize, pDataSizePtr, 16, "", -1 ); + break; + + case SQL_DESC_NAME: + _SQLCopyCharData ( _DIAGSTMT ( pDesc->Stmt ), pDataPtr, pDataSize, pDataSizePtr, 16, item->ParamName, -1 ); + break; + + case SQL_DESC_NULLABLE: + * ( ( Word* ) pDataPtr ) = item->Nullable; + break; + + case SQL_DESC_NUM_PREC_RADIX: + * ( ( Long* ) pDataPtr ) = item->NumPrecRadix; + break; + + case SQL_DESC_PARAMETER_TYPE: + * ( ( Word* ) pDataPtr ) = item->ParamType; + break; + + case SQL_DESC_PRECISION: + * ( ( Word* ) pDataPtr ) = ( Word ) ( item->DataSize ); + break; + + case SQL_DESC_ROWVER: + * ( ( Word* ) pDataPtr ) = SQL_FALSE; // assumes that all cols r not auto-updating + break; + + case SQL_DESC_SCALE: + * ( ( Word* ) pDataPtr ) = item->Scale; + break; + + case SQL_DESC_TYPE: + * ( ( Word* ) pDataPtr ) = item->DataVerboseType; + break; + + case SQL_DESC_UNNAMED: + * ( ( Word* ) pDataPtr ) = SQL_NAMED; + break; + + case SQL_DESC_UNSIGNED: + * ( ( Word* ) pDataPtr ) = SQL_FALSE; + break; + + default: + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetIPDItemField - unknown field (%d)", pFldID ) ); + return SQL_ERROR; + break; + } + + return SQL_SUCCESS; +} + + + + +/////////////////////// ARD + +// ----------------------------------------------------------------------- +// to set a field value in ARD header +// ----------------------------------------------------------------------- + +RETCODE SQL_API _SQLSetARDField ( pODBCARD pDesc, Word pFldID, const void* pDataPtr, Long pDataSize ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "_SQLSetARDField called, pDesc: %d, Fld: %d, DataPtr: %d, DataSize: %d", + pDesc, pFldID, pDataPtr, pDataSize ) ); + + // precaution + if ( pDesc == NULL ) { + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetARDField - invalid params" ) ); + return SQL_ERROR; + } + + // as per required field + switch ( pFldID ) { + case SQL_DESC_ARRAY_SIZE: + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "ARD RowArraySize is set to %d", ( ULong ) pDataPtr ) ); + pDesc->RowArraySize = ( ULong ) pDataPtr; + break; + + case SQL_DESC_ARRAY_STATUS_PTR: + pDesc->ArrayStatusPtr = ( UWord* ) pDataPtr; + break; + + case SQL_DESC_BIND_OFFSET_PTR: + pDesc->BindOffsetPtr = ( Long* ) pDataPtr; + break; + + case SQL_DESC_BIND_TYPE: + pDesc->BindTypeOrSize = ( Long ) pDataPtr; + break; + + case SQL_DESC_COUNT: + // ???? requires that all descriptors which r above the specified + // value are freed + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetARDField - SQL_DESC_COUNT not implemented" ) ); + return SQL_ERROR; + break; + + default: + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetARDField - unknown field (%d)", pFldID ) ); + return SQL_ERROR; + break; + } + + return SQL_SUCCESS; +} + + +// ----------------------------------------------------------------------- +// to set a field value in ARD item +// ----------------------------------------------------------------------- + +RETCODE SQL_API _SQLSetARDItemField ( pODBCARD pDesc, pARDItem pDescItem, Word pRecNum, Word pFldID, + const void* pDataPtr, Long pDataSize ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, + "_SQLSetARDItemField called, pDesc: %d, pDescItem: %d, Recnum: %d, Fld: %d, DataPtr: %d, DataSize: %d", pDesc, + pDescItem, pRecNum, pFldID, pDataPtr, pDataSize ) ); + pARDItem item; + + // precaution + if ( pDesc == NULL ) { + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetARDItemField - invalid params" ) ); + return SQL_ERROR; + } + + // check if item has not been specified directly + if ( pDescItem == NULL ) { + // get item from ARD + item = _SQLGetARDItem ( pDesc, pRecNum ); + + // check if item located + if ( item == NULL ) { + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetARDItemField - invalid item" ) ); + return SQL_ERROR; + } + } + + else + { item = pDescItem; } + + // as per required field + switch ( pFldID ) { + case SQL_DESC_CONCISE_TYPE: + _SQLSetDataType ( & ( pDesc->Stmt->Diag ), SQL_DESC_CONCISE_TYPE, ( Word ) pDataPtr, & ( item->DataVerboseType ), + & ( item->DataConciseType ), & ( item->DateTimeIntervalCode ) ); + break; + + case SQL_DESC_DATA_PTR: + item->DataPtr = ( void* ) pDataPtr; + break; + + case SQL_DESC_DATETIME_INTERVAL_CODE: + _SQLSetDataType ( & ( pDesc->Stmt->Diag ), SQL_DESC_DATETIME_INTERVAL_CODE, ( Word ) pDataPtr, + & ( item->DataVerboseType ), & ( item->DataConciseType ), & ( item->DateTimeIntervalCode ) ); + break; + + case SQL_DESC_DATETIME_INTERVAL_PRECISION: + item->DateTimeIntervalPrec = ( Long ) pDataPtr; + break; + + case SQL_DESC_INDICATOR_PTR: + item->SizeIndPtr = ( Long* ) pDataPtr; + break; + + case SQL_DESC_LENGTH: + case SQL_DESC_OCTET_LENGTH: + item->DataSize = ( Long ) pDataPtr; + break; + + case SQL_DESC_NUM_PREC_RADIX: + item->NumPrecRadix = ( Long ) pDataPtr; + break; + + case SQL_DESC_OCTET_LENGTH_PTR: // 1004 + item->SizePtr = ( Long* ) pDataPtr; + break; + + case SQL_DESC_PRECISION: + item->DataSize = ( Word ) pDataPtr; // bytes required for numeric type + break; + + case SQL_DESC_SCALE: + item->Scale = ( Word ) pDataPtr; + break; + + case SQL_DESC_TYPE: + _SQLSetDataType ( & ( pDesc->Stmt->Diag ), SQL_DESC_TYPE, ( Word ) pDataPtr, & ( item->DataVerboseType ), + & ( item->DataConciseType ), & ( item->DateTimeIntervalCode ) ); + break; + + default: + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetARDItemField - unknown field (%d)", pFldID ) ); + return SQL_ERROR; + break; + } + + return SQL_SUCCESS; +} + + +// ----------------------------------------------------------------------- +// to get a field value from ARD +// ----------------------------------------------------------------------- + +RETCODE SQL_API _SQLGetARDField ( const pODBCARD pDesc, Word pFldID, void* pDataPtr, Long pDataSize, + Long* pDataSizePtr ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, + "_SQLGetARDField called, pDesc: %d, Fld: %d, DataPtr: %d, DataSize: %d, DataSizePtr: %d", pDesc, pFldID, pDataPtr, + pDataSize, pDataSizePtr ) ); + + // precaution + if ( pDesc == NULL || pDataPtr == NULL ) { + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetARDField - invalid params" ) ); + return SQL_ERROR; + } + + // as per required field + switch ( pFldID ) { + case SQL_DESC_ALLOC_TYPE: + * ( ( Word* ) pDataPtr ) = pDesc->AllocType; + break; + + case SQL_DESC_ARRAY_SIZE: + * ( ( ULong* ) pDataPtr ) = pDesc->RowArraySize; + break; + + case SQL_DESC_ARRAY_STATUS_PTR: + * ( ( UWord** ) pDataPtr ) = pDesc->ArrayStatusPtr; + break; + + case SQL_DESC_BIND_OFFSET_PTR: + * ( ( Long** ) pDataPtr ) = pDesc->BindOffsetPtr; + break; + + case SQL_DESC_BIND_TYPE: + * ( ( Long* ) pDataPtr ) = pDesc->BindTypeOrSize; + break; + + case SQL_DESC_COUNT: + * ( ( Word* ) pDataPtr ) = pDesc->DescCount; + break; + + default: + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetARDField - unknown field (%d)", pFldID ) ); + return SQL_ERROR; + break; + } + + return SQL_SUCCESS; +} + + +// ----------------------------------------------------------------------- +// to get a field value from an ARD item +// ----------------------------------------------------------------------- + +RETCODE SQL_API _SQLGetARDItemField ( const pODBCARD pDesc, const pARDItem pDescItem, Word pRecNum, + Word pFldID, void* pDataPtr, Long pDataSize, Long* pDataSizePtr ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, + "_SQLGetIPDItemField called, pDesc: %d, pDescItem: %d, Recnum: %d, Fld: %d, DataPtr: %d, DataSize: %d, DataSizePtr: %d", + pDesc, pDescItem, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ) ); + pARDItem item; + + // precaution + if ( pDesc == NULL || pDataPtr == NULL ) { + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetARDItemField - invalid params" ) ); + return SQL_ERROR; + } + + // check if item has not been specified directly + if ( pDescItem == NULL ) { + // get item from ARD + item = _SQLGetARDItem ( pDesc, pRecNum ); + + // check if item located + if ( item == NULL ) { + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetARDField - invalid item" ) ); + return SQL_ERROR; + } + } + + else + { item = pDescItem; } + + // as per required field + switch ( pFldID ) { + case SQL_DESC_CONCISE_TYPE: + * ( ( Word* ) pDataPtr ) = item->DataConciseType; + break; + + case SQL_DESC_DATA_PTR: + * ( ( Long* ) pDataPtr ) = ( Long ) ( item->DataPtr ); + break; + + case SQL_DESC_DATETIME_INTERVAL_CODE: + * ( ( Word* ) pDataPtr ) = item->DateTimeIntervalCode; + break; + + case SQL_DESC_DATETIME_INTERVAL_PRECISION: + * ( ( Long* ) pDataPtr ) = item->DateTimeIntervalPrec; + break; + + case SQL_DESC_INDICATOR_PTR: + * ( ( Long** ) pDataPtr ) = item->SizeIndPtr; + break; + + case SQL_DESC_LENGTH: + case SQL_DESC_OCTET_LENGTH: + * ( ( Long* ) pDataPtr ) = item->DataSize; + break; + + case SQL_DESC_NUM_PREC_RADIX: + * ( ( Long* ) pDataPtr ) = item->NumPrecRadix; + break; + + case SQL_DESC_OCTET_LENGTH_PTR: + * ( ( Long** ) pDataPtr ) = item->SizePtr; + break; + + case SQL_DESC_PRECISION: + * ( ( Word* ) pDataPtr ) = ( Word ) ( item->DataSize ); + break; + + case SQL_DESC_SCALE: + * ( ( Word* ) pDataPtr ) = ( Word ) ( item->Scale ); + break; + + case SQL_DESC_TYPE: + * ( ( Word* ) pDataPtr ) = item->DataVerboseType; + break; + + default: + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetARDItemField - unknown field (%d)", pFldID ) ); + return SQL_ERROR; + break; + } + + return SQL_SUCCESS; +} + + + +/////////////////////// IRD + + +// ----------------------------------------------------------------------- +// to set a field value in IRD item +// ----------------------------------------------------------------------- + +RETCODE SQL_API _SQLSetIRDField ( pODBCIRD pDesc, Word pFldID, const void* pDataPtr, Long pDataSize ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "_SQLSetIRDField called, pDesc: %d, Fld: %d, DataPtr: %d, DataSize: %d", + pDesc, pFldID, pDataPtr, pDataSize ) ); + + // precaution + if ( pDesc == NULL ) { + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetIRDField - invalid params" ) ); + return SQL_ERROR; + } + + // as per required field + switch ( pFldID ) { + case SQL_DESC_ARRAY_STATUS_PTR: + pDesc->ArrayStatusPtr = ( UWord* ) pDataPtr; + break; + + case SQL_DESC_ROWS_PROCESSED_PTR: + pDesc->RowsProcessedPtr = ( ULong* ) pDataPtr; + break; + + default: + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetIRDField - unknown field (%d)", pFldID ) ); + return SQL_ERROR; + break; + } + + return SQL_SUCCESS; +} + +/********** + // ----------------------------------------------------------------------- + // to set a field value in IRD item + // ----------------------------------------------------------------------- + + RETCODE SQL_API _SQLSetIRDItemField ( pODBCIRD pDesc, pIRDItem pDescItem, Word pRecNum, Word pFldID, const void* pDataPtr, Long pDataSize ) + { + __ODBCPOPMSG(_ODBCPopMsg("_SQLSetIRDItemField - unknown field (%d)", pFldID)); + + return SQL_SUCCESS; + } +**********/ + +// ----------------------------------------------------------------------- +// to get a field value from IRD +// ----------------------------------------------------------------------- + +RETCODE SQL_API _SQLGetIRDField ( const pODBCIRD pDesc, Word pFldID, void* pDataPtr, Long pDataSize, + Long* pDataSizePtr ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, + "_SQLGetIRDField called, pDesc: %d, Fld: %d, DataPtr: %d, DataSize: %d, DataSizePtr: %d", pDesc, pFldID, pDataPtr, + pDataSize, pDataSizePtr ) ); + + // precaution + if ( pDesc == NULL || pDataPtr == NULL ) { + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetIRDField - invalid params" ) ); + return SQL_ERROR; + } + + // as per required field + switch ( pFldID ) { + case SQL_DESC_ALLOC_TYPE: + * ( ( Word* ) pDataPtr ) = SQL_DESC_ALLOC_AUTO; + break; + + case SQL_DESC_ARRAY_STATUS_PTR: + * ( ( UWord** ) pDataPtr ) = pDesc->ArrayStatusPtr; + break; + + case SQL_DESC_COUNT: + * ( ( Word* ) pDataPtr ) = pDesc->DescCount; + break; + + case SQL_DESC_ROWS_PROCESSED_PTR: + * ( ( ULong** ) pDataPtr ) = pDesc->RowsProcessedPtr; + break; + + default: + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetIRDField - unknown field (%d)", pFldID ) ); + return SQL_ERROR; + break; + } + + return SQL_SUCCESS; +} + +static bool isApproximateNumerical ( int type ) { + //According to this article: + //Data Types in SQL Statements + //http://developer.mimer.com/documentation/Mimer_SQL_Reference_Manual/Syntax_Rules4.html + if ( type == ( int ) ODBCTypes::ODBC_Float || + type == ( int ) ODBCTypes::ODBC_Real || + type == ( int ) ODBCTypes::ODBC_Double ) { + return true; + } + + return false; +} + + +// ----------------------------------------------------------------------- +// to get a field value from an IRD item, mhb +// ----------------------------------------------------------------------- + +RETCODE SQL_API _SQLGetIRDItemField ( const pODBCIRD pDesc, const pIRDItem pDescItem, Word pRecNum, + Word pFldID, void* pDataPtr, Long pDataSize, Long* pDataSizePtr, bool isANSI ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, + "_SQLGetIRDItemField called, pDesc: %d, pDescItem: %d, Recnum: %d, Fld: %d, DataPtr: %d, DataSize: %d, DataSizePtr: %d, isANSI: %d", + pDesc, pDescItem, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ) ); + CStrPtr s; + pIRDItem item; + + // precaution + if ( pDesc == NULL || pDataPtr == NULL ) { + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetIRDItemField - invalid params" ) ); + return SQL_ERROR; + } + + // check if item has not been specified directly + if ( pDescItem == NULL ) { + // get item from IRD + item = _SQLGetIRDItem ( pDesc, pRecNum ); + + // check if item located + if ( item == NULL ) { + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetIRDItemField - invalid item" ) ); + return SQL_ERROR; + } + } + + else + { item = pDescItem; } + + // as per required field + switch ( pFldID ) { + case SQL_DESC_AUTO_UNIQUE_VALUE: + * ( ( Long* ) pDataPtr ) = pDescItem->isAutoIncrement; // whether a col is auto-incrementing + break; + + case SQL_DESC_NAME://1011 + case SQL_DESC_LABEL://18 + case SQL_DESC_BASE_COLUMN_NAME://22 + s = pDescItem->name.c_str(); + + // transfer col name + if ( isANSI ) + { _SQLCopyCharData ( _DIAGSTMT ( pDesc->Stmt ), pDataPtr, pDataSize, pDataSizePtr, 32, ( ( s ) ? s : "" ), -1 ); } + + else + { _SQLCopyWCharData ( _DIAGSTMT ( pDesc->Stmt ), pDataPtr, pDataSize, pDataSizePtr, 32, ( ( s ) ? s : "" ), -1 ); } + + break; + + case SQL_DESC_BASE_TABLE_NAME://23 + if ( isANSI ) + { _SQLCopyCharData ( _DIAGSTMT ( pDesc->Stmt ), pDataPtr, pDataSize, pDataSizePtr, 32, pDescItem->tableName.c_str(), -1 ); } + + else + { _SQLCopyWCharData ( _DIAGSTMT ( pDesc->Stmt ), pDataPtr, pDataSize, pDataSizePtr, 32, pDescItem->tableName.c_str(), -1 ); } + + break; + + case SQL_DESC_CASE_SENSITIVE://12 + * ( ( Long* ) pDataPtr ) = pDescItem->isCaseSensitive; // whether a col is case-sensitive + break; + + case SQL_DESC_CATALOG_NAME://17 + s = pDescItem->catelogName.c_str(); + + if ( isANSI ) + { _SQLCopyCharData ( _DIAGSTMT ( pDesc->Stmt ), pDataPtr, pDataSize, pDataSizePtr, 16, s, -1 ); } + + else + { _SQLCopyWCharData ( _DIAGSTMT ( pDesc->Stmt ), pDataPtr, pDataSize, pDataSizePtr, 16, s, -1 ); } + + break; + + case SQL_DESC_TYPE://1002 + case SQL_DESC_CONCISE_TYPE://2 + * ( ( Long* ) pDataPtr ) = pDescItem->columnType; + break; + + case SQL_DESC_DATETIME_INTERVAL_CODE://1007 + * ( ( Word* ) pDataPtr ) = 0; + break; + + case SQL_DESC_DATETIME_INTERVAL_PRECISION://26 + * ( ( Long* ) pDataPtr ) = 0; + break; + + case SQL_COLUMN_LENGTH://3 + case SQL_DESC_LENGTH://1003 + case SQL_DESC_DISPLAY_SIZE://6 + if ( isANSI ) + { * ( ( Long* ) pDataPtr ) = pDescItem->displaySize; } + + else + { * ( ( Long* ) pDataPtr ) = pDescItem->displaySize * 2; } + + break; + + case SQL_DESC_OCTET_LENGTH://1013 + if ( isANSI ) + { * ( ( Long* ) pDataPtr ) = pDescItem->displaySize; } + + else + { * ( ( Long* ) pDataPtr ) = pDescItem->displaySize * 2; } + + break; + + case SQL_DESC_FIXED_PREC_SCALE://9 + + //SQL_TRUE if the column has a fixed precision and nonzero scale that are data source�Cspecific. + //SQL_FALSE if the column does not have a fixed precision and nonzero scale that are data source�Cspecific. + if ( isApproximateNumerical ( pDescItem->columnType ) ) { + * ( ( Long* ) pDataPtr ) = SQL_FALSE; + } + + else { + * ( ( Long* ) pDataPtr ) = SQL_TRUE; + } + + break; + + case SQL_DESC_LITERAL_PREFIX://27 + case SQL_DESC_LITERAL_SUFFIX://28 + + // assumes prefix and suffix to be single quote + if ( isANSI ) + { _SQLCopyCharData ( _DIAGSTMT ( pDesc->Stmt ), pDataPtr, pDataSize, pDataSizePtr, 32, "\"", -1 ); } + + else + { _SQLCopyWCharData ( _DIAGSTMT ( pDesc->Stmt ), pDataPtr, pDataSize, pDataSizePtr, 32, "\"", -1 ); } + + break; + + case SQL_DESC_TYPE_NAME://14 + case SQL_DESC_LOCAL_TYPE_NAME://29 + s = pDescItem->columnTypeName.c_str(); + + // trasnfer col type name + if ( isANSI ) + { _SQLCopyCharData ( _DIAGSTMT ( pDesc->Stmt ), pDataPtr, pDataSize, pDataSizePtr, 32, s, -1 ); } + + else + { _SQLCopyWCharData ( _DIAGSTMT ( pDesc->Stmt ), pDataPtr, pDataSize, pDataSizePtr, 32, s, -1 ); } + + break; + + case SQL_DESC_NULLABLE://1008 + if ( pDescItem->isNullable == 1 ) { + * ( ( Word* ) pDataPtr ) = SQL_NULLABLE; + break; + } + + else if ( pDescItem->isNullable == 0 ) { + * ( ( Word* ) pDataPtr ) = SQL_NO_NULLS; + break; + } + + // fall thru + * ( ( Word* ) pDataPtr ) = SQL_NULLABLE_UNKNOWN; + break; + + case SQL_DESC_NUM_PREC_RADIX://32 + + //If the data type in the SQL_DESC_TYPE field is an approximate numeric data type, + //this SQLINTEGER field contains a value of 2 because the SQL_DESC_PRECISION field contains the number of bits. + //If the data type in the SQL_DESC_TYPE field is an exact numeric data type, + //this field contains a value of 10 because the SQL_DESC_PRECISION field contains the number of decimal digits. + //This field is set to 0 for all non-numeric data types. + if ( isApproximateNumerical ( pDescItem->columnType ) ) { + * ( ( Long* ) pDataPtr ) = 2; + } + + else { + * ( ( Long* ) pDataPtr ) = 10; + } + + break; + + case SQL_COLUMN_PRECISION: //4 + case SQL_DESC_PRECISION: //1005 + * ( ( Long* ) pDataPtr ) = pDescItem->precision; + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "precision is returned as %i ", * ( ( Word* ) pDataPtr ) ) ); + break; + + case SQL_DESC_ROWVER://35 + // assumes that all cols r not auto-updating like TIMESTAMP + * ( ( Word* ) pDataPtr ) = SQL_FALSE; + break; + + case SQL_COLUMN_SCALE: //5 + case SQL_DESC_SCALE://1006 + * ( ( Long* ) pDataPtr ) = pDescItem->scale; + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "scale is returned as %i ", * ( ( Word* ) pDataPtr ) ) ); + break; + + case SQL_DESC_SCHEMA_NAME://16 + s = pDescItem->schemaName.c_str(); + + if ( isANSI ) + { _SQLCopyCharData ( _DIAGSTMT ( pDesc->Stmt ), pDataPtr, pDataSize, pDataSizePtr, 32, s, -1 ); } + + else + { _SQLCopyWCharData ( _DIAGSTMT ( pDesc->Stmt ), pDataPtr, pDataSize, pDataSizePtr, 32, s, -1 ); } + + break; + + case SQL_DESC_SEARCHABLE://13 + * ( ( Long* ) pDataPtr ) = SQL_PRED_SEARCHABLE; + break; + + case SQL_DESC_TABLE_NAME://15 + s = pDescItem->tableName.c_str(); + + if ( isANSI ) + { _SQLCopyCharData ( _DIAGSTMT ( pDesc->Stmt ), pDataPtr, pDataSize, pDataSizePtr, 32, s, -1 ); } + + else + { _SQLCopyWCharData ( _DIAGSTMT ( pDesc->Stmt ), pDataPtr, pDataSize, pDataSizePtr, 32, s, -1 ); } + + break; + + case SQL_DESC_UNNAMED://1012 + * ( ( Long* ) pDataPtr ) = SQL_NAMED; + break; + + case SQL_DESC_UNSIGNED://8 + * ( ( Long* ) pDataPtr ) = !pDescItem->isSigned; + break; + + case SQL_DESC_UPDATABLE://10 + * ( ( Long* ) pDataPtr ) = SQL_ATTR_READONLY; + break; + + default: + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetIRDItemField - unknown field (%d)", pFldID ) ); + return SQL_ERROR; + break; + } + + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "get item returned" ) ); + return SQL_SUCCESS; +} + + +///////////////////// FREE + +// ----------------------------------------------------------------------- +// to free/release the content of APD +// ----------------------------------------------------------------------- + +RETCODE SQL_API _SQLFreeAPDContent ( pODBCAPD pDesc ) { + // since params have not been implemented + // it assumes that no params have been allocated + return SQL_SUCCESS; +} + +// ----------------------------------------------------------------------- +// to free/release the content of IPD +// ----------------------------------------------------------------------- + +RETCODE SQL_API _SQLFreeIPDContent ( pODBCIPD pDesc ) { + // since params have not been implemented + // it assumes that no params have been allocated + return SQL_SUCCESS; +} + +// ----------------------------------------------------------------------- +// to free/release the content of ARD +// ----------------------------------------------------------------------- + +RETCODE SQL_API _SQLFreeARDContent ( pODBCARD pDesc ) { + pARDItem ardcol; // application row descriptor item + + // check if there r any bound cols in ARD + if ( pDesc->BindCols ) { + // loop to free all the bound cols + while ( pDesc->BindCols ) { + // get the first ard-col + ardcol = pDesc->BindCols; + // detach it from ARD link list + _SQLDetachARDItem ( pDesc, ardcol ); + // free + delete ardcol; + } + } + + // reset the highest descriptor count + pDesc->DescCount = 0; + return SQL_SUCCESS; +} + +// ----------------------------------------------------------------------- +// to free/release the content of IRD +// ----------------------------------------------------------------------- + +RETCODE SQL_API _SQLFreeIRDContent ( pODBCIRD pDesc ) { + pDesc->DescCount = 0; + + if ( pDesc->RowDesc ) { + pDesc->RowDesc = NULL; + } + + return SQL_SUCCESS; +} + + +////////////////////// ATTACH/DETACH + +// ----------------------------------------------------------------------- +// to attach a new item to ARD link list +// ----------------------------------------------------------------------- + +eGoodBad _SQLAttachARDItem ( pODBCARD pDesc, pARDItem pDescItem ) { + // note + // this function also helps in maintaining highest desc number + pARDItem l; + + // precaution + if ( pDesc == NULL || pDescItem == NULL ) { + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLAttachARDItem - invalid params" ) ); + return BAD; + } + + // check if this is the first item + if ( pDesc->BindCols == NULL ) { + // set as first and only item + pDesc->BindCols = pDescItem; + pDescItem->Prev = NULL; + pDescItem->Next = NULL; + return GOOD; + } + + // move to tail item + for ( l = pDesc->BindCols; l->Next != NULL; l = l->Next ); + + // attach to tail + l->Next = pDescItem; + pDescItem->Prev = l; + pDescItem->Next = NULL; + + // maintain highest desc number + if ( pDesc->DescCount < pDescItem->ColNum ) + { pDesc->DescCount = pDescItem->ColNum; } + + return GOOD; +} + +// ----------------------------------------------------------------------- +// to detach an existing item from ARD link-list +// ----------------------------------------------------------------------- + +eGoodBad _SQLDetachARDItem ( pODBCARD pDesc, pARDItem pDescItem ) { + // note + // this function also helps in maintaining highest desc number + + // precaution + if ( pDesc == NULL || pDescItem == NULL ) { + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLDetachARDItem - invalid params" ) ); + return BAD; + } + + if ( pDescItem->Prev ) + { ( pDescItem->Prev )->Next = pDescItem->Next; } // attach prev to next + + else + { pDesc->BindCols = pDescItem->Next; } // set head to next if any + + if ( pDescItem->Next ) + { ( pDescItem->Next )->Prev = pDescItem->Prev; } // set next to prev if any + + // maintain highest desc number + if ( pDesc->DescCount == pDescItem->ColNum ) { + Word i; + pARDItem p; + + // loop to find the highest number and set that + for ( i = 0, p = pDesc->BindCols; p != NULL; p = p->Next ) + if ( p->ColNum > i ) + { i = p->ColNum; } + + // set the highest count to this column + pDesc->DescCount = i; + } + + return GOOD; +} + +//////////////////// UTILITY functions + +// ----------------------------------------------------------------------- +// to get converted col descriptor information +// ----------------------------------------------------------------------- + +eGoodBad GetIRDColDescInfo ( SelectedColumnMeta* pColDesc, Word* pDataType, Word* pPrecision, Word* pScale, + Long* pLength ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "GetIRDColDescInfo called" ) ); + + // precaution + if ( !pColDesc ) + { return BAD; } + + // caller safe + if ( pDataType ) { *pDataType = 0; } + + if ( pPrecision ) { *pPrecision = 0; } + + if ( pScale ) { *pScale = 0; } + + if ( pLength ) { *pLength = 0; } + + if ( pDataType ) { *pDataType = pColDesc->columnType; } + + if ( pPrecision ) { *pPrecision = pColDesc->precision; } + + if ( pScale ) { *pScale = pColDesc->scale; } + + if ( pLength ) { *pLength = pColDesc->displaySize; } + + return GOOD; +} diff --git a/odbc/Driver/KO_FETCH.CPP b/odbc/Driver/KO_FETCH.CPP index 1a87e09..ef13cdb 100644 --- a/odbc/Driver/KO_FETCH.CPP +++ b/odbc/Driver/KO_FETCH.CPP @@ -1,1231 +1,1329 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - -// ---------------------------------------------------------------------------- -// -// File: KO_FETCH.CPP -// -// Purpose: Contains function for fetching results. -// As explained in the article ODBC has a -// defined way in which the data is made available. -// -// 1. The client CAN obtain general details -// about the result like num of rows etc using -// SQLRowCount, SQLNumResultCols. -// -// 2. It obtains metadata about the result -// more specifically info about columns like -// size type etc using SQLColAttribute or -// SQLDescribeCol. -// -// 3. Then it allocates and bind the buffer -// specifying the other info like buffer size -// etc for the cols it desires to extract using -// SQLBindCol -// -// 4. Then it instructs the driver to feed these -// buffers using SQLFetch or SQLExtendedFetch. -// -// 5. This is the general way. In case the data -// involved is quite large, it can be extracted -// piecemeal using SQLGetData. SQLPutData is the -// funcion corresponding to SQLGetData to specify -// large param values say storing images etc. -// Since I have not implemented params or long -// data read write in this sample, SQLPutData resides -// in this file with SQLGetData. -// -// All fetch occur via the local function _SQLFetch. -// Internally the fetch is executed in the following -// way. -// 1. The rowdesc from server (IRD) and appl (ARD ) -// is obtained. -// 2. Main loop to fetch rowset number of rows. More -// than one row can be fetched at a time. The movement -// in resulset is done using _SQLFetchMoveNext. -// 3. For each row, loop through each ARD item to -// extract the col(s) required by the client. -// -// SQLColConvert and associated funtions _SQLCopyCharData, -// SQLCopyNumData, _SQLCopyDateTimeData r used to perform -// necessary conversion between data as recived from the -// server and data as required by the client. -// -// Exported functions: -// SQLColAttribute -// SQLDescribeCol -// SQLBindCol -// SQLNumResultCols -// SQLRowCount -// SQLFetch -// SQLExtendedFetch -// SQLFetchScroll -// SQLGetData -// SQLPutData -// SQLMoreResults -// SQLNativeSql -// -// ---------------------------------------------------------------------------- -#include "stdafx.h" - -#include "Dump.h" - -// ------------------------- local functions ----------------------------- -RETCODE SQL_API _SQLFetch ( pODBCStmt pStmt, Word pFetchOrientation, Long pFetchOffset, ULong* pRowCountPtr, - UWord* pRowStatusArray ); -RETCODE SQL_API _SQLColConvert ( pODBCStmt pStmt, void* pTgtDataPtr, Long* pTgtDataSizePtr, CStrPtr pSrcColData, - pARDItem pARDCol , bool isSigned ); -RETCODE SQL_API _SQLFetchMoveNext ( pODBCStmt pStmt ); -RETCODE SQL_API _SQLResetRowPos ( pODBCStmt pStmt ); - -SQLRowContent* GetIfExist ( std::vector& container, int index ); - -// ----------------------------------------------------------------------- -// to get specific detail//attribute about a col returned from server --- FROM IRD -// kylin specific -// ----------------------------------------------------------------------- - - -RETCODE _SQLColAttribute_basic ( SQLHSTMT pStmt, - SQLUSMALLINT pColNum, - SQLUSMALLINT pFldID, - SQLPOINTER pDataPtr, - SQLSMALLINT pDataSize, - SQLSMALLINT* pDataSizePtr, // in bytes - SQLPOINTER pNumValuePtr ,// integer - bool isANSI - ) { //if returned data is numeric, feed this - Long n; - SQLResponse* ird; - pIRDItem col; - __CHK_HANDLE ( pStmt, SQL_HANDLE_STMT, SQL_ERROR ); - // free diags - _SQLFreeDiag ( _DIAGSTMT ( pStmt ) ); - - // precaution - if ( pColNum == 0 ) { - _SQLPutDiagRow ( SQL_HANDLE_STMT, pStmt, "SQLColAttribute", "01000", -1, "bad params" ); - return SQL_ERROR; - } - - // get the row descriptor obtained with response - ird = ( ( ( pODBCStmt ) pStmt )->IRD ).RowDesc.get(); - - // check - if ( ird == NULL ) { - _SQLPutDiagRow ( SQL_HANDLE_STMT, pStmt, "SQLColAttribute", "01000", -1, "No resultset or no col descriptors" ); - return SQL_ERROR; - } - - // find the xth element/col - col = _SQLGetIRDItem ( & ( ( ( pODBCStmt ) pStmt )->IRD ), pColNum ); - - // check - if ( col == NULL ) { - _SQLPutDiagRow ( SQL_HANDLE_STMT, pStmt, "SQLColAttribute", "01000", -1, "Invalid col num" ); - return SQL_ERROR; - } - - // get value from descriptor as per field type - switch ( pFldID ) { - // numeric types clubbed together - case SQL_DESC_AUTO_UNIQUE_VALUE: // is col auto-incrementing - case SQL_DESC_CASE_SENSITIVE: // is col case-insensitive - case SQL_DESC_TYPE: // verbose type - case SQL_DESC_CONCISE_TYPE: // concise type - case SQL_DESC_COUNT: // no.of highest bound column - case SQL_DESC_LENGTH: - case SQL_DESC_DISPLAY_SIZE: - case SQL_DESC_OCTET_LENGTH: - case SQL_DESC_FIXED_PREC_SCALE: - case SQL_DESC_NULLABLE: - case SQL_DESC_NUM_PREC_RADIX: - case SQL_DESC_PRECISION: - case SQL_DESC_SCALE: - case SQL_DESC_SEARCHABLE: - case SQL_DESC_UNNAMED: - case SQL_DESC_UNSIGNED: - case SQL_DESC_UPDATABLE: - _SQLGetIRDItemField ( & ( ( ( pODBCStmt ) pStmt )->IRD ), col, pColNum, pFldID, pNumValuePtr, -1, NULL , isANSI ); - break; - - // char types clubbed together - - case SQL_DESC_BASE_TABLE_NAME: // table name for column - case SQL_DESC_CATALOG_NAME: // database name - case SQL_DESC_LITERAL_PREFIX: - case SQL_DESC_LITERAL_SUFFIX: - case SQL_DESC_LOCAL_TYPE_NAME: - case SQL_DESC_TYPE_NAME: - case SQL_DESC_SCHEMA_NAME: - case SQL_DESC_TABLE_NAME: - _SQLGetIRDItemField ( & ( ( ( pODBCStmt ) pStmt )->IRD ), col, pColNum, pFldID, pDataPtr, pDataSize, - pDataSizePtr ? &n : NULL, isANSI ); - - if ( pDataSizePtr ) - { *pDataSizePtr = ( Word ) n; } - - break; - - case SQL_DESC_BASE_COLUMN_NAME: - case SQL_DESC_LABEL: - case SQL_DESC_NAME: - // //// - // as a special case the name length may be required without the actual name - ////// - StrPtr cname; - Word cnamesize; - - if ( pDataPtr ) { - cname = ( StrPtr ) pDataPtr; - cnamesize = pDataSize; - } - - else { - cname = new Char[256]; // arbitary - cnamesize = 255; - } - - _SQLGetIRDItemField ( & ( ( ( pODBCStmt ) pStmt )->IRD ), col, pColNum, pFldID, cname, cnamesize, - pDataSizePtr ? &n : NULL, isANSI ); - - if ( pDataPtr == NULL ) - { delete[] cname; } - - if ( pDataSizePtr ) - { *pDataSizePtr = ( Word ) n; } - - break; - - default: - __ODBCPOPMSG ( _ODBCPopMsg ( "SQLColAttribute unknown attr, ColNum: %d, FldID: %d\n", pColNum, pFldID ) ); - return SQL_ERROR; - } - - return SQL_SUCCESS; -} - - -#ifdef _WIN64 -RETCODE SQL_API SQLColAttributeW ( SQLHSTMT pStmt, - SQLUSMALLINT pColNum, - SQLUSMALLINT pFldID, - SQLPOINTER pDataPtr, - SQLSMALLINT pDataSize, - SQLSMALLINT* pDataSizePtr, - SQLLEN* pNumValuePtr ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLColAttributeW called, ColNum: %d, FldID: %d", pColNum, pFldID ) ); - RETCODE code = _SQLColAttribute_basic ( pStmt, pColNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, pNumValuePtr, - false ); - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "the return code is %d", code ) ); - return code; -} - -RETCODE SQL_API SQLColAttribute ( SQLHSTMT pStmt, - SQLUSMALLINT pColNum, - SQLUSMALLINT pFldID, - SQLPOINTER pDataPtr, - SQLSMALLINT pDataSize, - SQLSMALLINT* pDataSizePtr, - SQLLEN* pNumValuePtr ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLColAttributeW called, ColNum: %d, FldID: %d", pColNum, pFldID ) ); - return _SQLColAttribute_basic ( pStmt, pColNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, pNumValuePtr, true ); -} - -#else -RETCODE SQL_API SQLColAttributeW ( SQLHSTMT pStmt, - SQLUSMALLINT pColNum, - SQLUSMALLINT pFldID, - SQLPOINTER pDataPtr, - SQLSMALLINT pDataSize, - SQLSMALLINT* pDataSizePtr, - SQLPOINTER pNumValuePtr ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLColAttributeW called, ColNum: %d, FldID: %d", pColNum, pFldID ) ); - RETCODE code = _SQLColAttribute_basic ( pStmt, pColNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, pNumValuePtr, - false ); - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "the return code is %d", code ) ); - return code; -} - -RETCODE SQL_API SQLColAttribute ( SQLHSTMT pStmt, - SQLUSMALLINT pColNum, - SQLUSMALLINT pFldID, - SQLPOINTER pDataPtr, - SQLSMALLINT pDataSize, - SQLSMALLINT* pDataSizePtr, - SQLPOINTER pNumValuePtr ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLColAttributeW called, ColNum: %d, FldID: %d", pColNum, pFldID ) ); - return _SQLColAttribute_basic ( pStmt, pColNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, pNumValuePtr, true ); -} -#endif - -// ---------------------------------------------------------------------- -// to get the basic set of ARD col attributes, ie details recd. from server --- FROM IRD -// SQLDescribeCol returns the result descriptor �� column name,type, column size, decimal digits, and nullability (from msdn) -// kylin specific -// ---------------------------------------------------------------------- - -SQLRETURN SQL_API _SQLDescribeCol_basic ( SQLHSTMT pStmt, - SQLUSMALLINT pColNum, - void* pColNamePtr, - SQLSMALLINT pColNameSize, - SQLSMALLINT* pColNameSizePtr, - SQLSMALLINT* pDataTypePtr, - SQLULEN* pColSizePtr, - SQLSMALLINT* pDecimalDigitsPtr, - SQLSMALLINT* pNullablePtr , - bool isANSI - ) { - Long n; - SQLResponse* ird; - pIRDItem col; - __CHK_HANDLE ( pStmt, SQL_HANDLE_STMT, SQL_ERROR ); - // free diags - _SQLFreeDiag ( _DIAGSTMT ( pStmt ) ); - - // precaution - if ( pColNum == 0 ) { - _SQLPutDiagRow ( SQL_HANDLE_STMT, pStmt, "SQLDescribeCol", "01000", -1, "bad params" ); - return SQL_ERROR; - } - - // get the row descriptor obtained with response - ird = ( ( ( pODBCStmt ) pStmt )->IRD ).RowDesc.get(); - - // check - if ( ird == NULL ) { - _SQLPutDiagRow ( SQL_HANDLE_STMT, pStmt, "SQLDescribeCol", "01000", -1, "No resultset or no col descriptors" ); - return SQL_ERROR; - } - - // find the xth element/col - col = _SQLGetIRDItem ( & ( ( ( pODBCStmt ) pStmt )->IRD ), pColNum ); - - // check - if ( col == NULL ) { - _SQLPutDiagRow ( SQL_HANDLE_STMT, pStmt, "SQLDescribeCol", "01000", -1, "Invalid col num" ); - return SQL_ERROR; - } - - // COL-NAME ie title - - if ( pColNamePtr ) { - _SQLGetIRDItemField ( & ( ( ( pODBCStmt ) pStmt )->IRD ), col, pColNum, SQL_DESC_BASE_COLUMN_NAME, pColNamePtr, - pColNameSize, pColNameSizePtr ? &n : NULL, isANSI ); - - if ( pColNameSizePtr ) - { *pColNameSizePtr = ( Word ) n; } - - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "name: %s", pColNamePtr ) ); - } - - // COL-DATA TYPE - - if ( pDataTypePtr ) { - _SQLGetIRDItemField ( & ( ( ( pODBCStmt ) pStmt )->IRD ), col, pColNum, SQL_DESC_CONCISE_TYPE, pDataTypePtr, -1, - NULL, isANSI ); - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "data type: %d", *pDataTypePtr ) ); - } - - // COL-SIZE - - if ( pColSizePtr ) { - _SQLGetIRDItemField ( & ( ( ( pODBCStmt ) pStmt )->IRD ), col, pColNum, SQL_DESC_LENGTH, pColSizePtr, -1, NULL, - isANSI ); - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "column size: %d", *pColSizePtr ) ); - } - - // COL-DECIMAL - - if ( pDecimalDigitsPtr ) { - _SQLGetIRDItemField ( & ( ( ( pODBCStmt ) pStmt )->IRD ), col, pColNum, SQL_DESC_SCALE, pDecimalDigitsPtr, -1, NULL, - isANSI ); - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "decimal scale: %d", *pDecimalDigitsPtr ) ); - } - - // COL-NULLABLE - - if ( pNullablePtr ) { - _SQLGetIRDItemField ( & ( ( ( pODBCStmt ) pStmt )->IRD ), col, pColNum, SQL_DESC_NULLABLE, pNullablePtr, -1, NULL, - isANSI ); - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "nullable: %d", *pNullablePtr ) ); - } - - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLDescribeCol returned" ) ); - return SQL_SUCCESS; -} - -SQLRETURN SQL_API SQLDescribeColW ( SQLHSTMT pStmt, - SQLUSMALLINT pColNum, - SQLWCHAR* pColNamePtr, - SQLSMALLINT pColNameSize, - SQLSMALLINT* pColNameSizePtr, - SQLSMALLINT* pDataTypePtr, - SQLULEN* pColSizePtr, - SQLSMALLINT* pDecimalDigitsPtr, - SQLSMALLINT* pNullablePtr ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, - "SQLDescribeColW. Col: %d, ColNamePtr: %d, ColNameSize: %d, ColNameSizePtr: %d, DataTypePtr: %d, ColSizePtr: %d, DecDigitsPtr: %d, NullPtr: %d", - pColNum, pColNamePtr, pColNameSize, pColNameSizePtr, pDataTypePtr, pColSizePtr, pDecimalDigitsPtr, pNullablePtr ) ); - return _SQLDescribeCol_basic ( pStmt, pColNum, pColNamePtr, pColNameSize, pColNameSizePtr, pDataTypePtr, pColSizePtr, - pDecimalDigitsPtr, pNullablePtr , false ); -} - -SQLRETURN SQL_API SQLDescribeCol ( SQLHSTMT pStmt, - SQLUSMALLINT pColNum, - SQLCHAR* pColNamePtr, - SQLSMALLINT pColNameSize, - SQLSMALLINT* pColNameSizePtr, - SQLSMALLINT* pDataTypePtr, - SQLULEN* pColSizePtr, - SQLSMALLINT* pDecimalDigitsPtr, - SQLSMALLINT* pNullablePtr ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, - "SQLDescribeCol. Col: %d, ColNamePtr: %d, ColNameSize: %d, ColNameSizePtr: %d, DataTypePtr: %d, ColSizePtr: %d, DecDigitsPtr: %d, NullPtr: %d", - pColNum, pColNamePtr, pColNameSize, pColNameSizePtr, pDataTypePtr, pColSizePtr, pDecimalDigitsPtr, pNullablePtr ) ); - return _SQLDescribeCol_basic ( pStmt, pColNum, pColNamePtr, pColNameSize, pColNameSizePtr, pDataTypePtr, pColSizePtr, - pDecimalDigitsPtr, pNullablePtr , true ); -} - -// ----------------------------------------------------------------------- -// to bind a column to with details from application --- TO ARD -// kylin specific, no chagne required -// ----------------------------------------------------------------------- - -/* - - From msdn: - - SQLRETURN SQLBindCol( - SQLHSTMT StatementHandle, - SQLUSMALLINT ColumnNumber, - SQLSMALLINT TargetType, - SQLPOINTER TargetValuePtr, - SQLLEN BufferLength, - SQLLEN * StrLen_or_Ind); - -*/ -RETCODE SQL_API SQLBindCol ( SQLHSTMT pStmt, - SQLUSMALLINT pColNum, - SQLSMALLINT pDataType, - SQLPOINTER pDataPtr, - SQLLEN pDataSize, - SQLLEN* pDataSizePtr ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLBindCol called, ColNum: %d, TgtType: %d, ValuePtr: %d, Capacity: %d", - pColNum, pDataType, pDataPtr, pDataSize ) ); - pODBCARD ard; // application row descriptor - pARDItem ardcol; // application row descriptor item - __CHK_HANDLE ( pStmt, SQL_HANDLE_STMT, SQL_ERROR ); - // free diags - _SQLFreeDiag ( _DIAGSTMT ( pStmt ) ); - // extract the appl. row descriptor from stmt - ard = & ( ( ( pODBCStmt ) pStmt )->ARD ); - // get the specified column if already bound - ardcol = _SQLGetARDItem ( ard, pColNum ); - - // EXISTS - - if ( ardcol != NULL ) { - // check if total unbind is required - if ( pDataPtr == NULL && pDataSizePtr == NULL ) { - // detach it from ARD link list - _SQLDetachARDItem ( ard, ardcol ); - // free - delete ardcol; - } - - else { - // unbind/rebind col details - _SQLSetARDItemField ( ard, ardcol, pColNum, SQL_DESC_DATA_PTR, pDataPtr, -1 ); - _SQLSetARDItemField ( ard, ardcol, pColNum, SQL_DESC_CONCISE_TYPE, ( void* ) pDataType, -1 ); - _SQLSetARDItemField ( ard, ardcol, pColNum, SQL_DESC_LENGTH, ( void* ) pDataSize, -1 ); - _SQLSetARDItemField ( ard, ardcol, pColNum, SQL_DESC_OCTET_LENGTH_PTR, pDataSizePtr, -1 ); - // reset the source data type - ardcol->SrcDataType = 0; - } - - return SQL_SUCCESS; - } - - // DOES NOT EXIST - - // check for bad params - if ( pDataPtr == NULL && pDataSizePtr == NULL ) { - _SQLPutDiagRow ( SQL_HANDLE_STMT, pStmt, "SQLBindCol", "01000", -1, "Bad params" ); - return SQL_ERROR; - } - - // check for bad params - else if ( pDataSize < 0 ) { - _SQLPutDiagRow ( SQL_HANDLE_STMT, pStmt, "SQLBindCol", "01000", -1, "Invalid buffer length" ); - return SQL_ERROR; - } - - // CREATE - // allocate a new col-item - ardcol = new ARDItem; - // reset - _SQLSetARDItemFieldsDefault ( ardcol, pColNum ); - // set all values - bind - _SQLSetARDItemField ( ard, ardcol, pColNum, SQL_DESC_DATA_PTR, pDataPtr, -1 ); - _SQLSetARDItemField ( ard, ardcol, pColNum, SQL_DESC_CONCISE_TYPE, ( void* ) pDataType, -1 ); - _SQLSetARDItemField ( ard, ardcol, pColNum, SQL_DESC_LENGTH, ( void* ) pDataSize, -1 ); - _SQLSetARDItemField ( ard, ardcol, pColNum, SQL_DESC_OCTET_LENGTH_PTR, pDataSizePtr, -1 ); - // attach it to link list - _SQLAttachARDItem ( ard, ardcol ); - return SQL_SUCCESS; -} - - -// --------------------------------------------------------------------- -// to get the number of columns in result --- COUNTING ELEMENTS IN IRD.ROWDESC -// Kylin specific -// --------------------------------------------------------------------- - -RETCODE SQL_API SQLNumResultCols ( SQLHSTMT pStmt, SQLSMALLINT* pColCountPtr ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLNumResultCols called" ) ); - SQLResponse* rowdesc; - __CHK_HANDLE ( pStmt, SQL_HANDLE_STMT, SQL_ERROR ); - // free diags - _SQLFreeDiag ( _DIAGSTMT ( pStmt ) ); - // caller safe - * ( ( SQLSMALLINT* ) pColCountPtr ) = 0; - // get the row desciptor - rowdesc = ( ( pODBCStmt ) pStmt )->IRD.RowDesc.get(); - - if ( rowdesc == NULL ) { - _SQLPutDiagRow ( SQL_HANDLE_STMT, pStmt, "SQLNumResultCols", "01000", -1, "no resultset or IRD" ); - return SQL_ERROR; - } - - // count the number of columns - * ( ( SQLSMALLINT* ) pColCountPtr ) = ( SQLSMALLINT ) ( rowdesc->columnMetas.size() ); - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLNumResultCols called returned: %d", - * ( ( SQLSMALLINT* ) pColCountPtr ) ) ); - return SQL_SUCCESS; -} - - -// ---------------------------------------------------------------------- -// to count the number of rows in the current result --- COUNTING ELEMENTS IN IRD -// ---------------------------------------------------------------------- - -RETCODE SQL_API SQLRowCount ( HSTMT pStmt, SQLLEN* pDataPtr ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLRowCount called" ) ); - __CHK_HANDLE ( pStmt, SQL_HANDLE_STMT, SQL_ERROR ); - // free diags - _SQLFreeDiag ( _DIAGSTMT ( pStmt ) ); - *pDataPtr = ( ( pODBCStmt ) pStmt )->RowCount; - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLRowCount returned: %d", *pDataPtr ) ); - return SQL_SUCCESS; -} - -// ----------------------------------------------------------------------- -// to return the next row from the resultset -// ----------------------------------------------------------------------- - -RETCODE SQL_API SQLFetch ( HSTMT pStmt ) { - __CHK_HANDLE ( pStmt, SQL_HANDLE_STMT, SQL_ERROR ); - // free diags - _SQLFreeDiag ( _DIAGSTMT ( pStmt ) ); - // all fetch occur thru the local function _SQLFetch - /* - RETCODE SQL_API _SQLFetch ( pODBCStmt pStmt, - Word pFetchOrientation, - Long pFetchOffset, - ULong* pRowCountPtr, - UWord* pRowStatusArray ) - */ - RETCODE ret = _SQLFetch ( ( pODBCStmt ) pStmt, SQL_FETCH_NEXT, - ( ( pODBCStmt ) pStmt )->ARD.RowArraySize > 0 ? ( ( pODBCStmt ) pStmt )->ARD.RowArraySize : 1, - ( ( pODBCStmt ) pStmt )->IRD.RowsProcessedPtr, ( ( pODBCStmt ) pStmt )->IRD.ArrayStatusPtr ); - - if ( ret == SQL_NO_DATA ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_INFO, "Last row of current query has been fetched" ) ); - } - - return ret; -} - -// ----------------------------------------------------------------------- -// to fetch the specified rowset of data from the result set -// Version Introduced: ODBC 1.0 Standards Compliance: Deprecated (from msdn) -// ----------------------------------------------------------------------- - -RETCODE SQL_API SQLExtendedFetch ( SQLHSTMT pStmt, - SQLUSMALLINT pFetchOrientation, - SQLINTEGER pFetchOffset, - SQLUINTEGER* pRowCountPtr, - SQLUSMALLINT* pRowStatusArray ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, - "SQLExtendedFetch called, Stmt: %d, FO: %d, Offset: %d, Rcount: %d, RowStatus: %d", pStmt, pFetchOrientation, - pFetchOffset, pRowCountPtr, pRowStatusArray ) ); - __ODBCPOPMSG ( _ODBCPopMsg ( "SQLExtendedFetch is not implemented " ) ); - return SQL_ERROR; - Long n; - __CHK_HANDLE ( pStmt, SQL_HANDLE_STMT, SQL_ERROR ); - // free diags - _SQLFreeDiag ( _DIAGSTMT ( pStmt ) ); - - // only fetch next supported - if ( pFetchOrientation != SQL_FETCH_NEXT ) { - __ODBCPOPMSG ( _ODBCPopMsg ( "SQLExtendedFetch option not supported, FetchOrientation: %d", pFetchOrientation ) ); - return SQL_ERROR; - } - - // check if number of rows explicitly specified - if ( pFetchOffset <= 0 ) - { n = ( ( pODBCStmt ) pStmt )->ARD.RowArraySize; } - - // use default rowset size as a fallback - if ( n <= 0 ) - { n = 1; } - - return _SQLFetch ( ( pODBCStmt ) pStmt, pFetchOrientation, n, pRowCountPtr, pRowStatusArray ); -} - - -// ----------------------------------------------------------------------- -// to fetch the specified rowset of data from the result set -// ----------------------------------------------------------------------- - -RETCODE SQL_API SQLFetchScroll ( SQLHSTMT pStatementHandle, - SQLSMALLINT pFetchOrientation, - SQLINTEGER pFetchOffset ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLFetchScroll called" ) ); - __ODBCPOPMSG ( _ODBCPopMsg ( "SQLFetchScroll not implemented" ) ); - return SQL_ERROR; -} - -// ----------------------------------------------------------------------- -// to retrieve long data for a single column in the result set using multiple calls -// ----------------------------------------------------------------------- - -RETCODE SQL_API SQLGetData ( SQLHSTMT pStmt, - SQLUSMALLINT pColNum, - SQLSMALLINT pgtType, - SQLPOINTER pDataPtr, - SQLINTEGER pDataSize, - SQLINTEGER* pDataSizePtr ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLGetData called" ) ); - __ODBCPOPMSG ( _ODBCPopMsg ( "SQLGetData not implemented" ) ); - return SQL_ERROR; -} - - -// ----------------------------------------------------------------------- -// to send data for a parameter or column to the driver at statement execution time -// ----------------------------------------------------------------------- - -RETCODE SQL_API SQLPutData ( SQLHSTMT pStmt, - SQLPOINTER pDataPtr, - SQLINTEGER pDataSize ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLPutData called" ) ); - __ODBCPOPMSG ( _ODBCPopMsg ( "SQLPutData not implemented" ) ); - return SQL_ERROR; -} - -// ----------------------------------------------------------------------- -// to iterate through multiple resultsets -// ----------------------------------------------------------------------- - -RETCODE SQL_API SQLMoreResults ( HSTMT pStmt ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLMoreResults called" ) ); - __ODBCPOPMSG ( _ODBCPopMsg ( "SQLMoreResults not implemented" ) ); - return SQL_ERROR; -} - -// ----------------------------------------------------------------------- -// to get a driver specific version of specified sql statement -// ----------------------------------------------------------------------- - -RETCODE SQL_API SQLNativeSql ( SQLHDBC pConn, - SQLCHAR* pInStmtText, - SQLINTEGER pInStmtTextLen, - SQLCHAR* pOutStmtText, - SQLINTEGER pOutStmtTextLen, - SQLINTEGER* pOutStmtTextLenPtr ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLNativeSql called" ) ); - __ODBCPOPMSG ( _ODBCPopMsg ( "SQLNativeSql not implemented" ) ); - return SQL_ERROR; -} - - - - -// ----------------------------------------------------------------------- -// to convert and transfer col data for application -// ----------------------------------------------------------------------- - -//mhb TODO, check if the sqltype defined here match from c# -RETCODE SQL_API _SQLColConvert ( pODBCStmt pStmt, - void* pTgtDataPtr, - Long* pTgtDataSizePtr, - const wchar_t* pSrcColData, - pARDItem pARDCol, - bool isSigned ) { - //check out this for SQL data type to C data type mapping - //http://msdn.microsoft.com/en-us/library/ms714556(v=vs.85).aspx - // note - // this function actually determines the conversion - // required to transfer the data - Word pSrcDataType = pARDCol->SrcDataType; - Word pTgtDataType = pARDCol->DataConciseType; - Long pTgtDataSize = pARDCol->DataSize; - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "_SQLColConvert called" ) ); - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The SrcDataType is %d, the TgtDataType is %d, the TgtDataSize is %d", - pSrcDataType, pTgtDataType, pTgtDataSize ) ); - - // TARGET TYPE IS LEFT TO OUR DRIVER - // check if target type is open - if ( pTgtDataType == SQL_DEFAULT ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "pTgtDataType is SQL_DEFAULT, use default type mapping." ) ); - - // determine targettype based on data-source type - // check out this http://msdn.microsoft.com/en-us/library/ms716298(v=vs.85).aspx for default type mapping - switch ( pSrcDataType ) { - case SQL_CHAR: - pTgtDataType = SQL_C_CHAR; - break; - - case SQL_VARCHAR: - pTgtDataType = SQL_C_CHAR; - break; - - case SQL_WCHAR: - pTgtDataType = SQL_C_WCHAR; - break; - - case SQL_WVARCHAR: - pTgtDataType = SQL_C_WCHAR; - break; - - case SQL_DECIMAL: - pTgtDataType = SQL_C_CHAR; - break; - - case SQL_BIT: - pTgtDataType = SQL_C_BIT; - break; - - case SQL_TINYINT: - if ( isSigned ) - { pTgtDataType = SQL_C_STINYINT; } - - else - { pTgtDataType = SQL_C_UTINYINT; } - - break; - - case SQL_SMALLINT: - if ( isSigned ) - { pTgtDataType = SQL_C_SSHORT; } - - else - { pTgtDataType = SQL_C_USHORT; } - - break; - - case SQL_INTEGER: - if ( isSigned ) - { pTgtDataType = SQL_C_SLONG; } - - else - { pTgtDataType = SQL_C_ULONG; } - - break; - - case SQL_BIGINT: - if ( isSigned ) - { pTgtDataType = SQL_C_SBIGINT; } - - else - { pTgtDataType = SQL_C_UBIGINT; } - - break; - - case SQL_FLOAT: - pTgtDataType = SQL_C_FLOAT; - break; - - case SQL_DOUBLE: - pTgtDataType = SQL_C_DOUBLE; - break; - - case SQL_TYPE_DATE: - pTgtDataType = SQL_C_CHAR; - break; - - case SQL_TYPE_TIME: - pTgtDataType = SQL_C_CHAR; - break; - - case SQL_TYPE_TIMESTAMP: - pTgtDataType = SQL_C_CHAR; - break; - - //case SQL_C_SLONG: - //case SQL_C_ULONG: // unsigned long - //case SQL_C_USHORT: - //case SQL_C_SSHORT: - //case SQL_NUMERIC: - //case SQL_REAL: - // pTgtDataType = pSrcDataType; - // break; - - default: - __ODBCPOPMSG ( _ODBCPopMsg ( "The data type %d not implemented", pSrcDataType ) ); - return SQL_ERROR; - break; - } - } - - else { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "pTgtDataType is NOT SQL_DEFAULT, it is %d", pTgtDataType ) ); - } - - // TARGET TYPE IS CHAR - // as an optimization, check if the application - // or target data type is char. since the data from - // server is already in char format. the data can - // easily be transferred without incurring any - // conversion overhead - unique_ptr pTextInAnsi ( wchar2char ( pSrcColData ) ); - - // check if char type - if ( pTgtDataType == SQL_CHAR || pTgtDataType == SQL_VARCHAR ) { - // only in case of src data being bool a conversion is required - if ( pSrcDataType == SQL_BIT ) { - // prepare a converted single char bool string - Char src[2]; - - if ( pTextInAnsi.get() == NULL ) - { src[0] = '0'; } - - else - { src[0] = ( pTextInAnsi.get() [0] == 'T' || pTextInAnsi.get() [0] == '1' || pTextInAnsi.get() [0] == 't' ) ? '1' : '0'; } - - src[1] = 0; - // transfer the bool string - return _SQLCopyCharData ( _DIAGSTMT ( pStmt ), pTgtDataPtr, pARDCol->DataSize, pTgtDataSizePtr, 32, src, -1 ); - } - - else { - // transfer the string as it is - return _SQLCopyCharData ( _DIAGSTMT ( pStmt ), pTgtDataPtr, pARDCol->DataSize, pTgtDataSizePtr, 32, pTextInAnsi.get(), - -1 ); - } - } - - if ( pTgtDataType == SQL_WCHAR || pTgtDataType == SQL_WVARCHAR ) { - return _SQLCopyWCharDataW ( _DIAGSTMT ( pStmt ), pTgtDataPtr, pARDCol->DataSize, pTgtDataSizePtr, 32, pSrcColData, -1 ); - } - - // TARGET TYPE IS NOT CHAR - - // try using a numeric conversion - switch ( _SQLCopyNumData ( _DIAGSTMT ( pStmt ), pTgtDataPtr, pTgtDataType, pTextInAnsi.get(), pSrcDataType , - pTgtDataSizePtr ) ) { - case -1: - return SQL_ERROR; - - case 0: - return SQL_SUCCESS; - - default: - break; - } - - // try using a date/time conversion - switch ( _SQLCopyDateTimeData ( _DIAGSTMT ( pStmt ), pTgtDataPtr, pTgtDataType, pTextInAnsi.get(), pSrcDataType ) ) { - case -1: - return SQL_ERROR; - - case 0: - return SQL_SUCCESS; - - default: - break; - } - - // try using SQL_BIT data type ie bool - if ( pTgtDataType == SQL_BIT ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "the target data type is SQL_C_BIT" ) ); - - // prepare a converted single char bool string - if ( pTextInAnsi.get() == NULL ) - { * ( ( char* ) pTgtDataPtr ) = 0; } - - else - { * ( ( char* ) pTgtDataPtr ) = ( pTextInAnsi.get() [0] == 'T' || pTextInAnsi.get() [0] == '1' || pTextInAnsi.get() [0] == 't' ) ? 1 : 0; } - - return SQL_SUCCESS; - } - - // error condition - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLColConvert - Unknown data type, Target: %d, Source: %d", pTgtDataType, - pSrcDataType ) ); - _SQLPutDiagRow ( SQL_HANDLE_STMT, pStmt, "_SQLColConvert", "01000", -1, "Unknown data type, Target: %d, Source: %d", - pTgtDataType, pSrcDataType ); - return SQL_ERROR; -} - - -// ----------------------------------------------------------------------- -// to get the specified column data from -// ----------------------------------------------------------------------- - -RETCODE SQL_API _SQLFetchCol ( pODBCStmt pStmt, - pARDItem pARDCol, //ard - SQLResponse* pRowDesc,// ird - SQLRowContent* pRowData ) { //content - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "_SQLFetchCol called" ) ); - // note - // this function checks the binding type and positions the pointer - // for copying the data accordingly. It takes into account the - // current row position in rowset, the initial min increment specified - // by client and the size of the row or col buffer - Long i; - Long j; - Long* tgtsizeptr; // target size ptr - void* tgtdataptr; // target data ptr - const wchar_t* srcdata; // source data - SelectedColumnMeta* coldesc; - // COMPUTE DATA AND SIZE PTR - // get the row pos in current rowset - i = ( pStmt->CurRowsetEndRowPos - pStmt->CurRowsetStartRowPos ); - // compute min increment - j = ( pStmt->ARD.BindOffsetPtr ) ? * ( pStmt->ARD.BindOffsetPtr ) : 0; - - // check the binding type - if ( pStmt->ARD.BindTypeOrSize != SQL_BIND_BY_COLUMN ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "ARD bindtypeorsize not euqal to SQL_BIND_BY_COLUMN" ) ); - // note - Long k; - // compute row-size increment - k = ( pStmt->ARD.BindTypeOrSize ); - // compute target col and size ptr - tgtdataptr = ( void* ) ( ( ( Char* ) ( pARDCol->DataPtr ) ) + j + ( i * k ) ); - tgtsizeptr = ( Long* ) ( ( ( Char* ) ( pARDCol->SizePtr ) ) + j + ( i * k ) ); - } - - // column-wise binding - else { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "ARD bindtypeorsize euqal to SQL_BIND_BY_COLUMN" ) ); - // move both data and size ptr in the array - //TODO find out where the pARDCol->DataSize if set - tgtdataptr = ( void* ) ( ( ( Char* ) ( pARDCol->DataPtr ) ) + j + ( i * pARDCol->DataSize ) ); // use based on data type - tgtsizeptr = ( Long* ) ( ( ( Char* ) ( pARDCol->SizePtr ) ) + j + ( i * sizeof ( Long ) ) ); - } - - // PRECAUTION - - if ( tgtdataptr ) { * ( ( Char* ) tgtdataptr ) = 0; } - - if ( tgtsizeptr ) { * ( ( Long* ) tgtsizeptr ) = 0; } - - // COLLECT AND CHECK - // get col desc for specified col ( response ) - coldesc = pRowDesc->columnMetas.at ( pARDCol->ColNum - 1 ); - //if ( coldesc == NULL ) { - // _SQLPutDiagRow ( SQL_HANDLE_STMT, pStmt, "_SQLFetchCol", "01000", -1, pStmt->CurRowsetEndRowPos, pARDCol->ColNum, "column not found in resultset for specified index" ); - // return SQL_SUCCESS_WITH_INFO; // no col for specified index - //} - // get the col data for specfied col ( response ) - srcdata = pRowData->contents.at ( pARDCol->ColNum - 1 ).c_str(); - - //coldata = SOAPGetChildElemX ( pRowData, pARDCol->ColNum ); - //if ( coldata == NULL ) { - - // _SQLPutDiagRow ( SQL_HANDLE_STMT, pStmt, "_SQLFetchCol", "01000", -1, pStmt->CurRowsetEndRowPos, pARDCol->ColNum, "column not found in resultset for specified index" ); - // return SQL_SUCCESS_WITH_INFO; // no col for specified index - //} - - // get col value as string - //srcdata = SOAPGetElemText ( coldata ); - - // NULL DATA // note: a text of NULL indicates NULL data from server - - // check if data is NULL - if ( srcdata == NULL || _wcsicmp ( srcdata, L"NULL" ) == 0 ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "srcdata is null" ) ); - - // check if a size indicator is available - if ( tgtsizeptr == NULL ) { - _SQLPutDiagRow ( SQL_HANDLE_STMT, pStmt, "_SQLFetchCol", "22002", -1, pStmt->CurRowsetEndRowPos, pARDCol->ColNum, - "Indicator variable required but not supplied" ); - return SQL_SUCCESS_WITH_INFO; - } - - // set to SQL_NULL_DATA - else { - // indicate null data - * ( ( Long* ) tgtsizeptr ) = SQL_NULL_DATA; - // added precaution for bad appl design - /* if ( tgtdataptr ) - memset ( tgtdataptr, 0, pARDCol->MaxSize );*/ - return SQL_SUCCESS; - } - } - - // check if info about src is also available in ARD col - if ( pARDCol->SrcDataType == 0 ) - { GetIRDColDescInfo ( coldesc, & ( pARDCol->SrcDataType ), & ( pARDCol->SrcDataPrecision ), & ( pARDCol->SrcDataScale ), & ( pARDCol->SrcDataSize ) ); } // collect source data information in form comparable to appl - - // CONVERT AND TRANSFER - //Important!!! - //Notice the specification of different types - //http://publib.boulder.ibm.com/infocenter/idshelp/v10/index.jsp?topic=/com.ibm.odbc.doc/odbc72.htm - RETCODE ret = _SQLColConvert ( pStmt, tgtdataptr, tgtsizeptr, srcdata, pARDCol, coldesc->isSigned ); - //char buffer[1024]; - //hexDump((char*)tgtdataptr,4,buffer,false); - //__ODBCLOG(_ODBCLogMsg(LogLevel_DEBUG,buffer)); - //hexDump((char*)tgtdataptr,4,buffer,true); - //__ODBCLOG(_ODBCLogMsg(LogLevel_DEBUG,buffer)); - return ret; -} - - -// ----------------------------------------------------------------------- -// to move to the next row with relevant checks -// ----------------------------------------------------------------------- - -RETCODE SQL_API _SQLFetchMoveNext ( pODBCStmt pStmt ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "_SQLFetch MoveNext is called" ) ); - - // check if there is some response of type resultset - if ( - pStmt->IRD.RowDesc != NULL ) { - // ------- THIS CASE SHOULD NOT OCCUR ---------- - - // check if position is currently unknown - if ( pStmt->CurRowsetStartRow == NULL && pStmt->CurRowsetStartRowPos == 0 ) { - // position to first row ( both the pointers ) - pStmt->CurRowsetStartRowPos = 1; - pStmt->CurRowsetStartRow = GetIfExist ( pStmt->IRD.RowDesc->results, 1 ); - pStmt->CurRowsetEndRowPos = 1; - pStmt->CurRowsetEndRow = GetIfExist ( pStmt->IRD.RowDesc->results, 1 ); - } - - // ----------------------------------------------- - - // position to next row if already position is known - else if ( pStmt->CurRowsetEndRow != NULL ) { - // position to next row - pStmt->CurRowsetEndRowPos += 1; - pStmt->CurRowsetEndRow = GetIfExist ( pStmt->IRD.RowDesc->results, pStmt->CurRowsetEndRowPos ); - } - - // finally check if there is some data found - if ( pStmt->CurRowsetEndRow == NULL ) { - // put in diag - _SQLPutDiagRow ( SQL_HANDLE_STMT, pStmt, "", "01000", -1, "SQLFetch - no data" ); - return SQL_NO_DATA; - } - - else - { return SQL_SUCCESS; } - } - - else { - // error situation - _SQLPutDiagRow ( SQL_HANDLE_STMT, pStmt, "_SQLFetchMoveNext", "01000", -1, "no resultset" ); - return SQL_ERROR; - } -} - -SQLRowContent* GetIfExist ( std::vector& container, int index ) { - index = index - 1; //sql cardinals start at 1 - - if ( index >= ( int ) container.size() ) - { return NULL; } - - else - { return container.at ( index ); } -} - -// ----------------------------------------------------------------------- -// to set the initial row positions for a fetch -// ----------------------------------------------------------------------- - -RETCODE SQL_API _SQLResetRowPos ( pODBCStmt pStmt ) { - // note - // there r 2 row pointers one is the start row for the current fetch and - // the other is the end row after the current fetch - // this function brings them together and moves them to the first row - // after the cur end row - // a block of rows which is fetched in one go is ROWSET while the full - // result is called RESULTSET - - // check if there is some response of type resultset - if ( - pStmt->IRD.RowDesc != NULL ) { - // check if position is currently unknown - if ( pStmt->CurRowsetEndRow == NULL && pStmt->CurRowsetEndRowPos == 0 ) { - // position to first row ( both the pointers ) - pStmt->CurRowsetEndRowPos = 1; - pStmt->CurRowsetEndRow = GetIfExist ( pStmt->IRD.RowDesc->results, pStmt->CurRowsetEndRowPos ); - } - - // already positioned somewhere - else if ( pStmt->CurRowsetEndRow != NULL ) { - // position to next row - pStmt->CurRowsetEndRowPos += 1; - pStmt->CurRowsetEndRow = GetIfExist ( pStmt->IRD.RowDesc->results, pStmt->CurRowsetEndRowPos ); - } - - // calibrate the first row with end row - pStmt->CurRowsetStartRow = pStmt->CurRowsetEndRow; - pStmt->CurRowsetStartRowPos = pStmt->CurRowsetEndRowPos; - - // finally check if there is some data found - if ( pStmt->CurRowsetStartRow == NULL ) { - // put in diag - _SQLPutDiagRow ( SQL_HANDLE_STMT, pStmt, "", "01000", -1, "SQLFetch - no data" ); - return SQL_NO_DATA; - } - - else - { return SQL_SUCCESS; } - } - - else { - // error situation - _SQLPutDiagRow ( SQL_HANDLE_STMT, pStmt, "_SQLResetRowPos", "01000", -1, "no resultset" ); - return SQL_ERROR; - } -} - - -// ----------------------------------------------------------------------- -// to return the next row from the resultset -// ----------------------------------------------------------------------- - -RETCODE SQL_API _SQLFetch ( pODBCStmt pStmt, - Word pFetchOrientation, - Long pFetchOffset, //ARD.RowArraySize - ULong* pRowCountPtr, //IRD.RowsProcessedPtr - UWord* pRowStatusArray ) { //ArrayStatusPtr - // note - // fetchoffset is treated as the number of rows to fetch - bool flgNoData; - Long i, n1, n2; - RETCODE s; - SQLRowContent* rowdata; - SQLResponse* rowdesc; - pODBCARD ard; - pARDItem ardcol; - - // CALLER SAFE - - // caller safe for row fetched - if ( pRowCountPtr ) - { *pRowCountPtr = 0; } - - // caller safe for each row status - if ( pRowStatusArray ) - for ( i = 0; i < pFetchOffset; i ++ ) { pRowStatusArray[i] = SQL_ROW_NOROW; } - - // RESET POSITION OR SET INITIAL POSITIONS - - // postions the row counter for fetch start - if ( ( s = _SQLResetRowPos ( ( pODBCStmt ) pStmt ) ) != SQL_SUCCESS ) - { return s; } - - // COLLECT INFO to START - // get the row desc - ird - rowdesc = ( ( pODBCStmt ) pStmt )->IRD.RowDesc.get(); - // get the row desc - ard - ard = & ( ( ( pODBCStmt ) pStmt )->ARD ); - - // MAIN LOOP to fetch rowset number of rows - // loop to fetch the rows - for ( i = 0, n1 = 0, n2 = 0, flgNoData = FALSE; i < pFetchOffset && flgNoData == FALSE; i ++ ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "Get One Row:" ) ); - - // check if first row or not - if ( i != 0 ) { - // move to next row if not first time - switch ( _SQLFetchMoveNext ( pStmt ) ) { - case SQL_NO_DATA: - flgNoData = TRUE; // can continue - continue; - - case SQL_ERROR: - return SQL_ERROR; // not continuing - - default: // case SQL_SUCCESS: - break; - } - } - - // get the current row data - rowdata = pStmt->CurRowsetEndRow; - - // LOOP to fetch cols of one row - - // loop to put data in all bound cols - for ( ardcol = ard->BindCols; ardcol != NULL; ardcol = ardcol->Next ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "Get one column:" ) ); - // get data using _SQLFetchCol - s = _SQLFetchCol ( pStmt, ardcol, rowdesc, rowdata ); - - // update row status - switch ( s ) { - case SQL_SUCCESS: - if ( pRowStatusArray && pRowStatusArray[i] == SQL_ROW_NOROW ) { pRowStatusArray[i] = SQL_ROW_SUCCESS_WITH_INFO; } - - break; - - case SQL_SUCCESS_WITH_INFO: - ++ n1; // rows with info - - if ( pRowStatusArray ) { pRowStatusArray[i - 1] = SQL_ROW_SUCCESS_WITH_INFO; } - - break; - - default: - ++ n2; // no. of rows with error - - if ( pRowStatusArray ) { pRowStatusArray[i - 1] = SQL_ROW_ERROR; } - } - } - - // update the number of rows fetched - if ( pRowCountPtr ) { *pRowCountPtr = i + 1; } - } - - // check if no data - if ( flgNoData == TRUE && i <= 0 ) - { return SQL_NO_DATA; } - - // check if all error - else if ( i > 0 && n2 == i ) - { return SQL_ERROR; } - - // check if any success with info - else if ( i > 0 && n1 > 0 ) - { return SQL_SUCCESS_WITH_INFO; } - - // all success - else { - return SQL_SUCCESS; - } -} - +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +// ---------------------------------------------------------------------------- +// +// File: KO_FETCH.CPP +// +// Purpose: Contains function for fetching results. +// As explained in the article ODBC has a +// defined way in which the data is made available. +// +// 1. The client CAN obtain general details +// about the result like num of rows etc using +// SQLRowCount, SQLNumResultCols. +// +// 2. It obtains metadata about the result +// more specifically info about columns like +// size type etc using SQLColAttribute or +// SQLDescribeCol. +// +// 3. Then it allocates and bind the buffer +// specifying the other info like buffer size +// etc for the cols it desires to extract using +// SQLBindCol +// +// 4. Then it instructs the driver to feed these +// buffers using SQLFetch or SQLExtendedFetch. +// +// 5. This is the general way. In case the data +// involved is quite large, it can be extracted +// piecemeal using SQLGetData. SQLPutData is the +// funcion corresponding to SQLGetData to specify +// large param values say storing images etc. +// Since I have not implemented params or long +// data read write in this sample, SQLPutData resides +// in this file with SQLGetData. +// +// All fetch occur via the local function _SQLFetch. +// Internally the fetch is executed in the following +// way. +// 1. The rowdesc from server (IRD) and appl (ARD ) +// is obtained. +// 2. Main loop to fetch rowset number of rows. More +// than one row can be fetched at a time. The movement +// in resulset is done using _SQLFetchMoveNext. +// 3. For each row, loop through each ARD item to +// extract the col(s) required by the client. +// +// SQLColConvert and associated funtions _SQLCopyCharData, +// SQLCopyNumData, _SQLCopyDateTimeData r used to perform +// necessary conversion between data as recived from the +// server and data as required by the client. +// +// Exported functions: +// SQLColAttribute +// SQLDescribeCol +// SQLBindCol +// SQLNumResultCols +// SQLRowCount +// SQLFetch +// SQLExtendedFetch +// SQLFetchScroll +// SQLGetData +// SQLPutData +// SQLMoreResults +// SQLNativeSql +// +// ---------------------------------------------------------------------------- +#include "stdafx.h" + +#include "Dump.h" + +// ------------------------- local functions ----------------------------- +RETCODE SQL_API _SQLFetch ( pODBCStmt pStmt, Word pFetchOrientation, Long pFetchOffset, ULong* pRowCountPtr, + UWord* pRowStatusArray ); +RETCODE SQL_API _SQLColConvert ( pODBCStmt pStmt, void* pTgtDataPtr, Long* pTgtDataSizePtr, CStrPtr pSrcColData, + pARDItem pARDCol , bool isSigned ); +RETCODE SQL_API _SQLFetchMoveNext ( pODBCStmt pStmt ); +RETCODE SQL_API _SQLResetRowPos ( pODBCStmt pStmt ); + +SQLRowContent* GetIfExist ( std::vector& container, int index ); + +// ----------------------------------------------------------------------- +// to get specific detail//attribute about a col returned from server --- FROM IRD +// kylin specific +// ----------------------------------------------------------------------- + + +RETCODE _SQLColAttribute_basic ( SQLHSTMT pStmt, + SQLUSMALLINT pColNum, + SQLUSMALLINT pFldID, + SQLPOINTER pDataPtr, + SQLSMALLINT pDataSize, + SQLSMALLINT* pDataSizePtr, // in bytes + SQLPOINTER pNumValuePtr ,// integer + bool isANSI + ) { //if returned data is numeric, feed this + Long n; + SQLResponse* ird; + pIRDItem col; + __CHK_HANDLE ( pStmt, SQL_HANDLE_STMT, SQL_ERROR ); + // free diags + _SQLFreeDiag ( _DIAGSTMT ( pStmt ) ); + + // precaution + if ( pColNum == 0 ) { + _SQLPutDiagRow ( SQL_HANDLE_STMT, pStmt, "SQLColAttribute", "01000", -1, "bad params" ); + return SQL_ERROR; + } + + // get the row descriptor obtained with response + ird = ( ( ( pODBCStmt ) pStmt )->IRD ).RowDesc.get(); + + // check + if ( ird == NULL ) { + _SQLPutDiagRow ( SQL_HANDLE_STMT, pStmt, "SQLColAttribute", "01000", -1, "No resultset or no col descriptors" ); + return SQL_ERROR; + } + + // find the xth element/col + col = _SQLGetIRDItem ( & ( ( ( pODBCStmt ) pStmt )->IRD ), pColNum ); + + // check + if ( col == NULL ) { + _SQLPutDiagRow ( SQL_HANDLE_STMT, pStmt, "SQLColAttribute", "01000", -1, "Invalid col num" ); + return SQL_ERROR; + } + + // get value from descriptor as per field type + switch ( pFldID ) { + // numeric types clubbed together + case SQL_DESC_AUTO_UNIQUE_VALUE: // is col auto-incrementing + case SQL_DESC_CASE_SENSITIVE: // is col case-insensitive + case SQL_DESC_TYPE: // verbose type + case SQL_DESC_CONCISE_TYPE: // concise type + case SQL_DESC_COUNT: // no.of highest bound column + case SQL_DESC_LENGTH: + case SQL_DESC_DISPLAY_SIZE: + case SQL_DESC_OCTET_LENGTH: + case SQL_DESC_FIXED_PREC_SCALE: + case SQL_DESC_NULLABLE: + case SQL_DESC_NUM_PREC_RADIX: + case SQL_DESC_PRECISION: + case SQL_DESC_SCALE: + case SQL_DESC_SEARCHABLE: + case SQL_DESC_UNNAMED: + case SQL_DESC_UNSIGNED: + case SQL_DESC_UPDATABLE: + // added for Excel + case SQL_COLUMN_LENGTH: + case SQL_COLUMN_PRECISION: + case SQL_COLUMN_SCALE: + _SQLGetIRDItemField ( & ( ( ( pODBCStmt ) pStmt )->IRD ), col, pColNum, pFldID, pNumValuePtr, -1, NULL , isANSI ); + break; + + // char types clubbed together + + case SQL_DESC_BASE_TABLE_NAME: // table name for column + case SQL_DESC_CATALOG_NAME: // database name + case SQL_DESC_LITERAL_PREFIX: + case SQL_DESC_LITERAL_SUFFIX: + case SQL_DESC_LOCAL_TYPE_NAME: + case SQL_DESC_TYPE_NAME: + case SQL_DESC_SCHEMA_NAME: + case SQL_DESC_TABLE_NAME: + _SQLGetIRDItemField ( & ( ( ( pODBCStmt ) pStmt )->IRD ), col, pColNum, pFldID, pDataPtr, pDataSize, + pDataSizePtr ? &n : NULL, isANSI ); + + if ( pDataSizePtr ) + { *pDataSizePtr = ( Word ) n; } + + break; + + case SQL_DESC_BASE_COLUMN_NAME: + case SQL_DESC_LABEL: + case SQL_DESC_NAME: + // //// + // as a special case the name length may be required without the actual name + ////// + StrPtr cname; + Word cnamesize; + + if ( pDataPtr ) { + cname = ( StrPtr ) pDataPtr; + cnamesize = pDataSize; + } + + else { + cname = new Char[256]; // arbitary + cnamesize = 255; + } + + _SQLGetIRDItemField ( & ( ( ( pODBCStmt ) pStmt )->IRD ), col, pColNum, pFldID, cname, cnamesize, + pDataSizePtr ? &n : NULL, isANSI ); + + if ( pDataPtr == NULL ) + { delete[] cname; } + + if ( pDataSizePtr ) + { *pDataSizePtr = ( Word ) n; } + + break; + + default: + __ODBCPOPMSG ( _ODBCPopMsg ( "SQLColAttribute unknown attr, ColNum: %d, FldID: %d\n", pColNum, pFldID ) ); + return SQL_ERROR; + } + + return SQL_SUCCESS; +} + + +#ifdef _WIN64 +RETCODE SQL_API SQLColAttributeW ( SQLHSTMT pStmt, + SQLUSMALLINT pColNum, + SQLUSMALLINT pFldID, + SQLPOINTER pDataPtr, + SQLSMALLINT pDataSize, + SQLSMALLINT* pDataSizePtr, + SQLLEN* pNumValuePtr ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLColAttributeW called, ColNum: %d, FldID: %d", pColNum, pFldID ) ); + RETCODE code = _SQLColAttribute_basic ( pStmt, pColNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, pNumValuePtr, + false ); + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "the return code is %d", code ) ); + return code; +} + +RETCODE SQL_API SQLColAttribute ( SQLHSTMT pStmt, + SQLUSMALLINT pColNum, + SQLUSMALLINT pFldID, + SQLPOINTER pDataPtr, + SQLSMALLINT pDataSize, + SQLSMALLINT* pDataSizePtr, + SQLLEN* pNumValuePtr ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLColAttributeW called, ColNum: %d, FldID: %d", pColNum, pFldID ) ); + return _SQLColAttribute_basic ( pStmt, pColNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, pNumValuePtr, true ); +} + +#else +RETCODE SQL_API SQLColAttributeW ( SQLHSTMT pStmt, + SQLUSMALLINT pColNum, + SQLUSMALLINT pFldID, + SQLPOINTER pDataPtr, + SQLSMALLINT pDataSize, + SQLSMALLINT* pDataSizePtr, + SQLPOINTER pNumValuePtr ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLColAttributeW called, ColNum: %d, FldID: %d", pColNum, pFldID ) ); + RETCODE code = _SQLColAttribute_basic ( pStmt, pColNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, pNumValuePtr, + false ); + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "the return code is %d", code ) ); + return code; +} + +RETCODE SQL_API SQLColAttribute ( SQLHSTMT pStmt, + SQLUSMALLINT pColNum, + SQLUSMALLINT pFldID, + SQLPOINTER pDataPtr, + SQLSMALLINT pDataSize, + SQLSMALLINT* pDataSizePtr, + SQLPOINTER pNumValuePtr ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLColAttributeW called, ColNum: %d, FldID: %d", pColNum, pFldID ) ); + return _SQLColAttribute_basic ( pStmt, pColNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, pNumValuePtr, true ); +} +#endif + +// ---------------------------------------------------------------------- +// to get the basic set of ARD col attributes, ie details recd. from server --- FROM IRD +// SQLDescribeCol returns the result descriptor �� column name,type, column size, decimal digits, and nullability (from msdn) +// kylin specific +// ---------------------------------------------------------------------- + +SQLRETURN SQL_API _SQLDescribeCol_basic ( SQLHSTMT pStmt, + SQLUSMALLINT pColNum, + void* pColNamePtr, + SQLSMALLINT pColNameSize, + SQLSMALLINT* pColNameSizePtr, + SQLSMALLINT* pDataTypePtr, + SQLULEN* pColSizePtr, + SQLSMALLINT* pDecimalDigitsPtr, + SQLSMALLINT* pNullablePtr , + bool isANSI + ) { + Long n; + SQLResponse* ird; + pIRDItem col; + __CHK_HANDLE ( pStmt, SQL_HANDLE_STMT, SQL_ERROR ); + // free diags + _SQLFreeDiag ( _DIAGSTMT ( pStmt ) ); + + // precaution + if ( pColNum == 0 ) { + _SQLPutDiagRow ( SQL_HANDLE_STMT, pStmt, "SQLDescribeCol", "01000", -1, "bad params" ); + return SQL_ERROR; + } + + // get the row descriptor obtained with response + ird = ( ( ( pODBCStmt ) pStmt )->IRD ).RowDesc.get(); + + // check + if ( ird == NULL ) { + _SQLPutDiagRow ( SQL_HANDLE_STMT, pStmt, "SQLDescribeCol", "01000", -1, "No resultset or no col descriptors" ); + return SQL_ERROR; + } + + // find the xth element/col + col = _SQLGetIRDItem ( & ( ( ( pODBCStmt ) pStmt )->IRD ), pColNum ); + + // check + if ( col == NULL ) { + _SQLPutDiagRow ( SQL_HANDLE_STMT, pStmt, "SQLDescribeCol", "01000", -1, "Invalid col num" ); + return SQL_ERROR; + } + + // COL-NAME ie title + if ( pColNamePtr ) { + _SQLGetIRDItemField ( & ( ( ( pODBCStmt ) pStmt )->IRD ), col, pColNum, SQL_DESC_BASE_COLUMN_NAME, pColNamePtr, + pColNameSize, pColNameSizePtr ? &n : NULL, isANSI ); + + // here should return length of characters + if ( pColNameSizePtr ) { + if (isANSI) { + *pColNameSizePtr = ( Word ) n; + } + else { + *pColNameSizePtr = ( Word ) ( n / 2 ); + } + } + + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, (wchar_t*)pColNamePtr ) ); + } + + // COL-DATA TYPE + + if ( pDataTypePtr ) { + _SQLGetIRDItemField ( & ( ( ( pODBCStmt ) pStmt )->IRD ), col, pColNum, SQL_DESC_CONCISE_TYPE, pDataTypePtr, -1, + NULL, isANSI ); + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "data type: %d", *pDataTypePtr ) ); + } + + // COL-SIZE + + if ( pColSizePtr ) { + _SQLGetIRDItemField ( & ( ( ( pODBCStmt ) pStmt )->IRD ), col, pColNum, SQL_DESC_LENGTH, pColSizePtr, -1, NULL, + isANSI ); + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "column size: %d", *pColSizePtr ) ); + } + + // COL-DECIMAL + + if ( pDecimalDigitsPtr ) { + _SQLGetIRDItemField ( & ( ( ( pODBCStmt ) pStmt )->IRD ), col, pColNum, SQL_DESC_SCALE, pDecimalDigitsPtr, -1, NULL, + isANSI ); + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "decimal scale: %d", *pDecimalDigitsPtr ) ); + } + + // COL-NULLABLE + + if ( pNullablePtr ) { + _SQLGetIRDItemField ( & ( ( ( pODBCStmt ) pStmt )->IRD ), col, pColNum, SQL_DESC_NULLABLE, pNullablePtr, -1, NULL, + isANSI ); + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "nullable: %d", *pNullablePtr ) ); + } + + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLDescribeCol returned" ) ); + return SQL_SUCCESS; +} + +SQLRETURN SQL_API SQLDescribeColW ( SQLHSTMT pStmt, + SQLUSMALLINT pColNum, + SQLWCHAR* pColNamePtr, + SQLSMALLINT pColNameSize, + SQLSMALLINT* pColNameSizePtr, + SQLSMALLINT* pDataTypePtr, + SQLULEN* pColSizePtr, + SQLSMALLINT* pDecimalDigitsPtr, + SQLSMALLINT* pNullablePtr ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, + "SQLDescribeColW. Col: %d, ColNamePtr: %d, ColNameSize: %d, ColNameSizePtr: %d, DataTypePtr: %d, ColSizePtr: %d, DecDigitsPtr: %d, NullPtr: %d", + pColNum, pColNamePtr, pColNameSize, pColNameSizePtr, pDataTypePtr, pColSizePtr, pDecimalDigitsPtr, pNullablePtr ) ); + return _SQLDescribeCol_basic ( pStmt, pColNum, pColNamePtr, pColNameSize, pColNameSizePtr, pDataTypePtr, pColSizePtr, + pDecimalDigitsPtr, pNullablePtr , false ); +} + +SQLRETURN SQL_API SQLDescribeCol ( SQLHSTMT pStmt, + SQLUSMALLINT pColNum, + SQLCHAR* pColNamePtr, + SQLSMALLINT pColNameSize, + SQLSMALLINT* pColNameSizePtr, + SQLSMALLINT* pDataTypePtr, + SQLULEN* pColSizePtr, + SQLSMALLINT* pDecimalDigitsPtr, + SQLSMALLINT* pNullablePtr ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, + "SQLDescribeCol. Col: %d, ColNamePtr: %d, ColNameSize: %d, ColNameSizePtr: %d, DataTypePtr: %d, ColSizePtr: %d, DecDigitsPtr: %d, NullPtr: %d", + pColNum, pColNamePtr, pColNameSize, pColNameSizePtr, pDataTypePtr, pColSizePtr, pDecimalDigitsPtr, pNullablePtr ) ); + return _SQLDescribeCol_basic ( pStmt, pColNum, pColNamePtr, pColNameSize, pColNameSizePtr, pDataTypePtr, pColSizePtr, + pDecimalDigitsPtr, pNullablePtr , true ); +} + +// ----------------------------------------------------------------------- +// to bind a column to with details from application --- TO ARD +// kylin specific, no change required +// ----------------------------------------------------------------------- + +/* + + From msdn: + + SQLRETURN SQLBindCol( + SQLHSTMT StatementHandle, + SQLUSMALLINT ColumnNumber, + SQLSMALLINT TargetType, + SQLPOINTER TargetValuePtr, + SQLLEN BufferLength, + SQLLEN * StrLen_or_Ind); + +*/ +RETCODE SQL_API SQLBindCol ( SQLHSTMT pStmt, + SQLUSMALLINT pColNum, + SQLSMALLINT pDataType, + SQLPOINTER pDataPtr, + SQLLEN pDataSize, + SQLLEN* pDataSizePtr ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLBindCol called, ColNum: %d, TgtType: %d, ValuePtr: %d, Capacity: %d", + pColNum, pDataType, pDataPtr, pDataSize ) ); + pODBCARD ard; // application row descriptor + pARDItem ardcol; // application row descriptor item + __CHK_HANDLE ( pStmt, SQL_HANDLE_STMT, SQL_ERROR ); + // free diags + _SQLFreeDiag ( _DIAGSTMT ( pStmt ) ); + // extract the appl. row descriptor from stmt + ard = & ( ( ( pODBCStmt ) pStmt )->ARD ); + // get the specified column if already bound + ardcol = _SQLGetARDItem ( ard, pColNum ); + + // EXISTS + + if ( ardcol != NULL ) { + // check if total unbind is required + if ( pDataPtr == NULL && pDataSizePtr == NULL ) { + // detach it from ARD link list + _SQLDetachARDItem ( ard, ardcol ); + // free + delete ardcol; + } + + else { + // unbind/rebind col details + _SQLSetARDItemField ( ard, ardcol, pColNum, SQL_DESC_DATA_PTR, pDataPtr, -1 ); + _SQLSetARDItemField ( ard, ardcol, pColNum, SQL_DESC_CONCISE_TYPE, ( void* ) pDataType, -1 ); + _SQLSetARDItemField ( ard, ardcol, pColNum, SQL_DESC_LENGTH, ( void* ) pDataSize, -1 ); + _SQLSetARDItemField ( ard, ardcol, pColNum, SQL_DESC_OCTET_LENGTH_PTR, pDataSizePtr, -1 ); + // reset the source data type + ardcol->SrcDataType = 0; + } + + return SQL_SUCCESS; + } + + // DOES NOT EXIST + + // check for bad params + if ( pDataPtr == NULL && pDataSizePtr == NULL ) { + _SQLPutDiagRow ( SQL_HANDLE_STMT, pStmt, "SQLBindCol", "01000", -1, "Bad params" ); + return SQL_ERROR; + } + + // check for bad params + else if ( pDataSize < 0 ) { + _SQLPutDiagRow ( SQL_HANDLE_STMT, pStmt, "SQLBindCol", "01000", -1, "Invalid buffer length" ); + return SQL_ERROR; + } + + // CREATE + // allocate a new col-item + ardcol = new ARDItem; + // reset + _SQLSetARDItemFieldsDefault ( ardcol, pColNum ); + // set all values - bind + _SQLSetARDItemField ( ard, ardcol, pColNum, SQL_DESC_DATA_PTR, pDataPtr, -1 ); + _SQLSetARDItemField ( ard, ardcol, pColNum, SQL_DESC_CONCISE_TYPE, ( void* ) pDataType, -1 ); + _SQLSetARDItemField ( ard, ardcol, pColNum, SQL_DESC_LENGTH, ( void* ) pDataSize, -1 ); + _SQLSetARDItemField ( ard, ardcol, pColNum, SQL_DESC_OCTET_LENGTH_PTR, pDataSizePtr, -1 ); + // attach it to link list + _SQLAttachARDItem ( ard, ardcol ); + return SQL_SUCCESS; +} + + +// --------------------------------------------------------------------- +// to get the number of columns in result --- COUNTING ELEMENTS IN IRD.ROWDESC +// Kylin specific +// --------------------------------------------------------------------- + +RETCODE SQL_API SQLNumResultCols ( SQLHSTMT pStmt, SQLSMALLINT* pColCountPtr ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLNumResultCols called" ) ); + SQLResponse* rowdesc; + __CHK_HANDLE ( pStmt, SQL_HANDLE_STMT, SQL_ERROR ); + // free diags + _SQLFreeDiag ( _DIAGSTMT ( pStmt ) ); + // caller safe + * ( ( SQLSMALLINT* ) pColCountPtr ) = 0; + // get the row desciptor + rowdesc = ( ( pODBCStmt ) pStmt )->IRD.RowDesc.get(); + + if ( rowdesc == NULL ) { + _SQLPutDiagRow ( SQL_HANDLE_STMT, pStmt, "SQLNumResultCols", "01000", -1, "no resultset or IRD" ); + return SQL_ERROR; + } + + // count the number of columns + * ( ( SQLSMALLINT* ) pColCountPtr ) = ( SQLSMALLINT ) ( rowdesc->columnMetas.size() ); + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLNumResultCols called returned: %d", + * ( ( SQLSMALLINT* ) pColCountPtr ) ) ); + return SQL_SUCCESS; +} + + +// ---------------------------------------------------------------------- +// to count the number of rows in the current result --- COUNTING ELEMENTS IN IRD +// ---------------------------------------------------------------------- + +RETCODE SQL_API SQLRowCount ( HSTMT pStmt, SQLLEN* pDataPtr ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLRowCount called" ) ); + __CHK_HANDLE ( pStmt, SQL_HANDLE_STMT, SQL_ERROR ); + // free diags + _SQLFreeDiag ( _DIAGSTMT ( pStmt ) ); + *pDataPtr = ( ( pODBCStmt ) pStmt )->RowCount; + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLRowCount returned: %d", *pDataPtr ) ); + return SQL_SUCCESS; +} + +// ----------------------------------------------------------------------- +// to return the next row from the resultset +// ----------------------------------------------------------------------- + +RETCODE SQL_API SQLFetch ( HSTMT pStmt ) { + __CHK_HANDLE ( pStmt, SQL_HANDLE_STMT, SQL_ERROR ); + // free diags + _SQLFreeDiag ( _DIAGSTMT ( pStmt ) ); + // all fetch occur thru the local function _SQLFetch + /* + RETCODE SQL_API _SQLFetch ( pODBCStmt pStmt, + Word pFetchOrientation, + Long pFetchOffset, + ULong* pRowCountPtr, + UWord* pRowStatusArray ) + */ + RETCODE ret = _SQLFetch ( ( pODBCStmt ) pStmt, SQL_FETCH_NEXT, + ( ( pODBCStmt ) pStmt )->ARD.RowArraySize > 0 ? ( ( pODBCStmt ) pStmt )->ARD.RowArraySize : 1, + ( ( pODBCStmt ) pStmt )->IRD.RowsProcessedPtr, ( ( pODBCStmt ) pStmt )->IRD.ArrayStatusPtr ); + + if ( ret == SQL_NO_DATA ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_INFO, "Last row of current query has been fetched" ) ); + } + + return ret; +} + +// ----------------------------------------------------------------------- +// to fetch the specified rowset of data from the result set +// Version Introduced: ODBC 1.0 Standards Compliance: Deprecated (from msdn) +// ----------------------------------------------------------------------- + +RETCODE SQL_API SQLExtendedFetch ( SQLHSTMT pStmt, + SQLUSMALLINT pFetchOrientation, + SQLINTEGER pFetchOffset, + SQLUINTEGER* pRowCountPtr, + SQLUSMALLINT* pRowStatusArray ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, + "SQLExtendedFetch called, Stmt: %d, FO: %d, Offset: %d, Rcount: %d, RowStatus: %d", pStmt, pFetchOrientation, + pFetchOffset, pRowCountPtr, pRowStatusArray ) ); + __ODBCPOPMSG ( _ODBCPopMsg ( "SQLExtendedFetch is not implemented " ) ); + return SQL_ERROR; + Long n; + __CHK_HANDLE ( pStmt, SQL_HANDLE_STMT, SQL_ERROR ); + // free diags + _SQLFreeDiag ( _DIAGSTMT ( pStmt ) ); + + // only fetch next supported + if ( pFetchOrientation != SQL_FETCH_NEXT ) { + __ODBCPOPMSG ( _ODBCPopMsg ( "SQLExtendedFetch option not supported, FetchOrientation: %d", pFetchOrientation ) ); + return SQL_ERROR; + } + + // check if number of rows explicitly specified + if ( pFetchOffset <= 0 ) + { n = ( ( pODBCStmt ) pStmt )->ARD.RowArraySize; } + + // use default rowset size as a fallback + if ( n <= 0 ) + { n = 1; } + + return _SQLFetch ( ( pODBCStmt ) pStmt, pFetchOrientation, n, pRowCountPtr, pRowStatusArray ); +} + + +// ----------------------------------------------------------------------- +// to fetch the specified rowset of data from the result set +// ----------------------------------------------------------------------- + +RETCODE SQL_API SQLFetchScroll ( SQLHSTMT pStatementHandle, + SQLSMALLINT pFetchOrientation, + SQLINTEGER pFetchOffset ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLFetchScroll called" ) ); + __ODBCPOPMSG ( _ODBCPopMsg ( "SQLFetchScroll not implemented" ) ); + return SQL_ERROR; +} + + +// ----------------------------------------------------------------------- +// to send data for a parameter or column to the driver at statement execution time +// ----------------------------------------------------------------------- + +RETCODE SQL_API SQLPutData ( SQLHSTMT pStmt, + SQLPOINTER pDataPtr, + SQLINTEGER pDataSize ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLPutData called" ) ); + __ODBCPOPMSG ( _ODBCPopMsg ( "SQLPutData not implemented" ) ); + return SQL_ERROR; +} + +// ----------------------------------------------------------------------- +// to iterate through multiple resultsets +// ----------------------------------------------------------------------- + +RETCODE SQL_API SQLMoreResults ( HSTMT pStmt ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLMoreResults called" ) ); + + pODBCStmt odbcStmt = (pODBCStmt)pStmt; + if (odbcStmt->IRD.RowDesc != NULL ) { + // ------- THIS CASE SHOULD NOT OCCUR ---------- + // check if position is currently unknown + if ( odbcStmt->CurRowsetStartRow == NULL && odbcStmt->CurRowsetStartRowPos == 0 ) { + // position to first row ( both the pointers ) + if (GetIfExist ( odbcStmt->IRD.RowDesc->results, 1 ) ) + { + return SQL_SUCCESS; + } + } + // ----------------------------------------------- + // position to next row if already position is known + else if ( odbcStmt->CurRowsetEndRow != NULL ) { + // position to next row + if (GetIfExist ( odbcStmt->IRD.RowDesc->results, odbcStmt->CurRowsetEndRowPos ) ) + { + return SQL_SUCCESS; + } + } + return SQL_NO_DATA; + } + return SQL_ERROR; +} + +// ----------------------------------------------------------------------- +// to get a driver specific version of specified sql statement +// ----------------------------------------------------------------------- + +RETCODE SQL_API SQLNativeSql ( SQLHDBC pConn, + SQLCHAR* pInStmtText, + SQLINTEGER pInStmtTextLen, + SQLCHAR* pOutStmtText, + SQLINTEGER pOutStmtTextLen, + SQLINTEGER* pOutStmtTextLenPtr ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLNativeSql called" ) ); + __ODBCPOPMSG ( _ODBCPopMsg ( "SQLNativeSql not implemented" ) ); + return SQL_ERROR; +} + + + + +// ----------------------------------------------------------------------- +// to convert and transfer col data for application +// ----------------------------------------------------------------------- + +//mhb TODO, check if the sqltype defined here match from c# +RETCODE SQL_API _SQLColConvert ( pODBCStmt pStmt, + void* pTgtDataPtr, + Long* pTgtDataSizePtr, + const wchar_t* pSrcColData, + pARDItem pARDCol, + bool isSigned ) { + //check out this for SQL data type to C data type mapping + //http://msdn.microsoft.com/en-us/library/ms714556(v=vs.85).aspx + // note + // this function actually determines the conversion + // required to transfer the data + Word pSrcDataType = pARDCol->SrcDataType; + Word pTgtDataType = pARDCol->DataConciseType; + Long pTgtDataSize = pARDCol->DataSize; + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "_SQLColConvert called" ) ); + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The SrcDataType is %d, the TgtDataType is %d, the TgtDataSize is %d", + pSrcDataType, pTgtDataType, pTgtDataSize ) ); + + // TARGET TYPE IS LEFT TO OUR DRIVER + // check if target type is open + if ( pTgtDataType == SQL_DEFAULT ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "pTgtDataType is SQL_DEFAULT, use default type mapping." ) ); + + // determine targettype based on data-source type + // check out this http://msdn.microsoft.com/en-us/library/ms716298(v=vs.85).aspx for default type mapping + switch ( pSrcDataType ) { + case SQL_CHAR: + pTgtDataType = SQL_C_CHAR; + break; + + case SQL_VARCHAR: + pTgtDataType = SQL_C_CHAR; + break; + + case SQL_WCHAR: + pTgtDataType = SQL_C_WCHAR; + break; + + case SQL_WVARCHAR: + pTgtDataType = SQL_C_WCHAR; + break; + + case SQL_DECIMAL: + pTgtDataType = SQL_C_CHAR; + break; + + case SQL_BIT: + pTgtDataType = SQL_C_BIT; + break; + + case SQL_TINYINT: + if ( isSigned ) + { pTgtDataType = SQL_C_STINYINT; } + + else + { pTgtDataType = SQL_C_UTINYINT; } + + break; + + case SQL_SMALLINT: + if ( isSigned ) + { pTgtDataType = SQL_C_SSHORT; } + + else + { pTgtDataType = SQL_C_USHORT; } + + break; + + case SQL_INTEGER: + if ( isSigned ) + { pTgtDataType = SQL_C_SLONG; } + + else + { pTgtDataType = SQL_C_ULONG; } + + break; + + case SQL_BIGINT: + if ( isSigned ) + { pTgtDataType = SQL_C_SBIGINT; } + + else + { pTgtDataType = SQL_C_UBIGINT; } + + break; + + case SQL_FLOAT: + pTgtDataType = SQL_C_FLOAT; + break; + + case SQL_DOUBLE: + pTgtDataType = SQL_C_DOUBLE; + break; + + case SQL_TYPE_DATE: + pTgtDataType = SQL_C_CHAR; + break; + + case SQL_TYPE_TIME: + pTgtDataType = SQL_C_CHAR; + break; + + case SQL_TYPE_TIMESTAMP: + pTgtDataType = SQL_C_CHAR; + break; + + //case SQL_C_SLONG: + //case SQL_C_ULONG: // unsigned long + //case SQL_C_USHORT: + //case SQL_C_SSHORT: + //case SQL_NUMERIC: + //case SQL_REAL: + // pTgtDataType = pSrcDataType; + // break; + + default: + __ODBCPOPMSG ( _ODBCPopMsg ( "The data type %d not implemented", pSrcDataType ) ); + return SQL_ERROR; + break; + } + } + + else { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "pTgtDataType is NOT SQL_DEFAULT, it is %d", pTgtDataType ) ); + } + + // TARGET TYPE IS CHAR + // as an optimization, check if the application + // or target data type is char. since the data from + // server is already in char format. the data can + // easily be transferred without incurring any + // conversion overhead + unique_ptr pTextInAnsi ( wchar2char ( pSrcColData ) ); + + // check if char type + if ( pTgtDataType == SQL_CHAR || pTgtDataType == SQL_VARCHAR ) { + // only in case of src data being bool a conversion is required + if ( pSrcDataType == SQL_BIT ) { + // prepare a converted single char bool string + Char src[2]; + + if ( pTextInAnsi.get() == NULL ) + { src[0] = '0'; } + + else + { src[0] = ( pTextInAnsi.get() [0] == 'T' || pTextInAnsi.get() [0] == '1' || pTextInAnsi.get() [0] == 't' ) ? '1' : '0'; } + + src[1] = 0; + // transfer the bool string + return _SQLCopyCharData ( _DIAGSTMT ( pStmt ), pTgtDataPtr, pARDCol->DataSize, pTgtDataSizePtr, 32, src, -1 ); + } + + else { + // transfer the string as it is + return _SQLCopyCharData ( _DIAGSTMT ( pStmt ), pTgtDataPtr, pARDCol->DataSize, pTgtDataSizePtr, 32, pTextInAnsi.get(), + -1 ); + } + } + + if ( pTgtDataType == SQL_WCHAR || pTgtDataType == SQL_WVARCHAR ) { + return _SQLCopyWCharDataW ( _DIAGSTMT ( pStmt ), pTgtDataPtr, pARDCol->DataSize, pTgtDataSizePtr, 32, pSrcColData, -1 ); + } + + // TARGET TYPE IS NOT CHAR + + // try using a numeric conversion + switch ( _SQLCopyNumData ( _DIAGSTMT ( pStmt ), pTgtDataPtr, pTgtDataType, pTextInAnsi.get(), pSrcDataType , + pTgtDataSizePtr ) ) { + case -1: + return SQL_ERROR; + + case 0: + return SQL_SUCCESS; + + default: + break; + } + + // try using a date/time conversion + switch ( _SQLCopyDateTimeData ( _DIAGSTMT ( pStmt ), pTgtDataPtr, pTgtDataType, pTextInAnsi.get(), pSrcDataType ) ) { + case -1: + return SQL_ERROR; + + case 0: + return SQL_SUCCESS; + + default: + break; + } + + // try using SQL_BIT data type ie bool + if ( pTgtDataType == SQL_BIT ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "the target data type is SQL_C_BIT" ) ); + + // prepare a converted single char bool string + if ( pTextInAnsi.get() == NULL ) + { * ( ( char* ) pTgtDataPtr ) = 0; } + + else + { * ( ( char* ) pTgtDataPtr ) = ( pTextInAnsi.get() [0] == 'T' || pTextInAnsi.get() [0] == '1' || pTextInAnsi.get() [0] == 't' ) ? 1 : 0; } + + return SQL_SUCCESS; + } + + // error condition + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLColConvert - Unknown data type, Target: %d, Source: %d", pTgtDataType, + pSrcDataType ) ); + _SQLPutDiagRow ( SQL_HANDLE_STMT, pStmt, "_SQLColConvert", "01000", -1, "Unknown data type, Target: %d, Source: %d", + pTgtDataType, pSrcDataType ); + return SQL_ERROR; +} + + +// ----------------------------------------------------------------------- +// to get the specified column data from +// ----------------------------------------------------------------------- + +RETCODE SQL_API _SQLFetchCol ( pODBCStmt pStmt, + pARDItem pARDCol, //ard + SQLResponse* pRowDesc,// ird + SQLRowContent* pRowData ) { //content + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "_SQLFetchCol called" ) ); + // note + // this function checks the binding type and positions the pointer + // for copying the data accordingly. It takes into account the + // current row position in rowset, the initial min increment specified + // by client and the size of the row or col buffer + Long i; + Long j; + Long* tgtsizeptr; // target size ptr + void* tgtdataptr; // target data ptr + const wchar_t* srcdata; // source data + SelectedColumnMeta* coldesc; + // COMPUTE DATA AND SIZE PTR + // get the row pos in current rowset + i = ( pStmt->CurRowsetEndRowPos - pStmt->CurRowsetStartRowPos ); + // compute min increment + j = ( pStmt->ARD.BindOffsetPtr ) ? * ( pStmt->ARD.BindOffsetPtr ) : 0; + + // check the binding type + if ( pStmt->ARD.BindTypeOrSize != SQL_BIND_BY_COLUMN ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "ARD bindtypeorsize not euqal to SQL_BIND_BY_COLUMN" ) ); + // note + Long k; + // compute row-size increment + k = ( pStmt->ARD.BindTypeOrSize ); + // compute target col and size ptr + tgtdataptr = ( void* ) ( ( ( Char* ) ( pARDCol->DataPtr ) ) + j + ( i * k ) ); + tgtsizeptr = ( Long* ) ( ( ( Char* ) ( pARDCol->SizePtr ) ) + j + ( i * k ) ); + } + + // column-wise binding + else { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "ARD bindtypeorsize euqal to SQL_BIND_BY_COLUMN" ) ); + // move both data and size ptr in the array + //TODO find out where the pARDCol->DataSize if set + tgtdataptr = ( void* ) ( ( ( Char* ) ( pARDCol->DataPtr ) ) + j + ( i * pARDCol->DataSize ) ); // use based on data type + tgtsizeptr = ( Long* ) ( ( ( Char* ) ( pARDCol->SizePtr ) ) + j + ( i * sizeof ( Long ) ) ); + } + + // PRECAUTION + + if ( tgtdataptr ) { * ( ( Char* ) tgtdataptr ) = 0; } + + if ( tgtsizeptr ) { * ( ( Long* ) tgtsizeptr ) = 0; } + + // COLLECT AND CHECK + // get col desc for specified col ( response ) + coldesc = pRowDesc->columnMetas.at ( pARDCol->ColNum - 1 ); + //if ( coldesc == NULL ) { + // _SQLPutDiagRow ( SQL_HANDLE_STMT, pStmt, "_SQLFetchCol", "01000", -1, pStmt->CurRowsetEndRowPos, pARDCol->ColNum, "column not found in resultset for specified index" ); + // return SQL_SUCCESS_WITH_INFO; // no col for specified index + //} + // get the col data for specfied col ( response ) + srcdata = pRowData->contents.at ( pARDCol->ColNum - 1 ).c_str(); + + //coldata = SOAPGetChildElemX ( pRowData, pARDCol->ColNum ); + //if ( coldata == NULL ) { + + // _SQLPutDiagRow ( SQL_HANDLE_STMT, pStmt, "_SQLFetchCol", "01000", -1, pStmt->CurRowsetEndRowPos, pARDCol->ColNum, "column not found in resultset for specified index" ); + // return SQL_SUCCESS_WITH_INFO; // no col for specified index + //} + + // get col value as string + //srcdata = SOAPGetElemText ( coldata ); + + // NULL DATA // note: a text of NULL indicates NULL data from server + + // check if data is NULL + if ( srcdata == NULL || _wcsicmp ( srcdata, L"NULL" ) == 0 ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "srcdata is null" ) ); + + // check if a size indicator is available + if ( tgtsizeptr == NULL ) { + _SQLPutDiagRow ( SQL_HANDLE_STMT, pStmt, "_SQLFetchCol", "22002", -1, pStmt->CurRowsetEndRowPos, pARDCol->ColNum, + "Indicator variable required but not supplied" ); + return SQL_SUCCESS_WITH_INFO; + } + + // set to SQL_NULL_DATA + else { + // indicate null data + * ( ( Long* ) tgtsizeptr ) = SQL_NULL_DATA; + // added precaution for bad appl design + /* if ( tgtdataptr ) + memset ( tgtdataptr, 0, pARDCol->MaxSize );*/ + return SQL_SUCCESS; + } + } + + // check if info about src is also available in ARD col + if ( pARDCol->SrcDataType == 0 ) + { GetIRDColDescInfo ( coldesc, & ( pARDCol->SrcDataType ), & ( pARDCol->SrcDataPrecision ), & ( pARDCol->SrcDataScale ), & ( pARDCol->SrcDataSize ) ); } // collect source data information in form comparable to appl + + // CONVERT AND TRANSFER + //Important!!! + //Notice the specification of different types + //http://publib.boulder.ibm.com/infocenter/idshelp/v10/index.jsp?topic=/com.ibm.odbc.doc/odbc72.htm + RETCODE ret = _SQLColConvert ( pStmt, tgtdataptr, tgtsizeptr, srcdata, pARDCol, coldesc->isSigned ); + //char buffer[1024]; + //hexDump((char*)tgtdataptr,4,buffer,false); + //__ODBCLOG(_ODBCLogMsg(LogLevel_DEBUG,buffer)); + //hexDump((char*)tgtdataptr,4,buffer,true); + //__ODBCLOG(_ODBCLogMsg(LogLevel_DEBUG,buffer)); + return ret; +} + + +// ----------------------------------------------------------------------- +// to move to the next row with relevant checks +// ----------------------------------------------------------------------- + +RETCODE SQL_API _SQLFetchMoveNext ( pODBCStmt pStmt ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "_SQLFetch MoveNext is called" ) ); + + // check if there is some response of type resultset + if (pStmt->IRD.RowDesc != NULL ) { + // ------- THIS CASE SHOULD NOT OCCUR ---------- + + // check if position is currently unknown + if ( pStmt->CurRowsetStartRow == NULL && pStmt->CurRowsetStartRowPos == 0 ) { + // position to first row ( both the pointers ) + pStmt->CurRowsetStartRowPos = 1; + pStmt->CurRowsetStartRow = GetIfExist ( pStmt->IRD.RowDesc->results, 1 ); + pStmt->CurRowsetEndRowPos = 1; + pStmt->CurRowsetEndRow = GetIfExist ( pStmt->IRD.RowDesc->results, 1 ); + } + + // ----------------------------------------------- + + // position to next row if already position is known + else if ( pStmt->CurRowsetEndRow != NULL ) { + // position to next row + pStmt->CurRowsetEndRowPos += 1; + pStmt->CurRowsetEndRow = GetIfExist ( pStmt->IRD.RowDesc->results, pStmt->CurRowsetEndRowPos ); + } + + // finally check if there is some data found + if ( pStmt->CurRowsetEndRow == NULL ) { + // put in diag + _SQLPutDiagRow ( SQL_HANDLE_STMT, pStmt, "", "01000", -1, "SQLFetch - no data" ); + return SQL_NO_DATA; + } + + else + { return SQL_SUCCESS; } + } + + else { + // error situation + _SQLPutDiagRow ( SQL_HANDLE_STMT, pStmt, "_SQLFetchMoveNext", "01000", -1, "no resultset" ); + return SQL_ERROR; + } +} + +SQLRowContent* GetIfExist ( std::vector& container, int index ) { + index = index - 1; //sql cardinals start at 1 + + if ( index >= ( int ) container.size() ) + { return NULL; } + + else + { return container.at ( index ); } +} + +// ----------------------------------------------------------------------- +// to set the initial row positions for a fetch +// ----------------------------------------------------------------------- + +RETCODE SQL_API _SQLResetRowPos ( pODBCStmt pStmt ) { + // note + // there r 2 row pointers one is the start row for the current fetch and + // the other is the end row after the current fetch + // this function brings them together and moves them to the first row + // after the cur end row + // a block of rows which is fetched in one go is ROWSET while the full + // result is called RESULTSET + + // check if there is some response of type resultset + if ( + pStmt->IRD.RowDesc != NULL ) { + // check if position is currently unknown + if ( pStmt->CurRowsetEndRow == NULL && pStmt->CurRowsetEndRowPos == 0 ) { + // position to first row ( both the pointers ) + pStmt->CurRowsetEndRowPos = 1; + pStmt->CurRowsetEndRow = GetIfExist ( pStmt->IRD.RowDesc->results, pStmt->CurRowsetEndRowPos ); + } + + // already positioned somewhere + else if ( pStmt->CurRowsetEndRow != NULL ) { + // position to next row + pStmt->CurRowsetEndRowPos += 1; + pStmt->CurRowsetEndRow = GetIfExist ( pStmt->IRD.RowDesc->results, pStmt->CurRowsetEndRowPos ); + } + + // calibrate the first row with end row + pStmt->CurRowsetStartRow = pStmt->CurRowsetEndRow; + pStmt->CurRowsetStartRowPos = pStmt->CurRowsetEndRowPos; + + // finally check if there is some data found + if ( pStmt->CurRowsetStartRow == NULL ) { + // put in diag + _SQLPutDiagRow ( SQL_HANDLE_STMT, pStmt, "", "01000", -1, "SQLFetch - no data" ); + return SQL_NO_DATA; + } + + else + { return SQL_SUCCESS; } + } + + else { + // error situation + _SQLPutDiagRow ( SQL_HANDLE_STMT, pStmt, "_SQLResetRowPos", "01000", -1, "no resultset" ); + return SQL_ERROR; + } +} + + +// ----------------------------------------------------------------------- +// to return the next row from the resultset +// ----------------------------------------------------------------------- + +RETCODE SQL_API _SQLFetch ( pODBCStmt pStmt, + Word pFetchOrientation, + Long pFetchOffset, //ARD.RowArraySize + ULong* pRowCountPtr, //IRD.RowsProcessedPtr + UWord* pRowStatusArray ) { //ArrayStatusPtr + // note + // fetchoffset is treated as the number of rows to fetch + bool flgNoData; + Long i, n1, n2; + RETCODE s; + SQLRowContent* rowdata; + SQLResponse* rowdesc; + pODBCARD ard; + pARDItem ardcol; + + // CALLER SAFE + + // caller safe for row fetched + if ( pRowCountPtr ) + { *pRowCountPtr = 0; } + + // caller safe for each row status + if ( pRowStatusArray ) + for ( i = 0; i < pFetchOffset; i ++ ) { pRowStatusArray[i] = SQL_ROW_NOROW; } + + // RESET POSITION OR SET INITIAL POSITIONS + + // postions the row counter for fetch start + if ( ( s = _SQLResetRowPos ( ( pODBCStmt ) pStmt ) ) != SQL_SUCCESS ) + { return s; } + + // COLLECT INFO to START + // get the row desc - ird + rowdesc = ( ( pODBCStmt ) pStmt )->IRD.RowDesc.get(); + // get the row desc - ard + ard = & ( ( ( pODBCStmt ) pStmt )->ARD ); + + // MAIN LOOP to fetch rowset number of rows + // loop to fetch the rows + for ( i = 0, n1 = 0, n2 = 0, flgNoData = FALSE; i < pFetchOffset && flgNoData == FALSE; i ++ ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "Get One Row:" ) ); + + // check if first row or not + if ( i != 0 ) { + // move to next row if not first time + switch ( _SQLFetchMoveNext ( pStmt ) ) { + case SQL_NO_DATA: + flgNoData = TRUE; // can continue + continue; + + case SQL_ERROR: + return SQL_ERROR; // not continuing + + default: // case SQL_SUCCESS: + break; + } + } + + // get the current row data + rowdata = pStmt->CurRowsetEndRow; + + // LOOP to fetch cols of one row + + // loop to put data in all bound cols + for ( ardcol = ard->BindCols; ardcol != NULL; ardcol = ardcol->Next ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "Get one column:" ) ); + // get data using _SQLFetchCol + s = _SQLFetchCol ( pStmt, ardcol, rowdesc, rowdata ); + + // update row status + switch ( s ) { + case SQL_SUCCESS: + if ( pRowStatusArray && pRowStatusArray[i] == SQL_ROW_NOROW ) { pRowStatusArray[i] = SQL_ROW_SUCCESS_WITH_INFO; } + + break; + + case SQL_SUCCESS_WITH_INFO: + ++ n1; // rows with info + + if ( pRowStatusArray ) { pRowStatusArray[i - 1] = SQL_ROW_SUCCESS_WITH_INFO; } + + break; + + default: + ++ n2; // no. of rows with error + + if ( pRowStatusArray ) { pRowStatusArray[i - 1] = SQL_ROW_ERROR; } + } + } + + // update the number of rows fetched + if ( pRowCountPtr ) { *pRowCountPtr = i + 1; } + } + + // check if no data + if ( flgNoData == TRUE && i <= 0 ) + { return SQL_NO_DATA; } + + // check if all error + else if ( i > 0 && n2 == i ) + { return SQL_ERROR; } + + // check if any success with info + else if ( i > 0 && n1 > 0 ) + { return SQL_SUCCESS_WITH_INFO; } + + // all success + else { + return SQL_SUCCESS; + } +} + + +// ----------------------------------------------------------------------- +// to retrieve long data for a single column in the result set using multiple calls +// ----------------------------------------------------------------------- + +RETCODE SQL_API SQLGetData ( SQLHSTMT pStmt, + SQLUSMALLINT pColNum, + SQLSMALLINT pDataType, + SQLPOINTER pDataPtr, + SQLLEN pDataSize, + SQLLEN* pDataSizePtr ) { + __CHK_HANDLE ( pStmt, SQL_HANDLE_STMT, SQL_ERROR ); + + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLGetData called, ColNum: %d, TgtType: %d, ValuePtr: %d, Capacity: %d", + pColNum, pDataType, pDataPtr, pDataSize ) ); + + if ( pColNum < 1 || pColNum > (( pODBCStmt )pStmt)->IRD.DescCount ) { + _SQLPutDiagRow ( SQL_HANDLE_STMT, pStmt, "", "07009", -1, "Dynamic SQL error-invalid descriptor index" ); + return SQL_ERROR; + } + + pODBCARD ard; + pARDItem ardcol; + SQLRowContent* rowdata; + SQLResponse* rowdesc; + SQLSMALLINT tgtPDataType; + + ard = & ( ( ( pODBCStmt ) pStmt )->ARD ); + rowdata = ((pODBCStmt)pStmt)->CurRowsetEndRow; + rowdesc = ( ( pODBCStmt ) pStmt )->IRD.RowDesc.get(); + + if ( rowdata == NULL ) { + _SQLPutDiagRow ( SQL_HANDLE_STMT, pStmt, "", "HY010", -1, "CLI-specific condition-function sequence error" ); + return SQL_ERROR; + } + + ardcol = _SQLGetARDItem ( ard, pColNum ); + if (ardcol != NULL) { + /* It's illegal to call SQLGetdata for a "bound" Column */ + _SQLPutDiagRow ( SQL_HANDLE_STMT, pStmt, "", "07009", -1, "dynamic SQL error-invalid descriptor index" ); + return SQL_ERROR; + } + + // convert C data type to SQL data type + switch (pDataType) + { + case SQL_C_SBIGINT: + case SQL_C_SLONG: + case SQL_C_SSHORT: + case SQL_C_STINYINT: + tgtPDataType = pDataType - SQL_SIGNED_OFFSET; + break; + case SQL_C_ULONG: + case SQL_C_USHORT: + case SQL_C_UTINYINT: + case SQL_C_UBIGINT: + tgtPDataType = pDataType - SQL_UNSIGNED_OFFSET; + break; + default: + tgtPDataType = pDataType; + break; + } + + // manually bind column information to output + RETCODE ret = SQLBindCol(pStmt, pColNum, tgtPDataType, pDataPtr, pDataSize, pDataSizePtr); + if (ret != SQL_SUCCESS) { + return ret; + } + + ardcol = _SQLGetARDItem ( ard, pColNum ); + ret = _SQLFetchCol ( (pODBCStmt)pStmt, ardcol, rowdesc, rowdata ); + if (ret != SQL_SUCCESS) { + return ret; + } + _SQLDetachARDItem(ard, ardcol); + + /*unique_ptr temp2 ( wchar2char ( ( wchar_t* ) pDataPtr ) ); + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "Data1: %s", temp2.get())); + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "Size1: %d", *pDataSizePtr));*/ + + return SQL_SUCCESS; +} diff --git a/odbc/Driver/KO_INFO.CPP b/odbc/Driver/KO_INFO.CPP index 10a8d5b..417215b 100644 --- a/odbc/Driver/KO_INFO.CPP +++ b/odbc/Driver/KO_INFO.CPP @@ -1,1170 +1,1197 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - -// ---------------------------------------------------------------------------- -// -// File: KO_INFO.CPP -// -// Purpose: This file is dedicated to the single function SQLGetInfo. -// Almost all information about your driver, server -// and current state required by the client is obtained -// using this function. Most of the values need to be -// changed to values as per your server. I believe -// that you will not require to query your server for -// most information, but u can do that if u like your -// driver to be more flexible. -// -// Some info like current database ofcourse needs to be -// queried live from the server. Clients like MS Word, -// SQL server use a whole bunch of info from this function. -// You have to go thru each attribute and provide -// the info. -// -// Another function SQLGetTypeInfo is implemented in this -// file. This function is a catalog function used to obtain -// the data types supported by the server and the associated -// details required by the client to interpret them correctly. -// This function does an Rest call to the server to obtain the -// details at the very beginning of SQLConnect -// -// -// Exported functions: -// SQLGetInfo -// SQLGetTypeInfo -// -// ---------------------------------------------------------------------------- -#include "stdafx.h" - -// ----------------------------------------------------------------------- -// to get driver related information -// ----------------------------------------------------------------------- - -RETCODE SQL_API SQLGetInfoW ( SQLHDBC pConn, - SQLUSMALLINT pInfoType, - SQLPOINTER pInfoValuePtr, - SQLSMALLINT pBufferLength, - SQLSMALLINT* pStringLengthPtr ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLGetInfoW called: Field: %d, Length: %d", pInfoType, pBufferLength ) ); - _SQLFreeDiag ( _DIAGCONN ( pConn ) ); - - // check the info required - // check this page for detailed http://msdn.microsoft.com/en-us/library/ms711681(v=vs.85).aspx - switch ( pInfoType ) { - case SQL_COLUMN_ALIAS://87 called - _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "Y", -1 ); - break; - - case SQL_CONVERT_FUNCTIONS ://48 called - break; - - case SQL_MAX_IDENTIFIER_LEN : //10005 called - break; - - case SQL_ODBC_INTERFACE_CONFORMANCE://152 called - break; - - case SQL_SQL_CONFORMANCE: //118 called - break; - - /* - An SQLUINTEGER bitmask enumerating the SQL-92 datetime literals supported by the data source. Note that these are the datetime literals listed in the SQL-92 specification and are separate from the datetime literal escape clauses defined by ODBC. For more information about the ODBC datetime literal escape clauses, see Date, Time, and Timestamp Literals. - A FIPS Transitional level�Cconformant driver will always return the "1" value in the bitmask for the bits in the following list. A value of "0" means that SQL-92 datetime literals are not supported. - The following bitmasks are used to determine which literals are supported: - SQL_DL_SQL92_DATESQL_DL_SQL92_TIMESQL_DL_SQL92_TIMESTAMPSQL_DL_SQL92_INTERVAL_YEARSQL_DL_SQL92_INTERVAL_MONTHSQL_DL_SQL92_INTERVAL_DAYSQL_DL_SQL92_INTERVAL_HOURSQL_DL_SQL92_INTERVAL_MINUTESQL_DL_SQL92_INTERVAL_SECONDSQL_DL_SQL92_INTERVAL_YEAR_TO_MONTHSQL_DL_SQL92_INTERVAL_DAY_TO_HOUR - SQL_DL_SQL92_INTERVAL_DAY_TO_MINUTESQL_DL_SQL92_INTERVAL_DAY_TO_SECONDSQL_DL_SQL92_INTERVAL_HOUR_TO_MINUTESQL_DL_SQL92_INTERVAL_HOUR_TO_SECONDSQL_DL_SQL92_INTERVAL_MINUTE_TO_SECOND - */ - case SQL_DATETIME_LITERALS: //119 called - //assuming all datetime literals are supported - * ( ( Long* ) pInfoValuePtr ) = - SQL_DL_SQL92_DATE | - SQL_DL_SQL92_TIME | - SQL_DL_SQL92_TIMESTAMP | - SQL_DL_SQL92_INTERVAL_YEAR | - SQL_DL_SQL92_INTERVAL_MONTH | - SQL_DL_SQL92_INTERVAL_DAY | - SQL_DL_SQL92_INTERVAL_HOUR | - SQL_DL_SQL92_INTERVAL_MINUTE | - SQL_DL_SQL92_INTERVAL_SECOND | - SQL_DL_SQL92_INTERVAL_YEAR_TO_MONTH | - SQL_DL_SQL92_INTERVAL_DAY_TO_HOUR | - SQL_DL_SQL92_INTERVAL_DAY_TO_MINUTE | - SQL_DL_SQL92_INTERVAL_DAY_TO_SECOND | - SQL_DL_SQL92_INTERVAL_HOUR_TO_MINUTE | - SQL_DL_SQL92_INTERVAL_HOUR_TO_SECOND | - SQL_DL_SQL92_INTERVAL_MINUTE_TO_SECOND ; - break; - - /* - An SQLUINTEGER bitmask enumerating the timestamp intervals supported by the driver and associated data source for the TIMESTAMPADD scalar function. - The following bitmasks are used to determine which intervals are supported: - SQL_FN_TSI_FRAC_SECONDSQL_FN_TSI_SECONDSQL_FN_TSI_MINUTESQL_FN_TSI_HOURSQL_FN_TSI_DAYSQL_FN_TSI_WEEKSQL_FN_TSI_MONTHSQL_FN_TSI_QUARTERSQL_FN_TSI_YEAR - An FIPS Transitional level�Cconformant driver will always return a bitmask in which all of these bits are set.SQL_DATETIME_LITERALS(ODBC 3.0) - */ - case SQL_TIMEDATE_ADD_INTERVALS : // 109 called - * ( ( Long* ) pInfoValuePtr ) = - SQL_FN_TSI_FRAC_SECOND | - SQL_FN_TSI_SECOND | - SQL_FN_TSI_MINUTE | - SQL_FN_TSI_HOUR | - SQL_FN_TSI_DAY | - SQL_FN_TSI_WEEK | - SQL_FN_TSI_MONTH | - SQL_FN_TSI_QUARTER | - SQL_FN_TSI_YEAR ; - break; - - /* - An SQLUINTEGER bitmask enumerating the timestamp intervals supported by the driver and associated data source for the TIMESTAMPDIFF scalar function. - The following bitmasks are used to determine which intervals are supported: - SQL_FN_TSI_FRAC_SECONDSQL_FN_TSI_SECONDSQL_FN_TSI_MINUTESQL_FN_TSI_HOURSQL_FN_TSI_DAYSQL_FN_TSI_WEEKSQL_FN_TSI_MONTHSQL_FN_TSI_QUARTERSQL_FN_TSI_YEAR - An FIPS Transitional level�Cconformant driver will always return a bitmask in which all of these bits are set. - */ - case SQL_TIMEDATE_DIFF_INTERVALS : //110 called - * ( ( Long* ) pInfoValuePtr ) = - SQL_FN_TSI_FRAC_SECOND | - SQL_FN_TSI_SECOND | - SQL_FN_TSI_MINUTE | - SQL_FN_TSI_HOUR | - SQL_FN_TSI_DAY | - SQL_FN_TSI_WEEK | - SQL_FN_TSI_MONTH | - SQL_FN_TSI_QUARTER | - SQL_FN_TSI_YEAR ; - break; - - case SQL_AGGREGATE_FUNCTIONS: //169 called - * ( ( Long* ) pInfoValuePtr ) = SQL_AF_ALL | SQL_AF_AVG | SQL_AF_COUNT | SQL_AF_DISTINCT | SQL_AF_MAX | SQL_AF_MIN | - SQL_AF_SUM ; - break; - - /* - An SQLUINTEGER bitmask enumerating the datetime scalar functions that are supported by the driver and the associated data source, as defined in SQL-92. - The following bitmasks are used to determine which datetime functions are supported: - SQL_SDF_CURRENT_DATESQL_SDF_CURRENT_TIMESQL_SDF_CURRENT_TIMESTAMP - */ - case SQL_SQL92_DATETIME_FUNCTIONS: //155 called - * ( ( Long* ) pInfoValuePtr ) = - SQL_SDF_CURRENT_DATE | - SQL_SDF_CURRENT_TIME | - SQL_SDF_CURRENT_TIMESTAMP ; - break; - - case SQL_SQL92_VALUE_EXPRESSIONS: //165 called - break; - - case SQL_SQL92_NUMERIC_VALUE_FUNCTIONS: //159 called - break; - - case SQL_SQL92_STRING_FUNCTIONS: //164 called - break; - - case SQL_SQL92_PREDICATES : //160 called - break; - - case SQL_SQL92_RELATIONAL_JOIN_OPERATORS : //161 called - break; - - case SQL_DRIVER_ODBC_VER: // 77 called - _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "03.00", -1 ); - //*pStringLengthPtr = *pStringLengthPtr *2; - break; - - case SQL_CURSOR_COMMIT_BEHAVIOR: //23 called - //MessageBox ( GetDesktopWindow(), "SQL_CURSOR_COMMIT_BEHAVIOR", "SQLGetInfo", MB_OK ); - * ( ( short* ) pInfoValuePtr ) = SQL_CB_CLOSE; - break; - - case SQL_CORRELATION_NAME: //74 - //MessageBox ( GetDesktopWindow(), "SQL_CORRELATION_NAME", "SQLGetInfo", MB_OK ); - * ( ( short* ) pInfoValuePtr ) = SQL_CN_ANY; - break; - - case SQL_MAX_CONCURRENT_ACTIVITIES: // 1 - - //MessageBox ( GetDesktopWindow(), "SQL_MAX_CONCURRENT_ACTIVITIES", "SQLGetInfo", MB_OK ); - if ( pInfoValuePtr ) { * ( ( Word* ) pInfoValuePtr ) = 2; } - - break; - - case SQL_ODBC_API_CONFORMANCE: // 9 - - //MessageBox ( GetDesktopWindow(), "SQL_ODBC_API_CONFORMANCE", "SQLGetInfo", MB_OK ); - if ( pInfoValuePtr ) { * ( ( Word* ) pInfoValuePtr ) = SQL_OAC_NONE; } // for MS Access - - break; - - case SQL_DATA_SOURCE_READ_ONLY: // 25 - //MessageBox ( GetDesktopWindow(), "SQL_DATA_SOURCE_READ_ONLY", "SQLGetInfo", MB_OK ); - _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "N", -1 ); - break; - - case SQL_DRIVER_NAME: // 6 //called by tb - //MessageBox ( GetDesktopWindow(), "SQL_DRIVER_NAME", "SQLGetInfo", MB_OK ); - _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "driver.DLL", -1 ); - break; - - case SQL_SEARCH_PATTERN_ESCAPE: // 14 - //MessageBox ( GetDesktopWindow(), "SQL_SEARCH_PATTERN_ESCAPE", "SQLGetInfo", MB_OK ); - _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "\\", -1 ); - break; - - case SQL_NON_NULLABLE_COLUMNS: // 75 - //MessageBox ( GetDesktopWindow(), "SQL_NON_NULLABLE_COLUMNS", "SQLGetInfo", MB_OK ); - * ( ( short* ) pInfoValuePtr ) = SQL_NNC_NULL; - break; - - case SQL_QUALIFIER_NAME_SEPARATOR: // 41 called - //MessageBox ( GetDesktopWindow(), "SQL_QUALIFIER_NAME_SEPARATOR", "SQLGetInfo", MB_OK ); - _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, ".", -1 ); - break; - - case SQL_FILE_USAGE: // 84 - //MessageBox ( GetDesktopWindow(), "SQL_FILE_USAGE", "SQLGetInfo", MB_OK ); - * ( ( short* ) pInfoValuePtr ) = SQL_FILE_NOT_SUPPORTED; - break; - - case SQL_QUALIFIER_TERM: // 42 // SQL_CATALOG_TERM: called - //MessageBox ( GetDesktopWindow(), "SQL_QUALIFIER_TERM", "SQLGetInfo", MB_OK ); - _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "database", -1 ); - break; - - case SQL_OWNER_TERM: // 39 //called - _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "owner", -1 ); - break; - - case SQL_TABLE_TERM: // 45 called - _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "table", -1 ); - break; - - case SQL_CURSOR_ROLLBACK_BEHAVIOR: // 24 called - //MessageBox ( GetDesktopWindow(), "SQL_CURSOR_ROLLBACK_BEHAVIOR", "SQLGetInfo", MB_OK ); - * ( ( short* ) pInfoValuePtr ) = SQL_CB_CLOSE; - break; - - case SQL_DATA_SOURCE_NAME: // 2 - //MessageBox ( GetDesktopWindow(), "SQL_DATA_SOURCE_NAME", "SQLGetInfo", MB_OK ); - _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "GODBC", -1 ); - break; - - case 16: - _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "default", -1 ); - break; - - case SQL_PROCEDURES: // 21 - _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "N", -1 ); - break; - - case SQL_IDENTIFIER_QUOTE_CHAR: // 29 //called by tb - _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "\"", -1 ); - break; - - case SQL_MAX_SCHEMA_NAME_LEN: - * ( ( short* ) pInfoValuePtr ) = 128; - break; - - case SQL_USER_NAME: - _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "default", -1 ); - break; - - case SQL_POS_OPERATIONS: // 79 - // deprecated - * ( ( Long* ) pInfoValuePtr ) = SQL_POS_POSITION; - break; - - case SQL_STATIC_SENSITIVITY: // 83 - // deprecated - * ( ( Long* ) pInfoValuePtr ) = SQL_SS_ADDITIONS; - break; - - case SQL_LOCK_TYPES: // 78 - // deprecated - * ( ( Long* ) pInfoValuePtr ) = SQL_LCK_NO_CHANGE; - break; - - case SQL_GETDATA_EXTENSIONS: // 81 called - * ( ( Long* ) pInfoValuePtr ) = SQL_GD_ANY_COLUMN; - break; - - case SQL_TXN_ISOLATION_OPTION: // 72 - * ( ( Long* ) pInfoValuePtr ) = SQL_TXN_SERIALIZABLE; - break; - - case SQL_BOOKMARK_PERSISTENCE: // 82 - * ( ( Long* ) pInfoValuePtr ) = 0; - break; - - case SQL_SCROLL_OPTIONS: // 44 - * ( ( Long* ) pInfoValuePtr ) = SQL_SO_FORWARD_ONLY; - break; - - case SQL_SCROLL_CONCURRENCY: // 43 - // deprecated - * ( ( Long* ) pInfoValuePtr ) = SQL_SCCO_READ_ONLY; - break; - - case SQL_DYNAMIC_CURSOR_ATTRIBUTES1: // 144 - * ( ( Long* ) pInfoValuePtr ) = SQL_CA1_NEXT; - break; - - case SQL_KEYSET_CURSOR_ATTRIBUTES1: // 150 - * ( ( Long* ) pInfoValuePtr ) = SQL_CA1_NEXT; - break; - - case SQL_STATIC_CURSOR_ATTRIBUTES1: // 167 - * ( ( Long* ) pInfoValuePtr ) = SQL_CA1_NEXT; - break; - - case SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1: // 146 - * ( ( Long* ) pInfoValuePtr ) = SQL_CA1_NEXT; - break; - - case SQL_KEYSET_CURSOR_ATTRIBUTES2: // 151 - * ( ( Long* ) pInfoValuePtr ) = SQL_CA2_READ_ONLY_CONCURRENCY; - break; - - case SQL_STATIC_CURSOR_ATTRIBUTES2: // 168 - * ( ( Long* ) pInfoValuePtr ) = SQL_CA2_READ_ONLY_CONCURRENCY; - break; - - case SQL_NEED_LONG_DATA_LEN: // 111 - _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "Y", -1 ); - break; - - case SQL_TXN_CAPABLE: // 46 called - * ( ( Word* ) pInfoValuePtr ) = SQL_TC_NONE; - break; - - case SQL_DEFAULT_TXN_ISOLATION: // 26 - * ( ( Long* ) pInfoValuePtr ) = SQL_TXN_READ_COMMITTED; - break; - - case SQL_DBMS_NAME: // 17 called - _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "Gen ODBC Server", -1 ); - break; - - case SQL_ODBC_SQL_CONFORMANCE: // 15 - // deprecated - * ( ( Word* ) pInfoValuePtr ) = SQL_OSC_MINIMUM; - break; - - case SQL_INTEGRITY: // 73 - _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "N", -1 ); - break; - - case SQL_QUALIFIER_USAGE: // 92 called - * ( ( Long* ) pInfoValuePtr ) = SQL_CU_DML_STATEMENTS | SQL_CU_PROCEDURE_INVOCATION | SQL_CU_TABLE_DEFINITION; - break; - - case SQL_DBMS_VER: // 18 called - _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "01.00.00000", -1 ); - break; - - case SQL_QUOTED_IDENTIFIER_CASE: // 93 called - //*(( Word* )pInfoValuePtr) = SQL_IC_SENSITIVE; - * ( ( Word* ) pInfoValuePtr ) = SQL_IC_UPPER; - break; - - case SQL_MAX_CATALOG_NAME_LEN: // 34 - * ( ( Word* ) pInfoValuePtr ) = 128; - break; - - case SQL_MAX_TABLE_NAME_LEN: // 35 - * ( ( Word* ) pInfoValuePtr ) = 128; - break; - - case SQL_ACTIVE_CONNECTIONS: // 0 - * ( ( Word* ) pInfoValuePtr ) = 0; - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_ACTIVE_CONNECTIONS" )); - break; - - case SQL_CATALOG_LOCATION: // 114 - * ( ( Word* ) pInfoValuePtr ) = SQL_CL_START; - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_CATALOG_LOCATION" )); - break; - - case SQL_CONCAT_NULL_BEHAVIOR: // 22 - * ( ( Word* ) pInfoValuePtr ) = SQL_CB_NULL; - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_CONCAT_NULL_BEHAVIOR" )); - break; - - case SQL_GROUP_BY: // 88 - * ( ( Word* ) pInfoValuePtr ) = SQL_GB_GROUP_BY_EQUALS_SELECT; - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_GROUP_BY" )); - break; - - case SQL_IDENTIFIER_CASE: // 28 - * ( ( Word* ) pInfoValuePtr ) = SQL_IC_MIXED; - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_IDENTIFIER_CASE" )); - break; - - case SQL_MAX_INDEX_SIZE: // 102 - * ( ( Long* ) pInfoValuePtr ) = 0; - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MAX_INDEX_SIZE" )); - break; - - case SQL_MAX_ROW_SIZE: // 104 - * ( ( Long* ) pInfoValuePtr ) = 0; - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MAX_ROW_SIZE" )); - break; - - case SQL_MAX_ROW_SIZE_INCLUDES_LONG: // 103 - _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "Y", -1 ); - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MAX_ROW_SIZE_INCLUDES_LONG" )); - break; - - case SQL_MAX_TABLES_IN_SELECT: // 106 - * ( ( Word* ) pInfoValuePtr ) = 0; - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MAX_TABLES_IN_SELECT" )); - break; - - case SQL_NULL_COLLATION: // 85 - * ( ( Word* ) pInfoValuePtr ) = SQL_NC_START; - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_NULL_COLLATION" )); - break; - - case SQL_ORDER_BY_COLUMNS_IN_SELECT: // 90 - _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "N", -1 ); - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_ORDER_BY_COLUMNS_IN_SELECT" )); - break; - - case SQL_PROCEDURE_TERM: // 40 - _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "procedure", -1 ); - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_PROCEDURE_TERM" )); - break; - - case SQL_OWNER_USAGE: // 91 called - * ( ( Word* ) pInfoValuePtr ) = SQL_SU_DML_STATEMENTS | SQL_SU_TABLE_DEFINITION | SQL_SU_PRIVILEGE_DEFINITION; - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_OWNER_USAGE" )); - break; - - case SQL_SUBQUERIES: // 95 - * ( ( Long* ) pInfoValuePtr ) = SQL_SQ_CORRELATED_SUBQUERIES | - SQL_SQ_COMPARISON | - SQL_SQ_EXISTS | - SQL_SQ_IN | - SQL_SQ_QUANTIFIED; - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_SUBQUERIES" )); - break; - - case SQL_MULT_RESULT_SETS: // 36: - _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "Y", -1 ); - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MULT_RESULT_SETS" )); - break; - - case SQL_SERVER_NAME: // 13 - _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, - ( ( pODBCConn ) pConn )->Server ? ( ( pODBCConn ) pConn )->Server : "", -1 ); - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_SERVER_NAME" )); - break; - - case SQL_ACCESSIBLE_PROCEDURES: // 20 - _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "Y", -1 ); - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_ACCESSIBLE_PROCEDURES" )); - break; - - case SQL_ACCESSIBLE_TABLES: // 19 - _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "Y", -1 ); - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_ACCESSIBLE_TABLES" )); - break; - - case SQL_OJ_CAPABILITIES: // 115 called - * ( ( Long* ) pInfoValuePtr ) = SQL_OJ_LEFT | - SQL_OJ_RIGHT | - SQL_OJ_FULL | - SQL_OJ_NESTED | - SQL_OJ_NOT_ORDERED | - SQL_OJ_INNER | - SQL_OJ_ALL_COMPARISON_OPS; - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_OJ_CAPABILITIES" )); - break; - - case SQL_DRIVER_VER: // 7 called - _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "01.00.00000", -1 ); - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_DRIVER_VER" )); - break; - - case SQL_LIKE_ESCAPE_CLAUSE: // 113 - _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "Y", -1 ); - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_LIKE_ESCAPE_CLAUSE" )); - break; - - case SQL_SPECIAL_CHARACTERS: // 94 //called by tb - _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "$_", -1 ); - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_SPECIAL_CHARACTERS" )); - break; - - case SQL_MAX_COLUMNS_IN_GROUP_BY: // 97 - * ( ( Word* ) pInfoValuePtr ) = 0; - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MAX_COLUMNS_IN_GROUP_BY" )); - break; - - case SQL_MAX_COLUMNS_IN_INDEX: // 98 - * ( ( Word* ) pInfoValuePtr ) = 0; - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MAX_COLUMNS_IN_INDEX" )); - break; - - case SQL_MAX_COLUMNS_IN_ORDER_BY: // 99 - * ( ( Word* ) pInfoValuePtr ) = 0; - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MAX_COLUMNS_IN_ORDER_BY" )); - break; - - case SQL_MAX_COLUMNS_IN_SELECT: // 100 - * ( ( Word* ) pInfoValuePtr ) = 0; - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MAX_COLUMNS_IN_SELECT" )); - break; - - case SQL_MAX_COLUMNS_IN_TABLE: // 101 - * ( ( Word* ) pInfoValuePtr ) = 0; - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MAX_COLUMNS_IN_TABLE" )); - break; - - case SQL_NUMERIC_FUNCTIONS: // 49 called - * ( ( Long* ) pInfoValuePtr ) = 0; // ???? set of standard numeric functions - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_NUMERIC_FUNCTIONS" )); - break; - - case SQL_OUTER_JOINS: // 38 - _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "Y", -1 ); - // __ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_OUTER_JOINS" )); - break; - - case SQL_STRING_FUNCTIONS: // 50 called - * ( ( Long* ) pInfoValuePtr ) = 0; // ???? set of standard string functions - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_STRING_FUNCTIONS" )); - break; - - case SQL_SYSTEM_FUNCTIONS: // 51 called - * ( ( Long* ) pInfoValuePtr ) = 0; - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_SYSTEM_FUNCTIONS" )); - break; - - /* - Note: The information type was introduced in ODBC 1.0; each bitmask is labeled with the version in which it was introduced. - An SQLUINTEGER bitmask enumerating the scalar date and time functions supported by the driver and associated data source. - The following bitmasks are used to determine which date and time functions are supported: - SQL_FN_TD_CURRENT_DATE ODBC 3.0)SQL_FN_TD_CURRENT_TIME (ODBC 3.0)SQL_FN_TD_CURRENT_TIMESTAMP (ODBC 3.0)SQL_FN_TD_CURDATE (ODBC 1.0)SQL_FN_TD_CURTIME (ODBC 1.0) SQL_FN_TD_DAYNAME (ODBC 2.0)SQL_FN_TD_DAYOFMONTH (ODBC 1.0)SQL_FN_TD_DAYOFWEEK (ODBC 1.0)SQL_FN_TD_DAYOFYEAR (ODBC 1.0) SQL_FN_TD_EXTRACT (ODBC 3.0)SQL_FN_TD_HOUR (ODBC 1.0)SQL_FN_TD_MINUTE (ODBC 1.0)SQL_FN_TD_MONTH (ODBC 1.0)SQL_FN_TD_MONTHNAME (ODBC 2.0)SQL_FN_TD_NOW (ODBC 1.0)SQL_FN_TD_QUARTER (ODBC 1.0)SQL_FN_TD_SECOND (ODBC 1.0)SQL_FN_TD_TIMESTAMPADD (ODBC 2.0)SQL_FN_TD_TIMESTAMPDIFF (ODBC 2.0)SQL_FN_TD_WEEK (ODBC 1.0)SQL_FN_TD_YEAR (ODBC 1.0) - */ - case SQL_TIMEDATE_FUNCTIONS: // 52 called - * ( ( Long* ) pInfoValuePtr ) = - //SQL_FN_TD_CURRENT_DATE | - //SQL_FN_TD_CURRENT_TIME | - SQL_FN_TD_CURRENT_TIMESTAMP | - SQL_FN_TD_CURDATE | - SQL_FN_TD_CURTIME | - //SQL_FN_TD_DAYNAME | - //SQL_FN_TD_DAYOFMONTH | - //SQL_FN_TD_DAYOFWEEK | - //SQL_FN_TD_DAYOFYEAR | - SQL_FN_TD_EXTRACT - //SQL_FN_TD_HOUR | - //SQL_FN_TD_MINUTE | - //SQL_FN_TD_MONTH | - //SQL_FN_TD_MONTHNAME | - //SQL_FN_TD_NOW | - //SQL_FN_TD_QUARTER | - //SQL_FN_TD_SECOND | - //SQL_FN_TD_TIMESTAMPADD | - //SQL_FN_TD_TIMESTAMPDIFF | - //SQL_FN_TD_WEEK | - //SQL_FN_TD_YEAR - ; - break; - - default: - __ODBCLOG ( _ODBCLogMsg ( LogLevel_ERROR, - "Function Missing!!! SQLGetInfoW, Field: %d, DataPtr: %d, BufLen: %d, SizePtr: %d\n", pInfoType, pInfoValuePtr, - pBufferLength, pStringLengthPtr ) ); - } - - if ( pStringLengthPtr ) { - *pStringLengthPtr = ( *pStringLengthPtr ) * 2; - } - - return SQL_SUCCESS; -} - - -RETCODE SQL_API SQLGetInfo ( SQLHDBC pConn, - SQLUSMALLINT pInfoType, - SQLPOINTER pInfoValuePtr, - SQLSMALLINT pBufferLength, - SQLSMALLINT* pStringLengthPtr ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLGetInfo called: Field: %d, Length: %d", pInfoType, pBufferLength ) ); - _SQLFreeDiag ( _DIAGCONN ( pConn ) ); - - // check the info required - switch ( pInfoType ) { - case SQL_COLUMN_ALIAS://87 called - _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "Y", -1 ); - break; - - case SQL_CONVERT_FUNCTIONS ://48 called - break; - - case SQL_MAX_IDENTIFIER_LEN : //10005 called - break; - - case SQL_ODBC_INTERFACE_CONFORMANCE://152 called - break; - - case SQL_SQL_CONFORMANCE: //118 called - break; - - /* - An SQLUINTEGER bitmask enumerating the SQL-92 datetime literals supported by the data source. Note that these are the datetime literals listed in the SQL-92 specification and are separate from the datetime literal escape clauses defined by ODBC. For more information about the ODBC datetime literal escape clauses, see Date, Time, and Timestamp Literals. - A FIPS Transitional level�Cconformant driver will always return the "1" value in the bitmask for the bits in the following list. A value of "0" means that SQL-92 datetime literals are not supported. - The following bitmasks are used to determine which literals are supported: - SQL_DL_SQL92_DATESQL_DL_SQL92_TIMESQL_DL_SQL92_TIMESTAMPSQL_DL_SQL92_INTERVAL_YEARSQL_DL_SQL92_INTERVAL_MONTHSQL_DL_SQL92_INTERVAL_DAYSQL_DL_SQL92_INTERVAL_HOURSQL_DL_SQL92_INTERVAL_MINUTESQL_DL_SQL92_INTERVAL_SECONDSQL_DL_SQL92_INTERVAL_YEAR_TO_MONTHSQL_DL_SQL92_INTERVAL_DAY_TO_HOUR - SQL_DL_SQL92_INTERVAL_DAY_TO_MINUTESQL_DL_SQL92_INTERVAL_DAY_TO_SECONDSQL_DL_SQL92_INTERVAL_HOUR_TO_MINUTESQL_DL_SQL92_INTERVAL_HOUR_TO_SECONDSQL_DL_SQL92_INTERVAL_MINUTE_TO_SECOND - */ - case SQL_DATETIME_LITERALS: //119 called - //assuming all datetime literals are supported - * ( ( Long* ) pInfoValuePtr ) = - SQL_DL_SQL92_DATE | - SQL_DL_SQL92_TIME | - SQL_DL_SQL92_TIMESTAMP | - SQL_DL_SQL92_INTERVAL_YEAR | - SQL_DL_SQL92_INTERVAL_MONTH | - SQL_DL_SQL92_INTERVAL_DAY | - SQL_DL_SQL92_INTERVAL_HOUR | - SQL_DL_SQL92_INTERVAL_MINUTE | - SQL_DL_SQL92_INTERVAL_SECOND | - SQL_DL_SQL92_INTERVAL_YEAR_TO_MONTH | - SQL_DL_SQL92_INTERVAL_DAY_TO_HOUR | - SQL_DL_SQL92_INTERVAL_DAY_TO_MINUTE | - SQL_DL_SQL92_INTERVAL_DAY_TO_SECOND | - SQL_DL_SQL92_INTERVAL_HOUR_TO_MINUTE | - SQL_DL_SQL92_INTERVAL_HOUR_TO_SECOND | - SQL_DL_SQL92_INTERVAL_MINUTE_TO_SECOND ; - break; - - /* - An SQLUINTEGER bitmask enumerating the timestamp intervals supported by the driver and associated data source for the TIMESTAMPADD scalar function. - The following bitmasks are used to determine which intervals are supported: - SQL_FN_TSI_FRAC_SECONDSQL_FN_TSI_SECONDSQL_FN_TSI_MINUTESQL_FN_TSI_HOURSQL_FN_TSI_DAYSQL_FN_TSI_WEEKSQL_FN_TSI_MONTHSQL_FN_TSI_QUARTERSQL_FN_TSI_YEAR - An FIPS Transitional level�Cconformant driver will always return a bitmask in which all of these bits are set.SQL_DATETIME_LITERALS(ODBC 3.0) - */ - case SQL_TIMEDATE_ADD_INTERVALS : // 109 called - * ( ( Long* ) pInfoValuePtr ) = - SQL_FN_TSI_FRAC_SECOND | - SQL_FN_TSI_SECOND | - SQL_FN_TSI_MINUTE | - SQL_FN_TSI_HOUR | - SQL_FN_TSI_DAY | - SQL_FN_TSI_WEEK | - SQL_FN_TSI_MONTH | - SQL_FN_TSI_QUARTER | - SQL_FN_TSI_YEAR ; - break; - - /* - An SQLUINTEGER bitmask enumerating the timestamp intervals supported by the driver and associated data source for the TIMESTAMPDIFF scalar function. - The following bitmasks are used to determine which intervals are supported: - SQL_FN_TSI_FRAC_SECONDSQL_FN_TSI_SECONDSQL_FN_TSI_MINUTESQL_FN_TSI_HOURSQL_FN_TSI_DAYSQL_FN_TSI_WEEKSQL_FN_TSI_MONTHSQL_FN_TSI_QUARTERSQL_FN_TSI_YEAR - An FIPS Transitional level�Cconformant driver will always return a bitmask in which all of these bits are set. - */ - case SQL_TIMEDATE_DIFF_INTERVALS : //110 called - * ( ( Long* ) pInfoValuePtr ) = - SQL_FN_TSI_FRAC_SECOND | - SQL_FN_TSI_SECOND | - SQL_FN_TSI_MINUTE | - SQL_FN_TSI_HOUR | - SQL_FN_TSI_DAY | - SQL_FN_TSI_WEEK | - SQL_FN_TSI_MONTH | - SQL_FN_TSI_QUARTER | - SQL_FN_TSI_YEAR ; - break; - - case SQL_AGGREGATE_FUNCTIONS: //169 called - * ( ( Long* ) pInfoValuePtr ) = SQL_AF_ALL | SQL_AF_AVG | SQL_AF_COUNT | SQL_AF_DISTINCT | SQL_AF_MAX | SQL_AF_MIN | - SQL_AF_SUM ; - break; - - /* - An SQLUINTEGER bitmask enumerating the datetime scalar functions that are supported by the driver and the associated data source, as defined in SQL-92. - The following bitmasks are used to determine which datetime functions are supported: - SQL_SDF_CURRENT_DATESQL_SDF_CURRENT_TIMESQL_SDF_CURRENT_TIMESTAMP - */ - case SQL_SQL92_DATETIME_FUNCTIONS: //155 called - * ( ( Long* ) pInfoValuePtr ) = - SQL_SDF_CURRENT_DATE | - SQL_SDF_CURRENT_TIME | - SQL_SDF_CURRENT_TIMESTAMP ; - break; - - case SQL_SQL92_VALUE_EXPRESSIONS: //165 called - break; - - case SQL_SQL92_NUMERIC_VALUE_FUNCTIONS: //159 called - break; - - case SQL_SQL92_STRING_FUNCTIONS: //164 called - break; - - case SQL_SQL92_PREDICATES : //160 called - break; - - case SQL_SQL92_RELATIONAL_JOIN_OPERATORS : //161 called - break; - - case SQL_DRIVER_ODBC_VER: // 77 called - _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "03.00", -1 ); - break; - - case SQL_CURSOR_COMMIT_BEHAVIOR: //23 called - //MessageBox ( GetDesktopWindow(), "SQL_CURSOR_COMMIT_BEHAVIOR", "SQLGetInfo", MB_OK ); - * ( ( short* ) pInfoValuePtr ) = SQL_CB_CLOSE; - break; - - case SQL_CORRELATION_NAME: //74 - //MessageBox ( GetDesktopWindow(), "SQL_CORRELATION_NAME", "SQLGetInfo", MB_OK ); - * ( ( short* ) pInfoValuePtr ) = SQL_CN_ANY; - break; - - case SQL_MAX_CONCURRENT_ACTIVITIES: // 1 - - //MessageBox ( GetDesktopWindow(), "SQL_MAX_CONCURRENT_ACTIVITIES", "SQLGetInfo", MB_OK ); - if ( pInfoValuePtr ) { * ( ( Word* ) pInfoValuePtr ) = 2; } - - break; - - case SQL_ODBC_API_CONFORMANCE: // 9 - - //MessageBox ( GetDesktopWindow(), "SQL_ODBC_API_CONFORMANCE", "SQLGetInfo", MB_OK ); - if ( pInfoValuePtr ) { * ( ( Word* ) pInfoValuePtr ) = SQL_OAC_NONE; } // for MS Access - - break; - - case SQL_DATA_SOURCE_READ_ONLY: // 25 - //MessageBox ( GetDesktopWindow(), "SQL_DATA_SOURCE_READ_ONLY", "SQLGetInfo", MB_OK ); - _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "N", -1 ); - break; - - case SQL_DRIVER_NAME: // 6 //called by tb - //MessageBox ( GetDesktopWindow(), "SQL_DRIVER_NAME", "SQLGetInfo", MB_OK ); - _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "driver.DLL", -1 ); - break; - - case SQL_SEARCH_PATTERN_ESCAPE: // 14 - //MessageBox ( GetDesktopWindow(), "SQL_SEARCH_PATTERN_ESCAPE", "SQLGetInfo", MB_OK ); - _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "\\", -1 ); - break; - - case SQL_NON_NULLABLE_COLUMNS: // 75 - //MessageBox ( GetDesktopWindow(), "SQL_NON_NULLABLE_COLUMNS", "SQLGetInfo", MB_OK ); - * ( ( short* ) pInfoValuePtr ) = SQL_NNC_NULL; - break; - - case SQL_QUALIFIER_NAME_SEPARATOR: // 41 called - //MessageBox ( GetDesktopWindow(), "SQL_QUALIFIER_NAME_SEPARATOR", "SQLGetInfo", MB_OK ); - _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, ".", -1 ); - break; - - case SQL_FILE_USAGE: // 84 - //MessageBox ( GetDesktopWindow(), "SQL_FILE_USAGE", "SQLGetInfo", MB_OK ); - * ( ( short* ) pInfoValuePtr ) = SQL_FILE_NOT_SUPPORTED; - break; - - case SQL_QUALIFIER_TERM: // 42 // SQL_CATALOG_TERM: called - //MessageBox ( GetDesktopWindow(), "SQL_QUALIFIER_TERM", "SQLGetInfo", MB_OK ); - _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "database", -1 ); - break; - - case SQL_OWNER_TERM: // 39 //called - _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "owner", -1 ); - break; - - case SQL_TABLE_TERM: // 45 called - _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "table", -1 ); - break; - - case SQL_CURSOR_ROLLBACK_BEHAVIOR: // 24 called - //MessageBox ( GetDesktopWindow(), "SQL_CURSOR_ROLLBACK_BEHAVIOR", "SQLGetInfo", MB_OK ); - * ( ( short* ) pInfoValuePtr ) = SQL_CB_CLOSE; - break; - - case SQL_DATA_SOURCE_NAME: // 2 - //MessageBox ( GetDesktopWindow(), "SQL_DATA_SOURCE_NAME", "SQLGetInfo", MB_OK ); - _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "GODBC", -1 ); - break; - - case 16: - _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "default", -1 ); - break; - - case SQL_PROCEDURES: // 21 - _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "N", -1 ); - break; - - case SQL_IDENTIFIER_QUOTE_CHAR: // 29 //called by tb - _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "\"", -1 ); - break; - - case SQL_MAX_SCHEMA_NAME_LEN: - * ( ( short* ) pInfoValuePtr ) = 128; - break; - - case SQL_USER_NAME: - _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "default", -1 ); - break; - - case SQL_POS_OPERATIONS: // 79 - // deprecated - * ( ( Long* ) pInfoValuePtr ) = SQL_POS_POSITION; - break; - - case SQL_STATIC_SENSITIVITY: // 83 - // deprecated - * ( ( Long* ) pInfoValuePtr ) = SQL_SS_ADDITIONS; - break; - - case SQL_LOCK_TYPES: // 78 - // deprecated - * ( ( Long* ) pInfoValuePtr ) = SQL_LCK_NO_CHANGE; - break; - - case SQL_GETDATA_EXTENSIONS: // 81 called - * ( ( Long* ) pInfoValuePtr ) = SQL_GD_ANY_COLUMN; - break; - - case SQL_TXN_ISOLATION_OPTION: // 72 - * ( ( Long* ) pInfoValuePtr ) = SQL_TXN_SERIALIZABLE; - break; - - case SQL_BOOKMARK_PERSISTENCE: // 82 - * ( ( Long* ) pInfoValuePtr ) = 0; - break; - - case SQL_SCROLL_OPTIONS: // 44 - * ( ( Long* ) pInfoValuePtr ) = SQL_SO_FORWARD_ONLY; - break; - - case SQL_SCROLL_CONCURRENCY: // 43 - // deprecated - * ( ( Long* ) pInfoValuePtr ) = SQL_SCCO_READ_ONLY; - break; - - case SQL_DYNAMIC_CURSOR_ATTRIBUTES1: // 144 - * ( ( Long* ) pInfoValuePtr ) = SQL_CA1_NEXT; - break; - - case SQL_KEYSET_CURSOR_ATTRIBUTES1: // 150 - * ( ( Long* ) pInfoValuePtr ) = SQL_CA1_NEXT; - break; - - case SQL_STATIC_CURSOR_ATTRIBUTES1: // 167 - * ( ( Long* ) pInfoValuePtr ) = SQL_CA1_NEXT; - break; - - case SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1: // 146 - * ( ( Long* ) pInfoValuePtr ) = SQL_CA1_NEXT; - break; - - case SQL_KEYSET_CURSOR_ATTRIBUTES2: // 151 - * ( ( Long* ) pInfoValuePtr ) = SQL_CA2_READ_ONLY_CONCURRENCY; - break; - - case SQL_STATIC_CURSOR_ATTRIBUTES2: // 168 - * ( ( Long* ) pInfoValuePtr ) = SQL_CA2_READ_ONLY_CONCURRENCY; - break; - - case SQL_NEED_LONG_DATA_LEN: // 111 - _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "Y", -1 ); - break; - - case SQL_TXN_CAPABLE: // 46 called - * ( ( Word* ) pInfoValuePtr ) = SQL_TC_NONE; - break; - - case SQL_DEFAULT_TXN_ISOLATION: // 26 - * ( ( Long* ) pInfoValuePtr ) = SQL_TXN_READ_COMMITTED; - break; - - case SQL_DBMS_NAME: // 17 called - _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "Gen ODBC Server", -1 ); - break; - - case SQL_ODBC_SQL_CONFORMANCE: // 15 - // deprecated - * ( ( Word* ) pInfoValuePtr ) = SQL_OSC_MINIMUM; - break; - - case SQL_INTEGRITY: // 73 - _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "N", -1 ); - break; - - case SQL_QUALIFIER_USAGE: // 92 called - * ( ( Long* ) pInfoValuePtr ) = SQL_CU_DML_STATEMENTS | SQL_CU_PROCEDURE_INVOCATION | SQL_CU_TABLE_DEFINITION; - break; - - case SQL_DBMS_VER: // 18 called - _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "01.00.00000", -1 ); - break; - - case SQL_QUOTED_IDENTIFIER_CASE: // 93 called - //*(( Word* )pInfoValuePtr) = SQL_IC_SENSITIVE; - * ( ( Word* ) pInfoValuePtr ) = SQL_IC_UPPER; - break; - - case SQL_MAX_CATALOG_NAME_LEN: // 34 - * ( ( Word* ) pInfoValuePtr ) = 128; - break; - - case SQL_MAX_TABLE_NAME_LEN: // 35 - * ( ( Word* ) pInfoValuePtr ) = 128; - break; - - case SQL_ACTIVE_CONNECTIONS: // 0 - * ( ( Word* ) pInfoValuePtr ) = 0; - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_ACTIVE_CONNECTIONS" )); - break; - - case SQL_CATALOG_LOCATION: // 114 - * ( ( Word* ) pInfoValuePtr ) = SQL_CL_START; - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_CATALOG_LOCATION" )); - break; - - case SQL_CONCAT_NULL_BEHAVIOR: // 22 - * ( ( Word* ) pInfoValuePtr ) = SQL_CB_NULL; - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_CONCAT_NULL_BEHAVIOR" )); - break; - - case SQL_GROUP_BY: // 88 - * ( ( Word* ) pInfoValuePtr ) = SQL_GB_GROUP_BY_EQUALS_SELECT; - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_GROUP_BY" )); - break; - - case SQL_IDENTIFIER_CASE: // 28 - * ( ( Word* ) pInfoValuePtr ) = SQL_IC_MIXED; - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_IDENTIFIER_CASE" )); - break; - - case SQL_MAX_INDEX_SIZE: // 102 - * ( ( Long* ) pInfoValuePtr ) = 0; - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MAX_INDEX_SIZE" )); - break; - - case SQL_MAX_ROW_SIZE: // 104 - * ( ( Long* ) pInfoValuePtr ) = 0; - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MAX_ROW_SIZE" )); - break; - - case SQL_MAX_ROW_SIZE_INCLUDES_LONG: // 103 - _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "Y", -1 ); - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MAX_ROW_SIZE_INCLUDES_LONG" )); - break; - - case SQL_MAX_TABLES_IN_SELECT: // 106 - * ( ( Word* ) pInfoValuePtr ) = 0; - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MAX_TABLES_IN_SELECT" )); - break; - - case SQL_NULL_COLLATION: // 85 - * ( ( Word* ) pInfoValuePtr ) = SQL_NC_START; - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_NULL_COLLATION" )); - break; - - case SQL_ORDER_BY_COLUMNS_IN_SELECT: // 90 - _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "N", -1 ); - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_ORDER_BY_COLUMNS_IN_SELECT" )); - break; - - case SQL_PROCEDURE_TERM: // 40 - _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "procedure", -1 ); - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_PROCEDURE_TERM" )); - break; - - case SQL_OWNER_USAGE: // 91 called - * ( ( Word* ) pInfoValuePtr ) = SQL_SU_DML_STATEMENTS | SQL_SU_TABLE_DEFINITION | SQL_SU_PRIVILEGE_DEFINITION; - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_OWNER_USAGE" )); - break; - - case SQL_SUBQUERIES: // 95 - * ( ( Long* ) pInfoValuePtr ) = SQL_SQ_CORRELATED_SUBQUERIES | - SQL_SQ_COMPARISON | - SQL_SQ_EXISTS | - SQL_SQ_IN | - SQL_SQ_QUANTIFIED; - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_SUBQUERIES" )); - break; - - case SQL_MULT_RESULT_SETS: // 36: - _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "Y", -1 ); - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MULT_RESULT_SETS" )); - break; - - case SQL_SERVER_NAME: // 13 - _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, - ( ( pODBCConn ) pConn )->Server ? ( ( pODBCConn ) pConn )->Server : "", -1 ); - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_SERVER_NAME" )); - break; - - case SQL_ACCESSIBLE_PROCEDURES: // 20 - _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "Y", -1 ); - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_ACCESSIBLE_PROCEDURES" )); - break; - - case SQL_ACCESSIBLE_TABLES: // 19 - _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "Y", -1 ); - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_ACCESSIBLE_TABLES" )); - break; - - case SQL_OJ_CAPABILITIES: // 115 called - * ( ( Long* ) pInfoValuePtr ) = SQL_OJ_LEFT | - SQL_OJ_RIGHT | - SQL_OJ_FULL | - SQL_OJ_NESTED | - SQL_OJ_NOT_ORDERED | - SQL_OJ_INNER | - SQL_OJ_ALL_COMPARISON_OPS; - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_OJ_CAPABILITIES" )); - break; - - case SQL_DRIVER_VER: // 7 called - _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "01.00.00000", -1 ); - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_DRIVER_VER" )); - break; - - case SQL_LIKE_ESCAPE_CLAUSE: // 113 - _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "Y", -1 ); - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_LIKE_ESCAPE_CLAUSE" )); - break; - - case SQL_SPECIAL_CHARACTERS: // 94 //called by tb - _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "$_", -1 ); - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_SPECIAL_CHARACTERS" )); - break; - - case SQL_MAX_COLUMNS_IN_GROUP_BY: // 97 - * ( ( Word* ) pInfoValuePtr ) = 0; - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MAX_COLUMNS_IN_GROUP_BY" )); - break; - - case SQL_MAX_COLUMNS_IN_INDEX: // 98 - * ( ( Word* ) pInfoValuePtr ) = 0; - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MAX_COLUMNS_IN_INDEX" )); - break; - - case SQL_MAX_COLUMNS_IN_ORDER_BY: // 99 - * ( ( Word* ) pInfoValuePtr ) = 0; - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MAX_COLUMNS_IN_ORDER_BY" )); - break; - - case SQL_MAX_COLUMNS_IN_SELECT: // 100 - * ( ( Word* ) pInfoValuePtr ) = 0; - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MAX_COLUMNS_IN_SELECT" )); - break; - - case SQL_MAX_COLUMNS_IN_TABLE: // 101 - * ( ( Word* ) pInfoValuePtr ) = 0; - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MAX_COLUMNS_IN_TABLE" )); - break; - - case SQL_NUMERIC_FUNCTIONS: // 49 called - * ( ( Long* ) pInfoValuePtr ) = 0; // ???? set of standard numeric functions - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_NUMERIC_FUNCTIONS" )); - break; - - case SQL_OUTER_JOINS: // 38 - _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "Y", -1 ); - // __ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_OUTER_JOINS" )); - break; - - case SQL_STRING_FUNCTIONS: // 50 called - * ( ( Long* ) pInfoValuePtr ) = 0; // ???? set of standard string functions - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_STRING_FUNCTIONS" )); - break; - - case SQL_SYSTEM_FUNCTIONS: // 51 called - * ( ( Long* ) pInfoValuePtr ) = 0; - //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_SYSTEM_FUNCTIONS" )); - break; - - /* - Note: The information type was introduced in ODBC 1.0; each bitmask is labeled with the version in which it was introduced. - An SQLUINTEGER bitmask enumerating the scalar date and time functions supported by the driver and associated data source. - The following bitmasks are used to determine which date and time functions are supported: - SQL_FN_TD_CURRENT_DATE ODBC 3.0)SQL_FN_TD_CURRENT_TIME (ODBC 3.0)SQL_FN_TD_CURRENT_TIMESTAMP (ODBC 3.0)SQL_FN_TD_CURDATE (ODBC 1.0)SQL_FN_TD_CURTIME (ODBC 1.0) SQL_FN_TD_DAYNAME (ODBC 2.0)SQL_FN_TD_DAYOFMONTH (ODBC 1.0)SQL_FN_TD_DAYOFWEEK (ODBC 1.0)SQL_FN_TD_DAYOFYEAR (ODBC 1.0) SQL_FN_TD_EXTRACT (ODBC 3.0)SQL_FN_TD_HOUR (ODBC 1.0)SQL_FN_TD_MINUTE (ODBC 1.0)SQL_FN_TD_MONTH (ODBC 1.0)SQL_FN_TD_MONTHNAME (ODBC 2.0)SQL_FN_TD_NOW (ODBC 1.0)SQL_FN_TD_QUARTER (ODBC 1.0)SQL_FN_TD_SECOND (ODBC 1.0)SQL_FN_TD_TIMESTAMPADD (ODBC 2.0)SQL_FN_TD_TIMESTAMPDIFF (ODBC 2.0)SQL_FN_TD_WEEK (ODBC 1.0)SQL_FN_TD_YEAR (ODBC 1.0) - */ - case SQL_TIMEDATE_FUNCTIONS: // 52 called - * ( ( Long* ) pInfoValuePtr ) = - SQL_FN_TD_CURRENT_DATE | - SQL_FN_TD_CURRENT_TIME | - SQL_FN_TD_CURRENT_TIMESTAMP | - SQL_FN_TD_CURDATE | - SQL_FN_TD_CURTIME | - SQL_FN_TD_DAYNAME | - SQL_FN_TD_DAYOFMONTH | - SQL_FN_TD_DAYOFWEEK | - SQL_FN_TD_DAYOFYEAR | - SQL_FN_TD_EXTRACT | - SQL_FN_TD_HOUR | - SQL_FN_TD_MINUTE | - SQL_FN_TD_MONTH | - SQL_FN_TD_MONTHNAME | - SQL_FN_TD_NOW | - SQL_FN_TD_QUARTER | - SQL_FN_TD_SECOND | - SQL_FN_TD_TIMESTAMPADD | - SQL_FN_TD_TIMESTAMPDIFF | - SQL_FN_TD_WEEK | - SQL_FN_TD_YEAR ; - break; - - default: - __ODBCLOG ( _ODBCLogMsg ( LogLevel_ERROR, - "Function Missing!!! SQLGetInfo, Field: %d, DataPtr: %d, BufLen: %d, SizePtr: %d\n", pInfoType, pInfoValuePtr, - pBufferLength, pStringLengthPtr ) ); - } - - return SQL_SUCCESS; -} - - -// ----------------------------------------------------------------------- -// to get type related information, this communicates with the server -// ----------------------------------------------------------------------- - -//TODO -RETCODE SQL_API SQLGetTypeInfo ( HSTMT pStmt, SWORD pDataType ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLGetTypeInfo called, Stmt: %d, DataType: %d", ( Long ) pStmt, - pDataType ) ); - __ODBCPOPMSG ( _ODBCPopMsg ( "SQLGetType Info is not supported" ) ); - return SQL_SUCCESS; -} - - -// ----------------------------------------------------------------------- -// to get function related information -// ----------------------------------------------------------------------- - -RETCODE SQL_API SQLGetFunctions ( SQLHDBC pConn, SQLUSMALLINT pFuncID, SQLUSMALLINT* pOutput ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLGetFunctions called" ) ); - // the functions is currently not being exported - // bcoz of implemenation difficulties for - // SQL_API_ODBC3_ALL_FUNCTIONS param - // which requires an array to be built - // to satisfy the functioning of the macro SQL_FUNC_EXISTS. - // in any case the driver manager provides for a proper - // stub - // SQLFUNCEXISTS ---- ( ( *(((UWORD*) (pfExists)) + ((uwAPI) >> 4)) & (1 << ((uwAPI) & 0x000F))) ? SQL_TRUE : SQL_FALSE ) - return SQL_SUCCESS; -} - +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +// ---------------------------------------------------------------------------- +// +// File: KO_INFO.CPP +// +// Purpose: This file is dedicated to the single function SQLGetInfo. +// Almost all information about your driver, server +// and current state required by the client is obtained +// using this function. Most of the values need to be +// changed to values as per your server. I believe +// that you will not require to query your server for +// most information, but u can do that if u like your +// driver to be more flexible. +// +// Some info like current database ofcourse needs to be +// queried live from the server. Clients like MS Word, +// SQL server use a whole bunch of info from this function. +// You have to go thru each attribute and provide +// the info. +// +// Another function SQLGetTypeInfo is implemented in this +// file. This function is a catalog function used to obtain +// the data types supported by the server and the associated +// details required by the client to interpret them correctly. +// This function does an Rest call to the server to obtain the +// details at the very beginning of SQLConnect +// +// +// Exported functions: +// SQLGetInfo +// SQLGetTypeInfo +// +// ---------------------------------------------------------------------------- +#include "stdafx.h" +#include "JsonConverter.h" + +// ----------------------------------------------------------------------- +// to get driver related information +// ----------------------------------------------------------------------- + +RETCODE SQL_API SQLGetInfoW ( SQLHDBC pConn, + SQLUSMALLINT pInfoType, + SQLPOINTER pInfoValuePtr, + SQLSMALLINT pBufferLength, + SQLSMALLINT* pStringLengthPtr ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLGetInfoW called: Field: %d, Length: %d", pInfoType, pBufferLength ) ); + _SQLFreeDiag ( _DIAGCONN ( pConn ) ); + + // check the info required + // check this page for detailed http://msdn.microsoft.com/en-us/library/ms711681(v=vs.85).aspx + switch ( pInfoType ) { + case SQL_COLUMN_ALIAS://87 called + _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "Y", -1 ); + break; + + case SQL_CONVERT_FUNCTIONS ://48 called + break; + + case SQL_MAX_IDENTIFIER_LEN : //10005 called + break; + + case SQL_ODBC_INTERFACE_CONFORMANCE://152 called + break; + + case SQL_SQL_CONFORMANCE: //118 called + break; + + /* + An SQLUINTEGER bitmask enumerating the SQL-92 datetime literals supported by the data source. Note that these are the datetime literals listed in the SQL-92 specification and are separate from the datetime literal escape clauses defined by ODBC. For more information about the ODBC datetime literal escape clauses, see Date, Time, and Timestamp Literals. + A FIPS Transitional level�Cconformant driver will always return the "1" value in the bitmask for the bits in the following list. A value of "0" means that SQL-92 datetime literals are not supported. + The following bitmasks are used to determine which literals are supported: + SQL_DL_SQL92_DATESQL_DL_SQL92_TIMESQL_DL_SQL92_TIMESTAMPSQL_DL_SQL92_INTERVAL_YEARSQL_DL_SQL92_INTERVAL_MONTHSQL_DL_SQL92_INTERVAL_DAYSQL_DL_SQL92_INTERVAL_HOURSQL_DL_SQL92_INTERVAL_MINUTESQL_DL_SQL92_INTERVAL_SECONDSQL_DL_SQL92_INTERVAL_YEAR_TO_MONTHSQL_DL_SQL92_INTERVAL_DAY_TO_HOUR + SQL_DL_SQL92_INTERVAL_DAY_TO_MINUTESQL_DL_SQL92_INTERVAL_DAY_TO_SECONDSQL_DL_SQL92_INTERVAL_HOUR_TO_MINUTESQL_DL_SQL92_INTERVAL_HOUR_TO_SECONDSQL_DL_SQL92_INTERVAL_MINUTE_TO_SECOND + */ + case SQL_DATETIME_LITERALS: //119 called + //assuming all datetime literals are supported + * ( ( Long* ) pInfoValuePtr ) = + SQL_DL_SQL92_DATE | + SQL_DL_SQL92_TIME | + SQL_DL_SQL92_TIMESTAMP | + SQL_DL_SQL92_INTERVAL_YEAR | + SQL_DL_SQL92_INTERVAL_MONTH | + SQL_DL_SQL92_INTERVAL_DAY | + SQL_DL_SQL92_INTERVAL_HOUR | + SQL_DL_SQL92_INTERVAL_MINUTE | + SQL_DL_SQL92_INTERVAL_SECOND | + SQL_DL_SQL92_INTERVAL_YEAR_TO_MONTH | + SQL_DL_SQL92_INTERVAL_DAY_TO_HOUR | + SQL_DL_SQL92_INTERVAL_DAY_TO_MINUTE | + SQL_DL_SQL92_INTERVAL_DAY_TO_SECOND | + SQL_DL_SQL92_INTERVAL_HOUR_TO_MINUTE | + SQL_DL_SQL92_INTERVAL_HOUR_TO_SECOND | + SQL_DL_SQL92_INTERVAL_MINUTE_TO_SECOND ; + break; + + /* + An SQLUINTEGER bitmask enumerating the timestamp intervals supported by the driver and associated data source for the TIMESTAMPADD scalar function. + The following bitmasks are used to determine which intervals are supported: + SQL_FN_TSI_FRAC_SECONDSQL_FN_TSI_SECONDSQL_FN_TSI_MINUTESQL_FN_TSI_HOURSQL_FN_TSI_DAYSQL_FN_TSI_WEEKSQL_FN_TSI_MONTHSQL_FN_TSI_QUARTERSQL_FN_TSI_YEAR + An FIPS Transitional level�Cconformant driver will always return a bitmask in which all of these bits are set.SQL_DATETIME_LITERALS(ODBC 3.0) + */ + case SQL_TIMEDATE_ADD_INTERVALS : // 109 called + * ( ( Long* ) pInfoValuePtr ) = + SQL_FN_TSI_FRAC_SECOND | + SQL_FN_TSI_SECOND | + SQL_FN_TSI_MINUTE | + SQL_FN_TSI_HOUR | + SQL_FN_TSI_DAY | + SQL_FN_TSI_WEEK | + SQL_FN_TSI_MONTH | + SQL_FN_TSI_QUARTER | + SQL_FN_TSI_YEAR ; + break; + + /* + An SQLUINTEGER bitmask enumerating the timestamp intervals supported by the driver and associated data source for the TIMESTAMPDIFF scalar function. + The following bitmasks are used to determine which intervals are supported: + SQL_FN_TSI_FRAC_SECONDSQL_FN_TSI_SECONDSQL_FN_TSI_MINUTESQL_FN_TSI_HOURSQL_FN_TSI_DAYSQL_FN_TSI_WEEKSQL_FN_TSI_MONTHSQL_FN_TSI_QUARTERSQL_FN_TSI_YEAR + An FIPS Transitional level�Cconformant driver will always return a bitmask in which all of these bits are set. + */ + case SQL_TIMEDATE_DIFF_INTERVALS : //110 called + * ( ( Long* ) pInfoValuePtr ) = + SQL_FN_TSI_FRAC_SECOND | + SQL_FN_TSI_SECOND | + SQL_FN_TSI_MINUTE | + SQL_FN_TSI_HOUR | + SQL_FN_TSI_DAY | + SQL_FN_TSI_WEEK | + SQL_FN_TSI_MONTH | + SQL_FN_TSI_QUARTER | + SQL_FN_TSI_YEAR ; + break; + + case SQL_AGGREGATE_FUNCTIONS: //169 called + * ( ( Long* ) pInfoValuePtr ) = SQL_AF_ALL | SQL_AF_AVG | SQL_AF_COUNT | SQL_AF_DISTINCT | SQL_AF_MAX | SQL_AF_MIN | + SQL_AF_SUM ; + break; + + /* + An SQLUINTEGER bitmask enumerating the datetime scalar functions that are supported by the driver and the associated data source, as defined in SQL-92. + The following bitmasks are used to determine which datetime functions are supported: + SQL_SDF_CURRENT_DATESQL_SDF_CURRENT_TIMESQL_SDF_CURRENT_TIMESTAMP + */ + case SQL_SQL92_DATETIME_FUNCTIONS: //155 called + * ( ( Long* ) pInfoValuePtr ) = + SQL_SDF_CURRENT_DATE | + SQL_SDF_CURRENT_TIME | + SQL_SDF_CURRENT_TIMESTAMP ; + break; + + case SQL_SQL92_VALUE_EXPRESSIONS: //165 called + break; + + case SQL_SQL92_NUMERIC_VALUE_FUNCTIONS: //159 called + break; + + case SQL_SQL92_STRING_FUNCTIONS: //164 called + break; + + case SQL_SQL92_PREDICATES : //160 called + break; + + case SQL_SQL92_RELATIONAL_JOIN_OPERATORS : //161 called + break; + + case SQL_DRIVER_ODBC_VER: // 77 called + _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "03.00", -1 ); + //*pStringLengthPtr = *pStringLengthPtr *2; + break; + + case SQL_CURSOR_COMMIT_BEHAVIOR: //23 called + //MessageBox ( GetDesktopWindow(), "SQL_CURSOR_COMMIT_BEHAVIOR", "SQLGetInfo", MB_OK ); + * ( ( short* ) pInfoValuePtr ) = SQL_CB_CLOSE; + break; + + case SQL_CORRELATION_NAME: //74 + //MessageBox ( GetDesktopWindow(), "SQL_CORRELATION_NAME", "SQLGetInfo", MB_OK ); + * ( ( short* ) pInfoValuePtr ) = SQL_CN_ANY; + break; + + case SQL_MAX_CONCURRENT_ACTIVITIES: // 1 + + //MessageBox ( GetDesktopWindow(), "SQL_MAX_CONCURRENT_ACTIVITIES", "SQLGetInfo", MB_OK ); + if ( pInfoValuePtr ) { * ( ( Word* ) pInfoValuePtr ) = 2; } + + break; + + case SQL_ODBC_API_CONFORMANCE: // 9 + + //MessageBox ( GetDesktopWindow(), "SQL_ODBC_API_CONFORMANCE", "SQLGetInfo", MB_OK ); + if ( pInfoValuePtr ) { * ( ( Word* ) pInfoValuePtr ) = SQL_OAC_NONE; } // for MS Access + + break; + + case SQL_DATA_SOURCE_READ_ONLY: // 25 + //MessageBox ( GetDesktopWindow(), "SQL_DATA_SOURCE_READ_ONLY", "SQLGetInfo", MB_OK ); + _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "N", -1 ); + break; + + case SQL_DRIVER_NAME: // 6 //called by tb + //MessageBox ( GetDesktopWindow(), "SQL_DRIVER_NAME", "SQLGetInfo", MB_OK ); + _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "driver.DLL", -1 ); + break; + + case SQL_SEARCH_PATTERN_ESCAPE: // 14 + //MessageBox ( GetDesktopWindow(), "SQL_SEARCH_PATTERN_ESCAPE", "SQLGetInfo", MB_OK ); + _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "\\", -1 ); + break; + + case SQL_NON_NULLABLE_COLUMNS: // 75 + //MessageBox ( GetDesktopWindow(), "SQL_NON_NULLABLE_COLUMNS", "SQLGetInfo", MB_OK ); + * ( ( short* ) pInfoValuePtr ) = SQL_NNC_NULL; + break; + + case SQL_QUALIFIER_NAME_SEPARATOR: // 41 called + //MessageBox ( GetDesktopWindow(), "SQL_QUALIFIER_NAME_SEPARATOR", "SQLGetInfo", MB_OK ); + _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, ".", -1 ); + break; + + case SQL_FILE_USAGE: // 84 + //MessageBox ( GetDesktopWindow(), "SQL_FILE_USAGE", "SQLGetInfo", MB_OK ); + * ( ( short* ) pInfoValuePtr ) = SQL_FILE_NOT_SUPPORTED; + break; + + case SQL_QUALIFIER_TERM: // 42 // SQL_CATALOG_TERM: called + //MessageBox ( GetDesktopWindow(), "SQL_QUALIFIER_TERM", "SQLGetInfo", MB_OK ); + _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "database", -1 ); + break; + + case SQL_OWNER_TERM: // 39 //called + _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "owner", -1 ); + break; + + case SQL_TABLE_TERM: // 45 called + _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "table", -1 ); + break; + + case SQL_CURSOR_ROLLBACK_BEHAVIOR: // 24 called + //MessageBox ( GetDesktopWindow(), "SQL_CURSOR_ROLLBACK_BEHAVIOR", "SQLGetInfo", MB_OK ); + * ( ( short* ) pInfoValuePtr ) = SQL_CB_CLOSE; + break; + + case SQL_DATA_SOURCE_NAME: // 2 + //MessageBox ( GetDesktopWindow(), "SQL_DATA_SOURCE_NAME", "SQLGetInfo", MB_OK ); + _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "GODBC", -1 ); + break; + + case 16: + _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "default", -1 ); + break; + + case SQL_PROCEDURES: // 21 + _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "N", -1 ); + break; + + case SQL_IDENTIFIER_QUOTE_CHAR: // 29 //called by tb + _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "\"", -1 ); + break; + + case SQL_MAX_SCHEMA_NAME_LEN: + * ( ( short* ) pInfoValuePtr ) = 128; + break; + + case SQL_USER_NAME: + _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "default", -1 ); + break; + + case SQL_POS_OPERATIONS: // 79 + // deprecated + * ( ( Long* ) pInfoValuePtr ) = SQL_POS_POSITION; + break; + + case SQL_STATIC_SENSITIVITY: // 83 + // deprecated + * ( ( Long* ) pInfoValuePtr ) = SQL_SS_ADDITIONS; + break; + + case SQL_LOCK_TYPES: // 78 + // deprecated + * ( ( Long* ) pInfoValuePtr ) = SQL_LCK_NO_CHANGE; + break; + + case SQL_GETDATA_EXTENSIONS: // 81 called + * ( ( Long* ) pInfoValuePtr ) = SQL_GD_ANY_COLUMN; + break; + + case SQL_TXN_ISOLATION_OPTION: // 72 + * ( ( Long* ) pInfoValuePtr ) = SQL_TXN_SERIALIZABLE; + break; + + case SQL_BOOKMARK_PERSISTENCE: // 82 + * ( ( Long* ) pInfoValuePtr ) = 0; + break; + + case SQL_SCROLL_OPTIONS: // 44 + * ( ( Long* ) pInfoValuePtr ) = SQL_SO_FORWARD_ONLY; + break; + + case SQL_SCROLL_CONCURRENCY: // 43 + // deprecated + * ( ( Long* ) pInfoValuePtr ) = SQL_SCCO_READ_ONLY; + break; + + case SQL_DYNAMIC_CURSOR_ATTRIBUTES1: // 144 + * ( ( Long* ) pInfoValuePtr ) = SQL_CA1_NEXT; + break; + + case SQL_KEYSET_CURSOR_ATTRIBUTES1: // 150 + * ( ( Long* ) pInfoValuePtr ) = SQL_CA1_NEXT; + break; + + case SQL_STATIC_CURSOR_ATTRIBUTES1: // 167 + * ( ( Long* ) pInfoValuePtr ) = SQL_CA1_NEXT; + break; + + case SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1: // 146 + * ( ( Long* ) pInfoValuePtr ) = SQL_CA1_NEXT; + break; + + case SQL_KEYSET_CURSOR_ATTRIBUTES2: // 151 + * ( ( Long* ) pInfoValuePtr ) = SQL_CA2_READ_ONLY_CONCURRENCY; + break; + + case SQL_STATIC_CURSOR_ATTRIBUTES2: // 168 + * ( ( Long* ) pInfoValuePtr ) = SQL_CA2_READ_ONLY_CONCURRENCY; + break; + + case SQL_NEED_LONG_DATA_LEN: // 111 + _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "Y", -1 ); + break; + + case SQL_TXN_CAPABLE: // 46 called + * ( ( Word* ) pInfoValuePtr ) = SQL_TC_NONE; + break; + + case SQL_DEFAULT_TXN_ISOLATION: // 26 + * ( ( Long* ) pInfoValuePtr ) = SQL_TXN_READ_COMMITTED; + break; + + case SQL_DBMS_NAME: // 17 called + _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "Gen ODBC Server", -1 ); + break; + + case SQL_ODBC_SQL_CONFORMANCE: // 15 + // deprecated + * ( ( Word* ) pInfoValuePtr ) = SQL_OSC_MINIMUM; + break; + + case SQL_INTEGRITY: // 73 + _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "N", -1 ); + break; + + case SQL_QUALIFIER_USAGE: // 92 called + * ( ( Long* ) pInfoValuePtr ) = SQL_CU_DML_STATEMENTS | SQL_CU_PROCEDURE_INVOCATION | SQL_CU_TABLE_DEFINITION; + break; + + case SQL_DBMS_VER: // 18 called + _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "01.00.00000", -1 ); + break; + + case SQL_QUOTED_IDENTIFIER_CASE: // 93 called + //*(( Word* )pInfoValuePtr) = SQL_IC_SENSITIVE; + * ( ( Word* ) pInfoValuePtr ) = SQL_IC_UPPER; + break; + + case SQL_MAX_CATALOG_NAME_LEN: // 34 + * ( ( Word* ) pInfoValuePtr ) = 128; + break; + + case SQL_MAX_TABLE_NAME_LEN: // 35 + * ( ( Word* ) pInfoValuePtr ) = 128; + break; + + case SQL_ACTIVE_CONNECTIONS: // 0 + * ( ( Word* ) pInfoValuePtr ) = 0; + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_ACTIVE_CONNECTIONS" )); + break; + + case SQL_CATALOG_LOCATION: // 114 + * ( ( Word* ) pInfoValuePtr ) = SQL_CL_START; + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_CATALOG_LOCATION" )); + break; + + case SQL_CONCAT_NULL_BEHAVIOR: // 22 + * ( ( Word* ) pInfoValuePtr ) = SQL_CB_NULL; + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_CONCAT_NULL_BEHAVIOR" )); + break; + + case SQL_GROUP_BY: // 88 + * ( ( Word* ) pInfoValuePtr ) = SQL_GB_GROUP_BY_EQUALS_SELECT; + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_GROUP_BY" )); + break; + + case SQL_IDENTIFIER_CASE: // 28 + * ( ( Word* ) pInfoValuePtr ) = SQL_IC_MIXED; + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_IDENTIFIER_CASE" )); + break; + + case SQL_MAX_INDEX_SIZE: // 102 + * ( ( Long* ) pInfoValuePtr ) = 0; + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MAX_INDEX_SIZE" )); + break; + + case SQL_MAX_ROW_SIZE: // 104 + * ( ( Long* ) pInfoValuePtr ) = 0; + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MAX_ROW_SIZE" )); + break; + + case SQL_MAX_ROW_SIZE_INCLUDES_LONG: // 103 + _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "Y", -1 ); + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MAX_ROW_SIZE_INCLUDES_LONG" )); + break; + + case SQL_MAX_TABLES_IN_SELECT: // 106 + * ( ( Word* ) pInfoValuePtr ) = 0; + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MAX_TABLES_IN_SELECT" )); + break; + + case SQL_NULL_COLLATION: // 85 + * ( ( Word* ) pInfoValuePtr ) = SQL_NC_START; + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_NULL_COLLATION" )); + break; + + case SQL_ORDER_BY_COLUMNS_IN_SELECT: // 90 + _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "N", -1 ); + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_ORDER_BY_COLUMNS_IN_SELECT" )); + break; + + case SQL_PROCEDURE_TERM: // 40 + _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "procedure", -1 ); + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_PROCEDURE_TERM" )); + break; + + case SQL_OWNER_USAGE: // 91 called + * ( ( Word* ) pInfoValuePtr ) = SQL_SU_DML_STATEMENTS | SQL_SU_TABLE_DEFINITION | SQL_SU_PRIVILEGE_DEFINITION; + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_OWNER_USAGE" )); + break; + + case SQL_SUBQUERIES: // 95 + * ( ( Long* ) pInfoValuePtr ) = SQL_SQ_CORRELATED_SUBQUERIES | + SQL_SQ_COMPARISON | + SQL_SQ_EXISTS | + SQL_SQ_IN | + SQL_SQ_QUANTIFIED; + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_SUBQUERIES" )); + break; + + case SQL_MULT_RESULT_SETS: // 36: + _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "Y", -1 ); + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MULT_RESULT_SETS" )); + break; + + case SQL_SERVER_NAME: // 13 + _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, + ( ( pODBCConn ) pConn )->Server ? ( ( pODBCConn ) pConn )->Server : "", -1 ); + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_SERVER_NAME" )); + break; + + case SQL_ACCESSIBLE_PROCEDURES: // 20 + _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "Y", -1 ); + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_ACCESSIBLE_PROCEDURES" )); + break; + + case SQL_ACCESSIBLE_TABLES: // 19 + _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "Y", -1 ); + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_ACCESSIBLE_TABLES" )); + break; + + case SQL_OJ_CAPABILITIES: // 115 called + * ( ( Long* ) pInfoValuePtr ) = SQL_OJ_LEFT | + SQL_OJ_RIGHT | + SQL_OJ_FULL | + SQL_OJ_NESTED | + SQL_OJ_NOT_ORDERED | + SQL_OJ_INNER | + SQL_OJ_ALL_COMPARISON_OPS; + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_OJ_CAPABILITIES" )); + break; + + case SQL_DRIVER_VER: // 7 called + _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "01.00.00000", -1 ); + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_DRIVER_VER" )); + break; + + case SQL_LIKE_ESCAPE_CLAUSE: // 113 + _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "Y", -1 ); + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_LIKE_ESCAPE_CLAUSE" )); + break; + + case SQL_SPECIAL_CHARACTERS: // 94 //called by tb + _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "$_", -1 ); + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_SPECIAL_CHARACTERS" )); + break; + + case SQL_MAX_COLUMNS_IN_GROUP_BY: // 97 + * ( ( Word* ) pInfoValuePtr ) = 0; + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MAX_COLUMNS_IN_GROUP_BY" )); + break; + + case SQL_MAX_COLUMNS_IN_INDEX: // 98 + * ( ( Word* ) pInfoValuePtr ) = 0; + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MAX_COLUMNS_IN_INDEX" )); + break; + + case SQL_MAX_COLUMNS_IN_ORDER_BY: // 99 + * ( ( Word* ) pInfoValuePtr ) = 0; + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MAX_COLUMNS_IN_ORDER_BY" )); + break; + + case SQL_MAX_COLUMNS_IN_SELECT: // 100 + * ( ( Word* ) pInfoValuePtr ) = 0; + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MAX_COLUMNS_IN_SELECT" )); + break; + + case SQL_MAX_COLUMNS_IN_TABLE: // 101 + * ( ( Word* ) pInfoValuePtr ) = 0; + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MAX_COLUMNS_IN_TABLE" )); + break; + + case SQL_NUMERIC_FUNCTIONS: // 49 called + * ( ( Long* ) pInfoValuePtr ) = 0; // ???? set of standard numeric functions + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_NUMERIC_FUNCTIONS" )); + break; + + case SQL_OUTER_JOINS: // 38 + _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "Y", -1 ); + // __ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_OUTER_JOINS" )); + break; + + case SQL_STRING_FUNCTIONS: // 50 called + * ( ( Long* ) pInfoValuePtr ) = 0; // ???? set of standard string functions + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_STRING_FUNCTIONS" )); + break; + + case SQL_SYSTEM_FUNCTIONS: // 51 called + * ( ( Long* ) pInfoValuePtr ) = 0; + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_SYSTEM_FUNCTIONS" )); + break; + + /* + Note: The information type was introduced in ODBC 1.0; each bitmask is labeled with the version in which it was introduced. + An SQLUINTEGER bitmask enumerating the scalar date and time functions supported by the driver and associated data source. + The following bitmasks are used to determine which date and time functions are supported: + SQL_FN_TD_CURRENT_DATE ODBC 3.0)SQL_FN_TD_CURRENT_TIME (ODBC 3.0)SQL_FN_TD_CURRENT_TIMESTAMP (ODBC 3.0)SQL_FN_TD_CURDATE (ODBC 1.0)SQL_FN_TD_CURTIME (ODBC 1.0) SQL_FN_TD_DAYNAME (ODBC 2.0)SQL_FN_TD_DAYOFMONTH (ODBC 1.0)SQL_FN_TD_DAYOFWEEK (ODBC 1.0)SQL_FN_TD_DAYOFYEAR (ODBC 1.0) SQL_FN_TD_EXTRACT (ODBC 3.0)SQL_FN_TD_HOUR (ODBC 1.0)SQL_FN_TD_MINUTE (ODBC 1.0)SQL_FN_TD_MONTH (ODBC 1.0)SQL_FN_TD_MONTHNAME (ODBC 2.0)SQL_FN_TD_NOW (ODBC 1.0)SQL_FN_TD_QUARTER (ODBC 1.0)SQL_FN_TD_SECOND (ODBC 1.0)SQL_FN_TD_TIMESTAMPADD (ODBC 2.0)SQL_FN_TD_TIMESTAMPDIFF (ODBC 2.0)SQL_FN_TD_WEEK (ODBC 1.0)SQL_FN_TD_YEAR (ODBC 1.0) + */ + case SQL_TIMEDATE_FUNCTIONS: // 52 called + * ( ( Long* ) pInfoValuePtr ) = + //SQL_FN_TD_CURRENT_DATE | + //SQL_FN_TD_CURRENT_TIME | + SQL_FN_TD_CURRENT_TIMESTAMP | + SQL_FN_TD_CURDATE | + SQL_FN_TD_CURTIME | + //SQL_FN_TD_DAYNAME | + //SQL_FN_TD_DAYOFMONTH | + //SQL_FN_TD_DAYOFWEEK | + //SQL_FN_TD_DAYOFYEAR | + SQL_FN_TD_EXTRACT + //SQL_FN_TD_HOUR | + //SQL_FN_TD_MINUTE | + //SQL_FN_TD_MONTH | + //SQL_FN_TD_MONTHNAME | + //SQL_FN_TD_NOW | + //SQL_FN_TD_QUARTER | + //SQL_FN_TD_SECOND | + //SQL_FN_TD_TIMESTAMPADD | + //SQL_FN_TD_TIMESTAMPDIFF | + //SQL_FN_TD_WEEK | + //SQL_FN_TD_YEAR + ; + break; + + default: + __ODBCLOG ( _ODBCLogMsg ( LogLevel_ERROR, + "Function Missing!!! SQLGetInfoW, Field: %d, DataPtr: %d, BufLen: %d, SizePtr: %d\n", pInfoType, pInfoValuePtr, + pBufferLength, pStringLengthPtr ) ); + } + + //// *2 is already done in _SQLCopyWCharData() + /*if ( pStringLengthPtr ) { + *pStringLengthPtr = ( *pStringLengthPtr ) * 2; + }*/ + + return SQL_SUCCESS; +} + + +RETCODE SQL_API SQLGetInfo ( SQLHDBC pConn, + SQLUSMALLINT pInfoType, + SQLPOINTER pInfoValuePtr, + SQLSMALLINT pBufferLength, + SQLSMALLINT* pStringLengthPtr ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLGetInfo called: Field: %d, Length: %d", pInfoType, pBufferLength ) ); + _SQLFreeDiag ( _DIAGCONN ( pConn ) ); + + // check the info required + switch ( pInfoType ) { + case SQL_COLUMN_ALIAS://87 called + _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "Y", -1 ); + break; + + case SQL_CONVERT_FUNCTIONS ://48 called + break; + + case SQL_MAX_IDENTIFIER_LEN : //10005 called + break; + + case SQL_ODBC_INTERFACE_CONFORMANCE://152 called + break; + + case SQL_SQL_CONFORMANCE: //118 called + break; + + /* + An SQLUINTEGER bitmask enumerating the SQL-92 datetime literals supported by the data source. Note that these are the datetime literals listed in the SQL-92 specification and are separate from the datetime literal escape clauses defined by ODBC. For more information about the ODBC datetime literal escape clauses, see Date, Time, and Timestamp Literals. + A FIPS Transitional level�Cconformant driver will always return the "1" value in the bitmask for the bits in the following list. A value of "0" means that SQL-92 datetime literals are not supported. + The following bitmasks are used to determine which literals are supported: + SQL_DL_SQL92_DATESQL_DL_SQL92_TIMESQL_DL_SQL92_TIMESTAMPSQL_DL_SQL92_INTERVAL_YEARSQL_DL_SQL92_INTERVAL_MONTHSQL_DL_SQL92_INTERVAL_DAYSQL_DL_SQL92_INTERVAL_HOURSQL_DL_SQL92_INTERVAL_MINUTESQL_DL_SQL92_INTERVAL_SECONDSQL_DL_SQL92_INTERVAL_YEAR_TO_MONTHSQL_DL_SQL92_INTERVAL_DAY_TO_HOUR + SQL_DL_SQL92_INTERVAL_DAY_TO_MINUTESQL_DL_SQL92_INTERVAL_DAY_TO_SECONDSQL_DL_SQL92_INTERVAL_HOUR_TO_MINUTESQL_DL_SQL92_INTERVAL_HOUR_TO_SECONDSQL_DL_SQL92_INTERVAL_MINUTE_TO_SECOND + */ + case SQL_DATETIME_LITERALS: //119 called + //assuming all datetime literals are supported + * ( ( Long* ) pInfoValuePtr ) = + SQL_DL_SQL92_DATE | + SQL_DL_SQL92_TIME | + SQL_DL_SQL92_TIMESTAMP | + SQL_DL_SQL92_INTERVAL_YEAR | + SQL_DL_SQL92_INTERVAL_MONTH | + SQL_DL_SQL92_INTERVAL_DAY | + SQL_DL_SQL92_INTERVAL_HOUR | + SQL_DL_SQL92_INTERVAL_MINUTE | + SQL_DL_SQL92_INTERVAL_SECOND | + SQL_DL_SQL92_INTERVAL_YEAR_TO_MONTH | + SQL_DL_SQL92_INTERVAL_DAY_TO_HOUR | + SQL_DL_SQL92_INTERVAL_DAY_TO_MINUTE | + SQL_DL_SQL92_INTERVAL_DAY_TO_SECOND | + SQL_DL_SQL92_INTERVAL_HOUR_TO_MINUTE | + SQL_DL_SQL92_INTERVAL_HOUR_TO_SECOND | + SQL_DL_SQL92_INTERVAL_MINUTE_TO_SECOND ; + break; + + /* + An SQLUINTEGER bitmask enumerating the timestamp intervals supported by the driver and associated data source for the TIMESTAMPADD scalar function. + The following bitmasks are used to determine which intervals are supported: + SQL_FN_TSI_FRAC_SECONDSQL_FN_TSI_SECONDSQL_FN_TSI_MINUTESQL_FN_TSI_HOURSQL_FN_TSI_DAYSQL_FN_TSI_WEEKSQL_FN_TSI_MONTHSQL_FN_TSI_QUARTERSQL_FN_TSI_YEAR + An FIPS Transitional level�Cconformant driver will always return a bitmask in which all of these bits are set.SQL_DATETIME_LITERALS(ODBC 3.0) + */ + case SQL_TIMEDATE_ADD_INTERVALS : // 109 called + * ( ( Long* ) pInfoValuePtr ) = + SQL_FN_TSI_FRAC_SECOND | + SQL_FN_TSI_SECOND | + SQL_FN_TSI_MINUTE | + SQL_FN_TSI_HOUR | + SQL_FN_TSI_DAY | + SQL_FN_TSI_WEEK | + SQL_FN_TSI_MONTH | + SQL_FN_TSI_QUARTER | + SQL_FN_TSI_YEAR ; + break; + + /* + An SQLUINTEGER bitmask enumerating the timestamp intervals supported by the driver and associated data source for the TIMESTAMPDIFF scalar function. + The following bitmasks are used to determine which intervals are supported: + SQL_FN_TSI_FRAC_SECONDSQL_FN_TSI_SECONDSQL_FN_TSI_MINUTESQL_FN_TSI_HOURSQL_FN_TSI_DAYSQL_FN_TSI_WEEKSQL_FN_TSI_MONTHSQL_FN_TSI_QUARTERSQL_FN_TSI_YEAR + An FIPS Transitional level�Cconformant driver will always return a bitmask in which all of these bits are set. + */ + case SQL_TIMEDATE_DIFF_INTERVALS : //110 called + * ( ( Long* ) pInfoValuePtr ) = + SQL_FN_TSI_FRAC_SECOND | + SQL_FN_TSI_SECOND | + SQL_FN_TSI_MINUTE | + SQL_FN_TSI_HOUR | + SQL_FN_TSI_DAY | + SQL_FN_TSI_WEEK | + SQL_FN_TSI_MONTH | + SQL_FN_TSI_QUARTER | + SQL_FN_TSI_YEAR ; + break; + + case SQL_AGGREGATE_FUNCTIONS: //169 called + * ( ( Long* ) pInfoValuePtr ) = SQL_AF_ALL | SQL_AF_AVG | SQL_AF_COUNT | SQL_AF_DISTINCT | SQL_AF_MAX | SQL_AF_MIN | + SQL_AF_SUM ; + break; + + /* + An SQLUINTEGER bitmask enumerating the datetime scalar functions that are supported by the driver and the associated data source, as defined in SQL-92. + The following bitmasks are used to determine which datetime functions are supported: + SQL_SDF_CURRENT_DATESQL_SDF_CURRENT_TIMESQL_SDF_CURRENT_TIMESTAMP + */ + case SQL_SQL92_DATETIME_FUNCTIONS: //155 called + * ( ( Long* ) pInfoValuePtr ) = + SQL_SDF_CURRENT_DATE | + SQL_SDF_CURRENT_TIME | + SQL_SDF_CURRENT_TIMESTAMP ; + break; + + case SQL_SQL92_VALUE_EXPRESSIONS: //165 called + break; + + case SQL_SQL92_NUMERIC_VALUE_FUNCTIONS: //159 called + break; + + case SQL_SQL92_STRING_FUNCTIONS: //164 called + break; + + case SQL_SQL92_PREDICATES : //160 called + break; + + case SQL_SQL92_RELATIONAL_JOIN_OPERATORS : //161 called + break; + + case SQL_DRIVER_ODBC_VER: // 77 called + _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "03.00", -1 ); + break; + + case SQL_CURSOR_COMMIT_BEHAVIOR: //23 called + //MessageBox ( GetDesktopWindow(), "SQL_CURSOR_COMMIT_BEHAVIOR", "SQLGetInfo", MB_OK ); + * ( ( short* ) pInfoValuePtr ) = SQL_CB_CLOSE; + break; + + case SQL_CORRELATION_NAME: //74 + //MessageBox ( GetDesktopWindow(), "SQL_CORRELATION_NAME", "SQLGetInfo", MB_OK ); + * ( ( short* ) pInfoValuePtr ) = SQL_CN_ANY; + break; + + case SQL_MAX_CONCURRENT_ACTIVITIES: // 1 + + //MessageBox ( GetDesktopWindow(), "SQL_MAX_CONCURRENT_ACTIVITIES", "SQLGetInfo", MB_OK ); + if ( pInfoValuePtr ) { * ( ( Word* ) pInfoValuePtr ) = 2; } + + break; + + case SQL_ODBC_API_CONFORMANCE: // 9 + + //MessageBox ( GetDesktopWindow(), "SQL_ODBC_API_CONFORMANCE", "SQLGetInfo", MB_OK ); + if ( pInfoValuePtr ) { * ( ( Word* ) pInfoValuePtr ) = SQL_OAC_NONE; } // for MS Access + + break; + + case SQL_DATA_SOURCE_READ_ONLY: // 25 + //MessageBox ( GetDesktopWindow(), "SQL_DATA_SOURCE_READ_ONLY", "SQLGetInfo", MB_OK ); + _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "N", -1 ); + break; + + case SQL_DRIVER_NAME: // 6 //called by tb + //MessageBox ( GetDesktopWindow(), "SQL_DRIVER_NAME", "SQLGetInfo", MB_OK ); + _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "driver.DLL", -1 ); + break; + + case SQL_SEARCH_PATTERN_ESCAPE: // 14 + //MessageBox ( GetDesktopWindow(), "SQL_SEARCH_PATTERN_ESCAPE", "SQLGetInfo", MB_OK ); + _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "\\", -1 ); + break; + + case SQL_NON_NULLABLE_COLUMNS: // 75 + //MessageBox ( GetDesktopWindow(), "SQL_NON_NULLABLE_COLUMNS", "SQLGetInfo", MB_OK ); + * ( ( short* ) pInfoValuePtr ) = SQL_NNC_NULL; + break; + + case SQL_QUALIFIER_NAME_SEPARATOR: // 41 called + //MessageBox ( GetDesktopWindow(), "SQL_QUALIFIER_NAME_SEPARATOR", "SQLGetInfo", MB_OK ); + _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, ".", -1 ); + break; + + case SQL_FILE_USAGE: // 84 + //MessageBox ( GetDesktopWindow(), "SQL_FILE_USAGE", "SQLGetInfo", MB_OK ); + * ( ( short* ) pInfoValuePtr ) = SQL_FILE_NOT_SUPPORTED; + break; + + case SQL_QUALIFIER_TERM: // 42 // SQL_CATALOG_TERM: called + //MessageBox ( GetDesktopWindow(), "SQL_QUALIFIER_TERM", "SQLGetInfo", MB_OK ); + _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "database", -1 ); + break; + + case SQL_OWNER_TERM: // 39 //called + _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "owner", -1 ); + break; + + case SQL_TABLE_TERM: // 45 called + _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "table", -1 ); + break; + + case SQL_CURSOR_ROLLBACK_BEHAVIOR: // 24 called + //MessageBox ( GetDesktopWindow(), "SQL_CURSOR_ROLLBACK_BEHAVIOR", "SQLGetInfo", MB_OK ); + * ( ( short* ) pInfoValuePtr ) = SQL_CB_CLOSE; + break; + + case SQL_DATA_SOURCE_NAME: // 2 + //MessageBox ( GetDesktopWindow(), "SQL_DATA_SOURCE_NAME", "SQLGetInfo", MB_OK ); + _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "GODBC", -1 ); + break; + + case 16: + _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "default", -1 ); + break; + + case SQL_PROCEDURES: // 21 + _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "N", -1 ); + break; + + case SQL_IDENTIFIER_QUOTE_CHAR: // 29 //called by tb + _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "\"", -1 ); + break; + + case SQL_MAX_SCHEMA_NAME_LEN: + * ( ( short* ) pInfoValuePtr ) = 128; + break; + + case SQL_USER_NAME: + _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "default", -1 ); + break; + + case SQL_POS_OPERATIONS: // 79 + // deprecated + * ( ( Long* ) pInfoValuePtr ) = SQL_POS_POSITION; + break; + + case SQL_STATIC_SENSITIVITY: // 83 + // deprecated + * ( ( Long* ) pInfoValuePtr ) = SQL_SS_ADDITIONS; + break; + + case SQL_LOCK_TYPES: // 78 + // deprecated + * ( ( Long* ) pInfoValuePtr ) = SQL_LCK_NO_CHANGE; + break; + + case SQL_GETDATA_EXTENSIONS: // 81 called + * ( ( Long* ) pInfoValuePtr ) = SQL_GD_ANY_COLUMN; + break; + + case SQL_TXN_ISOLATION_OPTION: // 72 + * ( ( Long* ) pInfoValuePtr ) = SQL_TXN_SERIALIZABLE; + break; + + case SQL_BOOKMARK_PERSISTENCE: // 82 + * ( ( Long* ) pInfoValuePtr ) = 0; + break; + + case SQL_SCROLL_OPTIONS: // 44 + * ( ( Long* ) pInfoValuePtr ) = SQL_SO_FORWARD_ONLY; + break; + + case SQL_SCROLL_CONCURRENCY: // 43 + // deprecated + * ( ( Long* ) pInfoValuePtr ) = SQL_SCCO_READ_ONLY; + break; + + case SQL_DYNAMIC_CURSOR_ATTRIBUTES1: // 144 + * ( ( Long* ) pInfoValuePtr ) = SQL_CA1_NEXT; + break; + + case SQL_KEYSET_CURSOR_ATTRIBUTES1: // 150 + * ( ( Long* ) pInfoValuePtr ) = SQL_CA1_NEXT; + break; + + case SQL_STATIC_CURSOR_ATTRIBUTES1: // 167 + * ( ( Long* ) pInfoValuePtr ) = SQL_CA1_NEXT; + break; + + case SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1: // 146 + * ( ( Long* ) pInfoValuePtr ) = SQL_CA1_NEXT; + break; + + case SQL_KEYSET_CURSOR_ATTRIBUTES2: // 151 + * ( ( Long* ) pInfoValuePtr ) = SQL_CA2_READ_ONLY_CONCURRENCY; + break; + + case SQL_STATIC_CURSOR_ATTRIBUTES2: // 168 + * ( ( Long* ) pInfoValuePtr ) = SQL_CA2_READ_ONLY_CONCURRENCY; + break; + + case SQL_NEED_LONG_DATA_LEN: // 111 + _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "Y", -1 ); + break; + + case SQL_TXN_CAPABLE: // 46 called + * ( ( Word* ) pInfoValuePtr ) = SQL_TC_NONE; + break; + + case SQL_DEFAULT_TXN_ISOLATION: // 26 + * ( ( Long* ) pInfoValuePtr ) = SQL_TXN_READ_COMMITTED; + break; + + case SQL_DBMS_NAME: // 17 called + _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "Gen ODBC Server", -1 ); + break; + + case SQL_ODBC_SQL_CONFORMANCE: // 15 + // deprecated + * ( ( Word* ) pInfoValuePtr ) = SQL_OSC_MINIMUM; + break; + + case SQL_INTEGRITY: // 73 + _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "N", -1 ); + break; + + case SQL_QUALIFIER_USAGE: // 92 called + * ( ( Long* ) pInfoValuePtr ) = SQL_CU_DML_STATEMENTS | SQL_CU_PROCEDURE_INVOCATION | SQL_CU_TABLE_DEFINITION; + break; + + case SQL_DBMS_VER: // 18 called + _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "01.00.00000", -1 ); + break; + + case SQL_QUOTED_IDENTIFIER_CASE: // 93 called + //*(( Word* )pInfoValuePtr) = SQL_IC_SENSITIVE; + * ( ( Word* ) pInfoValuePtr ) = SQL_IC_UPPER; + break; + + case SQL_MAX_CATALOG_NAME_LEN: // 34 + * ( ( Word* ) pInfoValuePtr ) = 128; + break; + + case SQL_MAX_TABLE_NAME_LEN: // 35 + * ( ( Word* ) pInfoValuePtr ) = 128; + break; + + case SQL_ACTIVE_CONNECTIONS: // 0 + * ( ( Word* ) pInfoValuePtr ) = 0; + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_ACTIVE_CONNECTIONS" )); + break; + + case SQL_CATALOG_LOCATION: // 114 + * ( ( Word* ) pInfoValuePtr ) = SQL_CL_START; + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_CATALOG_LOCATION" )); + break; + + case SQL_CONCAT_NULL_BEHAVIOR: // 22 + * ( ( Word* ) pInfoValuePtr ) = SQL_CB_NULL; + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_CONCAT_NULL_BEHAVIOR" )); + break; + + case SQL_GROUP_BY: // 88 + * ( ( Word* ) pInfoValuePtr ) = SQL_GB_GROUP_BY_EQUALS_SELECT; + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_GROUP_BY" )); + break; + + case SQL_IDENTIFIER_CASE: // 28 + * ( ( Word* ) pInfoValuePtr ) = SQL_IC_MIXED; + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_IDENTIFIER_CASE" )); + break; + + case SQL_MAX_INDEX_SIZE: // 102 + * ( ( Long* ) pInfoValuePtr ) = 0; + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MAX_INDEX_SIZE" )); + break; + + case SQL_MAX_ROW_SIZE: // 104 + * ( ( Long* ) pInfoValuePtr ) = 0; + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MAX_ROW_SIZE" )); + break; + + case SQL_MAX_ROW_SIZE_INCLUDES_LONG: // 103 + _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "Y", -1 ); + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MAX_ROW_SIZE_INCLUDES_LONG" )); + break; + + case SQL_MAX_TABLES_IN_SELECT: // 106 + * ( ( Word* ) pInfoValuePtr ) = 0; + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MAX_TABLES_IN_SELECT" )); + break; + + case SQL_NULL_COLLATION: // 85 + * ( ( Word* ) pInfoValuePtr ) = SQL_NC_START; + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_NULL_COLLATION" )); + break; + + case SQL_ORDER_BY_COLUMNS_IN_SELECT: // 90 + _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "N", -1 ); + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_ORDER_BY_COLUMNS_IN_SELECT" )); + break; + + case SQL_PROCEDURE_TERM: // 40 + _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "procedure", -1 ); + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_PROCEDURE_TERM" )); + break; + + case SQL_OWNER_USAGE: // 91 called + * ( ( Word* ) pInfoValuePtr ) = SQL_SU_DML_STATEMENTS | SQL_SU_TABLE_DEFINITION | SQL_SU_PRIVILEGE_DEFINITION; + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_OWNER_USAGE" )); + break; + + case SQL_SUBQUERIES: // 95 + * ( ( Long* ) pInfoValuePtr ) = SQL_SQ_CORRELATED_SUBQUERIES | + SQL_SQ_COMPARISON | + SQL_SQ_EXISTS | + SQL_SQ_IN | + SQL_SQ_QUANTIFIED; + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_SUBQUERIES" )); + break; + + case SQL_MULT_RESULT_SETS: // 36: + _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "Y", -1 ); + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MULT_RESULT_SETS" )); + break; + + case SQL_SERVER_NAME: // 13 + _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, + ( ( pODBCConn ) pConn )->Server ? ( ( pODBCConn ) pConn )->Server : "", -1 ); + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_SERVER_NAME" )); + break; + + case SQL_ACCESSIBLE_PROCEDURES: // 20 + _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "Y", -1 ); + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_ACCESSIBLE_PROCEDURES" )); + break; + + case SQL_ACCESSIBLE_TABLES: // 19 + _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "Y", -1 ); + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_ACCESSIBLE_TABLES" )); + break; + + case SQL_OJ_CAPABILITIES: // 115 called + * ( ( Long* ) pInfoValuePtr ) = SQL_OJ_LEFT | + SQL_OJ_RIGHT | + SQL_OJ_FULL | + SQL_OJ_NESTED | + SQL_OJ_NOT_ORDERED | + SQL_OJ_INNER | + SQL_OJ_ALL_COMPARISON_OPS; + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_OJ_CAPABILITIES" )); + break; + + case SQL_DRIVER_VER: // 7 called + _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "01.00.00000", -1 ); + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_DRIVER_VER" )); + break; + + case SQL_LIKE_ESCAPE_CLAUSE: // 113 + _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "Y", -1 ); + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_LIKE_ESCAPE_CLAUSE" )); + break; + + case SQL_SPECIAL_CHARACTERS: // 94 //called by tb + _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "$_", -1 ); + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_SPECIAL_CHARACTERS" )); + break; + + case SQL_MAX_COLUMNS_IN_GROUP_BY: // 97 + * ( ( Word* ) pInfoValuePtr ) = 0; + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MAX_COLUMNS_IN_GROUP_BY" )); + break; + + case SQL_MAX_COLUMNS_IN_INDEX: // 98 + * ( ( Word* ) pInfoValuePtr ) = 0; + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MAX_COLUMNS_IN_INDEX" )); + break; + + case SQL_MAX_COLUMNS_IN_ORDER_BY: // 99 + * ( ( Word* ) pInfoValuePtr ) = 0; + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MAX_COLUMNS_IN_ORDER_BY" )); + break; + + case SQL_MAX_COLUMNS_IN_SELECT: // 100 + * ( ( Word* ) pInfoValuePtr ) = 0; + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MAX_COLUMNS_IN_SELECT" )); + break; + + case SQL_MAX_COLUMNS_IN_TABLE: // 101 + * ( ( Word* ) pInfoValuePtr ) = 0; + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_MAX_COLUMNS_IN_TABLE" )); + break; + + case SQL_NUMERIC_FUNCTIONS: // 49 called + * ( ( Long* ) pInfoValuePtr ) = 0; // ???? set of standard numeric functions + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_NUMERIC_FUNCTIONS" )); + break; + + case SQL_OUTER_JOINS: // 38 + _SQLCopyCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "Y", -1 ); + // __ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_OUTER_JOINS" )); + break; + + case SQL_STRING_FUNCTIONS: // 50 called + * ( ( Long* ) pInfoValuePtr ) = 0; // ???? set of standard string functions + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_STRING_FUNCTIONS" )); + break; + + case SQL_SYSTEM_FUNCTIONS: // 51 called + * ( ( Long* ) pInfoValuePtr ) = 0; + //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_SYSTEM_FUNCTIONS" )); + break; + + /* + Note: The information type was introduced in ODBC 1.0; each bitmask is labeled with the version in which it was introduced. + An SQLUINTEGER bitmask enumerating the scalar date and time functions supported by the driver and associated data source. + The following bitmasks are used to determine which date and time functions are supported: + SQL_FN_TD_CURRENT_DATE ODBC 3.0)SQL_FN_TD_CURRENT_TIME (ODBC 3.0)SQL_FN_TD_CURRENT_TIMESTAMP (ODBC 3.0)SQL_FN_TD_CURDATE (ODBC 1.0)SQL_FN_TD_CURTIME (ODBC 1.0) SQL_FN_TD_DAYNAME (ODBC 2.0)SQL_FN_TD_DAYOFMONTH (ODBC 1.0)SQL_FN_TD_DAYOFWEEK (ODBC 1.0)SQL_FN_TD_DAYOFYEAR (ODBC 1.0) SQL_FN_TD_EXTRACT (ODBC 3.0)SQL_FN_TD_HOUR (ODBC 1.0)SQL_FN_TD_MINUTE (ODBC 1.0)SQL_FN_TD_MONTH (ODBC 1.0)SQL_FN_TD_MONTHNAME (ODBC 2.0)SQL_FN_TD_NOW (ODBC 1.0)SQL_FN_TD_QUARTER (ODBC 1.0)SQL_FN_TD_SECOND (ODBC 1.0)SQL_FN_TD_TIMESTAMPADD (ODBC 2.0)SQL_FN_TD_TIMESTAMPDIFF (ODBC 2.0)SQL_FN_TD_WEEK (ODBC 1.0)SQL_FN_TD_YEAR (ODBC 1.0) + */ + case SQL_TIMEDATE_FUNCTIONS: // 52 called + * ( ( Long* ) pInfoValuePtr ) = + SQL_FN_TD_CURRENT_DATE | + SQL_FN_TD_CURRENT_TIME | + SQL_FN_TD_CURRENT_TIMESTAMP | + SQL_FN_TD_CURDATE | + SQL_FN_TD_CURTIME | + SQL_FN_TD_DAYNAME | + SQL_FN_TD_DAYOFMONTH | + SQL_FN_TD_DAYOFWEEK | + SQL_FN_TD_DAYOFYEAR | + SQL_FN_TD_EXTRACT | + SQL_FN_TD_HOUR | + SQL_FN_TD_MINUTE | + SQL_FN_TD_MONTH | + SQL_FN_TD_MONTHNAME | + SQL_FN_TD_NOW | + SQL_FN_TD_QUARTER | + SQL_FN_TD_SECOND | + SQL_FN_TD_TIMESTAMPADD | + SQL_FN_TD_TIMESTAMPDIFF | + SQL_FN_TD_WEEK | + SQL_FN_TD_YEAR ; + break; + + default: + __ODBCLOG ( _ODBCLogMsg ( LogLevel_ERROR, + "Function Missing!!! SQLGetInfo, Field: %d, DataPtr: %d, BufLen: %d, SizePtr: %d\n", pInfoType, pInfoValuePtr, + pBufferLength, pStringLengthPtr ) ); + } + + return SQL_SUCCESS; +} + +// ----------------------------------------------------------------------- +// to get type related information, this communicates with the server +// ----------------------------------------------------------------------- +RETCODE SQL_API _SQLGetTypeInfoBasic ( HSTMT pStmt, SWORD pDataType ) { + __CHK_HANDLE(pStmt,SQL_HANDLE_STMT,SQL_ERROR); + + std::unique_ptr p; + try { + wstring info = U("{\"columnMetas\":[{\"isNullable\":0,\"displaySize\":10,\"label\":\"TYPE_NAME\",\"name\":\"TYPE_NAME\",\"schemaName\":null,\"catelogName\":null,\"tableName\":null,\"precision\":128,\"scale\":0,\"columnType\":12,\"columnTypeName\":\"VARCHAR(128)\",\"readOnly\":true,\"writable\":false,\"caseSensitive\":true,\"searchable\":false,\"currency\":false,\"signed\":true,\"autoIncrement\":false,\"definitelyWritable\":false},{\"isNullable\":0,\"displaySize\":5,\"label\":\"DATA_TYPE\",\"name\":\"DATA_TYPE\",\"schemaName\":null,\"catelogName\":null,\"tableName\":null,\"precision\":5,\"scale\":0,\"columnType\":5,\"columnTypeName\":\"SMALLINT\",\"readOnly\":true,\"writable\":false,\"caseSensitive\":true,\"searchable\":false,\"currency\":false,\"signed\":true,\"autoIncrement\":false,\"definitelyWritable\":false},{\"isNullable\":1,\"displaySize\":10,\"label\":\"COLUMN_SIZE\",\"name\":\"COLUMN_SIZE\",\"schemaName\":null,\"catelogName\":null,\"tableName\":null,\"precision\":10,\"scale\":0,\"columnType\":4,\"columnTypeName\":\"INTEGER\",\"readOnly\":true,\"writable\":false,\"caseSensitive\":true,\"searchable\":false,\"currency\":false,\"signed\":true,\"autoIncrement\":false,\"definitelyWritable\":false},{\"isNullable\":1,\"displaySize\":10,\"label\":\"LITERAL_PREFIX?\",\"name\":\"LITERAL_PREFIX?\",\"schemaName\":null,\"catelogName\":null,\"tableName\":null,\"precision\":128,\"scale\":0,\"columnType\":12,\"columnTypeName\":\"VARCHAR(128)\",\"readOnly\":true,\"writable\":false,\"caseSensitive\":true,\"searchable\":false,\"currency\":false,\"signed\":true,\"autoIncrement\":false,\"definitelyWritable\":false},{\"isNullable\":1,\"displaySize\":10,\"label\":\"LITERAL_SUFFIX?\",\"name\":\"LITERAL_SUFFIX?\",\"schemaName\":null,\"catelogName\":null,\"tableName\":null,\"precision\":128,\"scale\":0,\"columnType\":12,\"columnTypeName\":\"VARCHAR(128)\",\"readOnly\":true,\"writable\":false,\"caseSensitive\":true,\"searchable\":false,\"currency\":false,\"signed\":true,\"autoIncrement\":false,\"definitelyWritable\":false},{\"isNullable\":1,\"displaySize\":10,\"label\":\"CREATE_PARAMS?\",\"name\":\"CREATE_PARAMS?\",\"schemaName\":null,\"catelogName\":null,\"tableName\":null,\"precision\":128,\"scale\":0,\"columnType\":12,\"columnTypeName\":\"VARCHAR(128)\",\"readOnly\":true,\"writable\":false,\"caseSensitive\":true,\"searchable\":false,\"currency\":false,\"signed\":true,\"autoIncrement\":false,\"definitelyWritable\":false},{\"isNullable\":0,\"displaySize\":5,\"label\":\"NULLABLE\",\"name\":\"NULLABLE\",\"schemaName\":null,\"catelogName\":null,\"tableName\":null,\"precision\":5,\"scale\":0,\"columnType\":5,\"columnTypeName\":\"SMALLINT\",\"readOnly\":true,\"writable\":false,\"caseSensitive\":true,\"searchable\":false,\"currency\":false,\"signed\":true,\"autoIncrement\":false,\"definitelyWritable\":false},{\"isNullable\":0,\"displaySize\":5,\"label\":\"CASE_SENSITIVE?\",\"name\":\"CASE_SENSITIVE?\",\"schemaName\":null,\"catelogName\":null,\"tableName\":null,\"precision\":5,\"scale\":0,\"columnType\":5,\"columnTypeName\":\"SMALLINT\",\"readOnly\":true,\"writable\":false,\"caseSensitive\":true,\"searchable\":false,\"currency\":false,\"signed\":true,\"autoIncrement\":false,\"definitelyWritable\":false},{\"isNullable\":0,\"displaySize\":5,\"label\":\"SEARCHABLE?\",\"name\":\"SEARCHABLE?\",\"schemaName\":null,\"catelogName\":null,\"tableName\":null,\"precision\":5,\"scale\":0,\"columnType\":5,\"columnTypeName\":\"SMALLINT\",\"readOnly\":true,\"writable\":false,\"caseSensitive\":true,\"searchable\":false,\"currency\":false,\"signed\":true,\"autoIncrement\":false,\"definitelyWritable\":false},{\"isNullable\":1,\"displaySize\":5,\"label\":\"UNSIGNED_ATTRIBUTE??\",\"name\":\"UNSIGNED_ATTRIBUTE??\",\"schemaName\":null,\"catelogName\":null,\"tableName\":null,\"precision\":5,\"scale\":0,\"columnType\":5,\"columnTypeName\":\"SMALLINT\",\"readOnly\":true,\"writable\":false,\"caseSensitive\":true,\"searchable\":false,\"currency\":false,\"signed\":true,\"autoIncrement\":false,\"definitelyWritable\":false},{\"isNullable\":0,\"displaySize\":5,\"label\":\"FIXED_PREC_SCALE???\",\"name\":\"FIXED_PREC_SCALE???\",\"schemaName\":null,\"catelogName\":null,\"tableName\":null,\"precision\":5,\"scale\":0,\"columnType\":5,\"columnTypeName\":\"SMALLINT\",\"readOnly\":true,\"writable\":false,\"caseSensitive\":true,\"searchable\":false,\"currency\":false,\"signed\":true,\"autoIncrement\":false,\"definitelyWritable\":false},{\"isNullable\":1,\"displaySize\":5,\"label\":\"AUTO_UNIQUE_VALUE?\",\"name\":\"AUTO_UNIQUE_VALUE???\",\"schemaName\":null,\"catelogName\":null,\"tableName\":null,\"precision\":5,\"scale\":0,\"columnType\":5,\"columnTypeName\":\"SMALLINT\",\"readOnly\":true,\"writable\":false,\"caseSensitive\":true,\"searchable\":false,\"currency\":false,\"signed\":true,\"autoIncrement\":false,\"definitelyWritable\":false},{\"isNullable\":1,\"displaySize\":5,\"label\":\"LOCAL_TYPE_NAME???\",\"name\":\"LOCAL_TYPE_NAME???\",\"schemaName\":null,\"catelogName\":null,\"tableName\":null,\"precision\":128,\"scale\":0,\"columnType\":12,\"columnTypeName\":\"VARCHAR(128)\",\"readOnly\":true,\"writable\":false,\"caseSensitive\":true,\"searchable\":false,\"currency\":false,\"signed\":true,\"autoIncrement\":false,\"definitelyWritable\":false},{\"isNullable\":1,\"displaySize\":5,\"label\":\"MINIMUM_SCALE???\",\"name\":\"MINIMUM_SCALE???\",\"schemaName\":null,\"catelogName\":null,\"tableName\":null,\"precision\":5,\"scale\":0,\"columnType\":5,\"columnTypeName\":\"SMALLINT\",\"readOnly\":true,\"writable\":false,\"caseSensitive\":true,\"searchable\":false,\"currency\":false,\"signed\":true,\"autoIncrement\":false,\"definitelyWritable\":false},{\"isNullable\":1,\"displaySize\":5,\"label\":\"MAXIMUM_SCALE???\",\"name\":\"MAXIMUM_SCALE???\",\"schemaName\":null,\"catelogName\":null,\"tableName\":null,\"precision\":5,\"scale\":0,\"columnType\":5,\"columnTypeName\":\"SMALLINT\",\"readOnly\":true,\"writable\":false,\"caseSensitive\":true,\"searchable\":false,\"currency\":false,\"signed\":true,\"autoIncrement\":false,\"definitelyWritable\":false},{\"isNullable\":0,\"displaySize\":5,\"label\":\"SQL_DATA_TYPE?? ?\",\"name\":\"SQL_DATA_TYPE?? ?\",\"schemaName\":null,\"catelogName\":null,\"tableName\":null,\"precision\":5,\"scale\":0,\"columnType\":5,\"columnTypeName\":\"SMALLINT\",\"readOnly\":true,\"writable\":false,\"caseSensitive\":true,\"searchable\":false,\"currency\":false,\"signed\":true,\"autoIncrement\":false,\"definitelyWritable\":false},{\"isNullable\":1,\"displaySize\":5,\"label\":\"SQL_DATETIME_SUB?? ??\",\"name\":\"SQL_DATETIME_SUB?? ??\",\"schemaName\":null,\"catelogName\":null,\"tableName\":null,\"precision\":5,\"scale\":0,\"columnType\":5,\"columnTypeName\":\"SMALLINT\",\"readOnly\":true,\"writable\":false,\"caseSensitive\":true,\"searchable\":false,\"currency\":false,\"signed\":true,\"autoIncrement\":false,\"definitelyWritable\":false},{\"isNullable\":1,\"displaySize\":10,\"label\":\"NUM_PREC_RADIX?? ? ?\",\"name\":\"NUM_PREC_RADIX?? ? ?\",\"schemaName\":null,\"catelogName\":null,\"tableName\":null,\"precision\":10,\"scale\":0,\"columnType\":4,\"columnTypeName\":\"INTEGER\",\"readOnly\":true,\"writable\":false,\"caseSensitive\":true,\"searchable\":false,\"currency\":false,\"signed\":true,\"autoIncrement\":false,\"definitelyWritable\":false},{\"isNullable\":1,\"displaySize\":5,\"label\":\"INTERVAL_PRECISION?? ? ?\",\"name\":\"INTERVAL_PRECISION?? ? ?\",\"schemaName\":null,\"catelogName\":null,\"tableName\":null,\"precision\":5,\"scale\":0,\"columnType\":5,\"columnTypeName\":\"SMALLINT\",\"readOnly\":true,\"writable\":false,\"caseSensitive\":true,\"searchable\":false,\"currency\":false,\"signed\":true,\"autoIncrement\":false,\"definitelyWritable\":false}],\"results\":[[\"char\",\"1\",\"255\",\"'\",\"'\",null,\"1\",\"0\",\"3\",null,\"0\",null,\"char\",null,null,\"1\",null,null,null]],\"affectedRowCount\":0,\"isException\":false,\"exceptionMessage\":null,\"duration\":0,\"partial\":false}"); + web::json::value v = web::json::value::parse ( info ); + p = SQLResponseFromJSON ( v ); + } + catch ( const exception& e ) { + std::stringstream ss; + ss << "The error message is: " << e.what(); + std::string s = ss.str(); + __ODBCLOG ( _ODBCLogMsg ( LogLevel_ERROR, s.c_str() ) ); + _SQLPutDiagRow ( SQL_HANDLE_STMT, pStmt, "SQLGetTypeInfoW", "01000", -1, ( char* ) s.c_str() ); + return SQL_ERROR; + } + + if ( p == NULL || p->isException == true || PutRespToStmt ( ( pODBCStmt ) pStmt, std::move ( p ) ) != GOOD ) { + return SQL_ERROR; + } + return SQL_SUCCESS; +} + +RETCODE SQL_API SQLGetTypeInfo ( HSTMT pStmt, SWORD pDataType ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLGetTypeInfo called, Stmt: %d, DataType: %d", ( Long ) pStmt, pDataType ) ); + + return _SQLGetTypeInfoBasic(pStmt, pDataType); +} + +RETCODE SQL_API SQLGetTypeInfoW ( HSTMT pStmt, SWORD pDataType ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLGetTypeInfoW called, Stmt: %d, DataType: %d", ( Long ) pStmt, pDataType ) ); + + return _SQLGetTypeInfoBasic(pStmt, pDataType); +} + +// ----------------------------------------------------------------------- +// to get function related information +// ----------------------------------------------------------------------- + +RETCODE SQL_API SQLGetFunctions ( SQLHDBC pConn, SQLUSMALLINT pFuncID, SQLUSMALLINT* pOutput ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLGetFunctions called" ) ); + // the functions is currently not being exported + // bcoz of implemenation difficulties for + // SQL_API_ODBC3_ALL_FUNCTIONS param + // which requires an array to be built + // to satisfy the functioning of the macro SQL_FUNC_EXISTS. + // in any case the driver manager provides for a proper + // stub + // SQLFUNCEXISTS ---- ( ( *(((UWORD*) (pfExists)) + ((uwAPI) >> 4)) & (1 << ((uwAPI) & 0x000F))) ? SQL_TRUE : SQL_FALSE ) + return SQL_SUCCESS; +} + diff --git a/odbc/Driver/KO_UTILS.CPP b/odbc/Driver/KO_UTILS.CPP index a085dca..31ce05c 100644 --- a/odbc/Driver/KO_UTILS.CPP +++ b/odbc/Driver/KO_UTILS.CPP @@ -1,584 +1,594 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - -// --------------------------------------------------------------------------------- -// -// File: KO_UTILS.CPP -// -// Notes: contains generic utility functions used across files/modules. -// Data conversion and copying functions w.r.t ODBC type params -// like its type, size, its size pointer, src data and src size etc. -// -// As explained in the article ODBC specifies a way in which -// buffers r laid out along with their size and return length -// placeholders. The functions _SQLCopyCharData, _SQLCopyNumData -// and _SQLCopyDateTimeData have been designed to copy char, numeric -// and date time data from src ( buffer,size,type ) to tgt ( buffer, -// size, type ) whichever params r applicable. -// -// ---------------------------------------------------------------------------------- -#include "stdafx.h" - -// ------------------------- local functions ---------------------------- -eGoodBad GetDateFromString ( const char* pDateStr, struct tagDATE_STRUCT* pDateStruct ); -eGoodBad GetTimestampFromString ( const char* pDateStr, struct tagTIMESTAMP_STRUCT* pTimestampStruct ); - - -// ---------------------------------------------------------------------- -// to extract date from string assuming server format to be yyyy-mm-dd or yyyymmdd -// ---------------------------------------------------------------------- - -eGoodBad GetDateFromString ( const char* pDateStr, struct tagDATE_STRUCT* pDateStruct ) { - char val[5]; - short x; - short day, month; - // length of source - x = strlen ( pDateStr ); - - // 10 byte date yyyy-mm-dd, 8 byte date yyyymmdd - if ( x == 8 || x == 10 ) { - // calc pos of day and month in string - if ( x == 8 ) { - day = 6; - month = 4; - } - - else { - day = 8; - month = 5; - } - - // convert day value - pDateStruct->day = atoi ( pDateStr + day ); - // copy and convert month - strncpy ( val, pDateStr + month, 2 ); val[2] = 0; - pDateStruct->month = atoi ( val ); - strncpy ( val, pDateStr, 4 ); val[4] = 0; - pDateStruct->year = atoi ( val ); - return GOOD; - } - - else { - __ODBCPOPMSG ( _ODBCPopMsg ( "Invalid date string for conversion: %s", pDateStr ) ); - return BAD; - } -} - -//Timestamps in text files have to use the format yyyy-mm-dd hh:mm:ss[.f...] -eGoodBad GetTimestampFromString ( const char* pStr, struct tagTIMESTAMP_STRUCT* pTimestampStruct ) { - char val[10]; - short x; - short day, month, hour, minute, second, frag; - // length of source - x = strlen ( pStr ); - const char* p = pStr; - - while ( ( *p != ' ' ) && ( p < pStr + x ) ) { - p++; - } - - if ( ( p - pStr ) != 10 || ( x < 19 ) ) { - __ODBCPOPMSG ( _ODBCPopMsg ( "Invalid timestamp string for conversion: %s", pStr ) ); - return BAD; - } - - month = 5; - day = 8; - hour = 11; - minute = 14; - second = 17; - frag = 20; - // convert day value - strncpy ( val, pStr + day, 2 ); - val[2] = 0; - pTimestampStruct->day = atoi ( val ); - // copy and convert month - strncpy ( val, pStr + month, 2 ); - val[2] = 0; - pTimestampStruct->month = atoi ( val ); - //convert year - strncpy ( val, pStr, 4 ); - val[4] = 0; - pTimestampStruct->year = atoi ( val ); - //convert hour - strncpy ( val, pStr + hour, 2 ); - val[2] = 0; - pTimestampStruct->hour = atoi ( val ); - //convert minute - strncpy ( val, pStr + minute, 2 ); - val[2] = 0; - pTimestampStruct->minute = atoi ( val ); - //convert second - strncpy ( val, pStr + second, 2 ); - val[2] = 0; - pTimestampStruct->second = atoi ( val ); - - if ( x >= 21 ) { - pTimestampStruct->fraction = atoi ( pStr + frag ); - } - - else { - pTimestampStruct->fraction = 0; - } - - return GOOD; -} - -// ---------------------------------------------------------------------- -// to create a copy of char data to specified tgt buffer -// ---------------------------------------------------------------------- - -RETCODE SQL_API _SQLCopyCharData ( pODBCDiag pDiag, void* pTgtDataPtr, Long pDataBufSize, void* pSizePtr, - Word pSizePtrSize, CStrPtr pSrcData, Long pSrcDataSize ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, - "_SQLCopyCharData called,pDataBufSize %d, the src is %s, strlen(src) %d, pSrcDataSize %d", pDataBufSize, pSrcData, - strlen ( pSrcData ), pSrcDataSize ) ); - Long n; - - // caller safe - if ( pTgtDataPtr ) - { * ( ( StrPtr ) pTgtDataPtr ) = 0; } - - // DATA SIZE - - // check source data to compute size - if ( pSrcData && _stricmp ( ( StrPtr ) pSrcData, "NULL" ) != 0 ) - { n = ( pSrcDataSize < 0 ) ? strlen ( ( StrPtr ) pSrcData ) : pSrcDataSize; } // compute length based on whether null terminated - - else - { n = 0; } - - // check if there is a holder for size - if ( pSizePtr ) { - // set size as per ptr type 16-bt or 32-bit - if ( pSizePtrSize == 16 ) - { * ( ( Word* ) pSizePtr ) = ( Word ) n; } - - else - { * ( ( Long* ) pSizePtr ) = n; } - } - - // check if src data but no size holder - else if ( pSrcData ) { - // check if diag to be set - if ( pDiag ) - { _SQLPutDiagRow ( pDiag, "_SQLCopyCharData", "01000", -1, "No holder for data size", NULL ); } - - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLCopyCharData - No holder for data size" ) ); - return SQL_ERROR; - } - - // check if there is a target holder - if ( pTgtDataPtr ) { - // check if there is a source pointer - if ( pSrcData ) { - // does all of it fit with null char - if ( pDataBufSize >= n + 1 ) { - memcpy ( ( StrPtr ) pTgtDataPtr, pSrcData, n ); - ( ( StrPtr ) pTgtDataPtr ) [n] = 0; - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "_SQLCopyCharData has been called, the string(not truncated) is %s", - pTgtDataPtr ) ); - return SQL_SUCCESS; - } - - // all of it does not fit - else { - memcpy ( ( StrPtr ) pTgtDataPtr, pSrcData, pDataBufSize - 1 ); - ( ( StrPtr ) pTgtDataPtr ) [pDataBufSize - 1] = 0; - __ODBCLOG ( _ODBCLogMsg ( LogLevel_WARN, "_SQLCopyCharData has been called, the target string is (truncated) %s", - pTgtDataPtr ) ); - //return SQL_SUCCESS_WITH_INFO may cause error in tableau - //if ( pDiag ) - // _SQLPutDiagRow ( pDiag, "_SQLCopyCharData", "01000", -1, "string data truncated", NULL ); - //return SQL_SUCCESS_WITH_INFO; - __ODBCLOG ( _ODBCLogMsg ( LogLevel_WARN, "string data truncated" ) ); - return SQL_SUCCESS; - } - } - - // tgt data but no src data - else { - // clear tgt - * ( ( Char* ) pTgtDataPtr ) = 0; - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "_SQLCopyCharData has been called, the string is (empty) %s", pTgtDataPtr ) ); - } - } - - return SQL_SUCCESS; -} - -RETCODE SQL_API _SQLCopyWCharData ( pODBCDiag pDiag, void* pTgtDataPtr, Long pDataBufSize, void* pSizePtr, - Word pSizePtrSize, CStrPtr pSrcData, Long pSrcDataSize ) { - unique_ptr pWCS ( char2wchar ( pSrcData ) ); - return _SQLCopyWCharDataW ( pDiag, pTgtDataPtr, pDataBufSize, pSizePtr, pSizePtrSize, pWCS.get(), pSrcDataSize ); -} -//mhb added, for those ard that accept wchar -RETCODE SQL_API _SQLCopyWCharDataW ( pODBCDiag pDiag, void* pTgtDataPtr, Long pDataBufSize, void* pSizePtr, - Word pSizePtrSize, const wchar_t* pSrcData, Long pSrcDataSize ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "_SQLCopyWCharDataW called, pTgtDataPtr is null? %d, pSizePtr == null? %d", - pTgtDataPtr == NULL, pSizePtr == NULL ) ); - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "_SQLCopyWCharDataW called, the src string is :" ) ); - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, pSrcData ) ); - Long n; - - // caller safe - if ( pTgtDataPtr ) - { * ( ( wchar_t* ) pTgtDataPtr ) = 0; } - - // DATA SIZE - - // check source data to compute size - if ( pSrcData && _wcsicmp ( pSrcData, L"NULL" ) != 0 ) - { n = ( pSrcDataSize < 0 ) ? wcslen ( pSrcData ) : pSrcDataSize; } // compute length based on whether null terminated - - else - { n = 0; } - - // check if there is a holder for size - if ( pSizePtr ) { - // set size as per ptr type 16-bt or 32-bit - - //should be number of characters - if ( pSizePtrSize == 16 ) - { * ( ( Word* ) pSizePtr ) = ( Word ) ( 2 * n ); } - - else - { * ( ( Long* ) pSizePtr ) = ( 2 * n ); } - - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "pSizePtr is set to %d", n ) ); - } - - // check if src data but no size holder - else if ( pSrcData ) { - // check if diag to be set - if ( pDiag ) - { _SQLPutDiagRow ( pDiag, "_SQLCopyWCharDataW", "01000", -1, "No holder for data size", NULL ); } - - __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLCopyWCharDataW - No holder for data size" ) ); - return SQL_ERROR; - } - - // DATA - - // check if there is a target holder - if ( pTgtDataPtr ) { - // check if there is a source pointer - if ( pSrcData ) { - // does all of it fit with null char - if ( pDataBufSize >= ( n + 1 ) ) { - memcpy ( ( StrPtr ) pTgtDataPtr, pSrcData, 2 * ( n + 1 ) ); - ( ( wchar_t* ) pTgtDataPtr ) [n] = '\0'; - //__ODBCLOG(_ODBCLogMsg(LogLevel_DEBUG,"_SQLCopyWCharDataW has been called, the target string(not truncated) is :")); - //unique_ptr temp2(wchar2char( (wchar_t*)pTgtDataPtr)); - //__ODBCLOG(_ODBCLogMsg(LogLevel_DEBUG,temp2.get())); - return SQL_SUCCESS; - } - - // all of it does not fit - else { - //if(pDataBufSize % 2 == 1) - // pDataBufSize -= 1; - memcpy ( ( StrPtr ) pTgtDataPtr, pSrcData, 2 * ( pDataBufSize - 1 ) ); - ( ( wchar_t* ) pTgtDataPtr ) [pDataBufSize - 1] = 0; - //__ODBCLOG(_ODBCLogMsg(LogLevel_WARN,"_SQLCopyWCharDataW has been called, the target string is(truncated) :")); - unique_ptr temp ( wchar2char ( ( wchar_t* ) pTgtDataPtr ) ); - //__ODBCLOG(_ODBCLogMsg(LogLevel_DEBUG, temp.get())); - //return SQL_SUCCESS_WITH_INFO may cause error in tableau - //if ( pDiag ) - // _SQLPutDiagRow ( pDiag, "_SQLCopyWCharDataW", "01000", -1, "string data truncated", NULL ); - //return SQL_SUCCESS_WITH_INFO; - __ODBCLOG ( _ODBCLogMsg ( LogLevel_WARN, "string data truncated" ) ); - return SQL_SUCCESS; - } - } - - // tgt data but no src data - else { - // clear tgt - * ( ( wchar_t* ) pTgtDataPtr ) = 0; - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "_SQLCopyWCharDataW has been called, the string is (empty) %s", - pTgtDataPtr ) ); - } - } - - return SQL_SUCCESS; -} - - -// ---------------------------------------------------------------------- -// to create a copy of numeric data to specified tgt buffer -// ---------------------------------------------------------------------- - - -//TODO: it seems that the unsigned values are not treated specially -Word _SQLCopyNumData ( pODBCDiag pDiag, void* pTgtDataPtr, Word pTgtDataType, CStrPtr pSrcData, Word pSrcDataType , - Long* pTgtDataSizePtr ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "_SQLCopyNumData called" ) ); - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The src is %s", pSrcData ) ); - // note - // source data is received as character string - // target data size indicates the type of int - 8bit, 16bit, 32bit, float, double etc - // source data type is also recd. but is not being checked right now - // this can be used to detrmine if the conversion is possible at all - bool isnull; - // check if source data is NULL - isnull = ( !pSrcData || _stricmp ( pSrcData, "NULL" ) == 0 ) ? TRUE : 0; - - // check if target is there - if ( pTgtDataPtr ) { - // check the data type - switch ( pTgtDataType ) { - case SQL_C_UTINYINT: - if ( !isnull ) { - int i32; - i32 = atoi ( pSrcData ); - * ( ( unsigned char* ) pTgtDataPtr ) = i32; - } - - else - { memset ( pTgtDataPtr, 0, sizeof ( char ) ); } - - *pTgtDataSizePtr = sizeof ( char ); - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The num is set to %d (unsigned char)", - * ( ( unsigned char* ) pTgtDataPtr ) ) ); - break; - - case SQL_C_STINYINT: - case SQL_C_TINYINT: - if ( !isnull ) { - int i32; - i32 = atoi ( pSrcData ); - * ( ( char* ) pTgtDataPtr ) = i32; - } - - else - { memset ( pTgtDataPtr, 0, sizeof ( char ) ); } - - *pTgtDataSizePtr = sizeof ( char ); - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The num is set to %d (signed char)", * ( ( char* ) pTgtDataPtr ) ) ); - break; - - case SQL_C_USHORT: // unsigned short - if ( !isnull ) { - int i32; - i32 = atoi ( pSrcData ); - * ( ( Word* ) pTgtDataPtr ) = i32; - } - - else - { memset ( pTgtDataPtr, 0, sizeof ( Word ) ); } - - *pTgtDataSizePtr = sizeof ( Word ); - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The num is set to %u (signed short)", - * ( ( unsigned short* ) pTgtDataPtr ) ) ); - break; - - case SQL_C_SHORT: // case i2 - case SQL_C_SSHORT: // signed short - if ( !isnull ) { - int i32; - i32 = atoi ( pSrcData ); - * ( ( Word* ) pTgtDataPtr ) = i32; - } - - else - { memset ( pTgtDataPtr, 0, sizeof ( Word ) ); } - - *pTgtDataSizePtr = sizeof ( Word ); - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The num is set to %d (signed short)", * ( ( Word* ) pTgtDataPtr ) ) ); - break; - - case SQL_C_ULONG: // unsigned long - if ( !isnull ) { - unsigned long ui32; - ui32 = strtoul ( pSrcData , NULL, 10 ); - * ( ( unsigned long* ) pTgtDataPtr ) = ui32; - } - - else - { memset ( pTgtDataPtr, 0, sizeof ( unsigned long ) ); } - - *pTgtDataSizePtr = sizeof ( unsigned long ); - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The num is set to %u (unsigned int)", - * ( ( unsigned long* ) pTgtDataPtr ) ) ); - break; - - case SQL_C_LONG: // case i4 - case SQL_C_SLONG: // signed long - - // ???? check src type - if ( !isnull ) { - long i32; - i32 = atol ( pSrcData ); - * ( ( Long* ) pTgtDataPtr ) = i32; - } - - else - { memset ( pTgtDataPtr, 0, sizeof ( Long ) ); } - - *pTgtDataSizePtr = sizeof ( Long ); - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The num is set to %d (signed int)", * ( ( Long* ) pTgtDataPtr ) ) ); - break; - - case SQL_C_UBIGINT: - if ( !isnull ) { - unsigned __int64 x64; - x64 = _strtoui64 ( pSrcData, NULL, 10 ); - * ( ( unsigned __int64* ) pTgtDataPtr ) = x64; - } - - else - { memset ( pTgtDataPtr, 0, sizeof ( unsigned __int64 ) ); } - - *pTgtDataSizePtr = sizeof ( unsigned __int64 ); - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The num is set to %I64u (unsigned big int)", - * ( ( unsigned __int64* ) pTgtDataPtr ) ) ); - break; - - case SQL_BIGINT: - case SQL_C_SBIGINT: - if ( !isnull ) { - __int64 x64; - x64 = _strtoi64 ( pSrcData, NULL, 10 ); - * ( ( __int64* ) pTgtDataPtr ) = x64; - } - - else - { memset ( pTgtDataPtr, 0, sizeof ( __int64 ) ); } - - *pTgtDataSizePtr = sizeof ( __int64 ); - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The num is set to %I64d (signed big int)", - * ( ( __int64* ) pTgtDataPtr ) ) ); - break; - - //case SQL_DECIMAL: //decimal type has a special struct - case SQL_FLOAT: - case SQL_C_FLOAT: - if ( !isnull ) { - // ???? check src type - double f; - f = atof ( pSrcData ); - * ( ( float* ) pTgtDataPtr ) = ( float ) f; - } - - else - { memset ( pTgtDataPtr, 0, sizeof ( float ) ); } - - *pTgtDataSizePtr = sizeof ( float ); - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The num is set to %9.9f (float)", * ( ( float* ) pTgtDataPtr ) ) ); - break; - - //case SQL_REAL: - //case SQL_NUMERIC: // case float - - case SQL_C_DOUBLE: - if ( !isnull ) { - // ???? check src type - char* e; - double d; - - if ( pSrcDataType == SQL_BIT ) - { d = 1; } - - else - { d = strtod ( pSrcData, &e ); } - - * ( ( double* ) pTgtDataPtr ) = d; - } - - else - { memset ( pTgtDataPtr, 0, sizeof ( double ) ); } - - *pTgtDataSizePtr = sizeof ( double ); - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The num is set to %9.9f (double), with the pTgtDataSizePtr %d", - * ( ( double* ) pTgtDataPtr ), *pTgtDataSizePtr ) ); - break; - - default: - return 1; // data type not understood - } - - return 0; // successful, at least data type recognized - } - - else - { return -1; } // should not typically happen -} - - -// ---------------------------------------------------------------------- -// to create a copy of date/time data to specified tgt buffer -// ---------------------------------------------------------------------- - -Word _SQLCopyDateTimeData ( pODBCDiag pDiag, void* pTgtDataPtr, Word pTgtDataType, CStrPtr pSrcData, - Word pSrcDataType ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "_SQLCopyDateTimeData called, with the src : %s", pSrcData ) ); - // note - // source data is received as character string - // source data type is also recd. but is not being checked right now - // this can be used to detrmine if the conversion is possible at all - bool isnull; - // check if source data is NULL - isnull = ( !pSrcData || _stricmp ( pSrcData, "NULL" ) == 0 ) ? TRUE : 0; - - // check if target is there - if ( pTgtDataPtr ) { - // check the data size - switch ( pTgtDataType ) { - case SQL_C_TYPE_DATE: // 91 - case SQL_C_DATE: - - // ???? check src type - if ( !isnull ) { - memset ( pTgtDataPtr, 0, sizeof ( struct tagDATE_STRUCT ) ); - GetDateFromString ( pSrcData, ( struct tagDATE_STRUCT* ) pTgtDataPtr ); - } - - break; - - case SQL_C_TYPE_TIME: // 92 - case SQL_C_TIME: - //not suppporting Time - return 1; - - case SQL_C_TYPE_TIMESTAMP: // 93 - case SQL_C_TIMESTAMP: - - // ???? check src type - if ( !isnull ) { - memset ( pTgtDataPtr, 0, sizeof ( struct tagTIMESTAMP_STRUCT ) ); - GetTimestampFromString ( pSrcData, ( struct tagTIMESTAMP_STRUCT* ) pTgtDataPtr ); - } - - break; - - default: - return 1; // data type not understood - } - - return 0; // successful, at least data type recognized - } - - else - { return -1; } // should not typically happen -} - - - - +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +// --------------------------------------------------------------------------------- +// +// File: KO_UTILS.CPP +// +// Notes: contains generic utility functions used across files/modules. +// Data conversion and copying functions w.r.t ODBC type params +// like its type, size, its size pointer, src data and src size etc. +// +// As explained in the article ODBC specifies a way in which +// buffers r laid out along with their size and return length +// placeholders. The functions _SQLCopyCharData, _SQLCopyNumData +// and _SQLCopyDateTimeData have been designed to copy char, numeric +// and date time data from src ( buffer,size,type ) to tgt ( buffer, +// size, type ) whichever params r applicable. +// +// ---------------------------------------------------------------------------------- +#include "stdafx.h" + +// ------------------------- local functions ---------------------------- +eGoodBad GetDateFromString ( const char* pDateStr, struct tagDATE_STRUCT* pDateStruct ); +eGoodBad GetTimestampFromString ( const char* pDateStr, struct tagTIMESTAMP_STRUCT* pTimestampStruct ); + + +// ---------------------------------------------------------------------- +// to extract date from string assuming server format to be yyyy-mm-dd or yyyymmdd +// ---------------------------------------------------------------------- + +eGoodBad GetDateFromString ( const char* pDateStr, struct tagDATE_STRUCT* pDateStruct ) { + char val[5]; + short x; + short day, month; + // length of source + x = strlen ( pDateStr ); + + // 10 byte date yyyy-mm-dd, 8 byte date yyyymmdd + if ( x == 8 || x == 10 ) { + // calc pos of day and month in string + if ( x == 8 ) { + day = 6; + month = 4; + } + + else { + day = 8; + month = 5; + } + + // convert day value + pDateStruct->day = atoi ( pDateStr + day ); + // copy and convert month + strncpy ( val, pDateStr + month, 2 ); val[2] = 0; + pDateStruct->month = atoi ( val ); + strncpy ( val, pDateStr, 4 ); val[4] = 0; + pDateStruct->year = atoi ( val ); + return GOOD; + } + + else { + __ODBCPOPMSG ( _ODBCPopMsg ( "Invalid date string for conversion: %s", pDateStr ) ); + return BAD; + } +} + +//Timestamps in text files have to use the format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss[.f...] +eGoodBad GetTimestampFromString ( const char* pStr, struct tagTIMESTAMP_STRUCT* pTimestampStruct ) { + char val[10]; + short x; + short day, month, hour, minute, second, frag; + // length of source + x = strlen ( pStr ); + const char* p = pStr; + + while ( ( *p != ' ' ) && ( p < pStr + x ) ) { + p++; + } + + if ( ( p - pStr ) != 10 || ( x < 19 && x != 10) ) { + __ODBCPOPMSG ( _ODBCPopMsg ( "Invalid timestamp string for conversion: %s", pStr ) ); + return BAD; + } + + month = 5; + day = 8; + hour = 11; + minute = 14; + second = 17; + frag = 20; + // convert day value + strncpy ( val, pStr + day, 2 ); + val[2] = 0; + pTimestampStruct->day = atoi ( val ); + // copy and convert month + strncpy ( val, pStr + month, 2 ); + val[2] = 0; + pTimestampStruct->month = atoi ( val ); + //convert year + strncpy ( val, pStr, 4 ); + val[4] = 0; + pTimestampStruct->year = atoi ( val ); + + if (x > 10) + { + //convert hour + strncpy ( val, pStr + hour, 2 ); + val[2] = 0; + pTimestampStruct->hour = atoi ( val ); + //convert minute + strncpy ( val, pStr + minute, 2 ); + val[2] = 0; + pTimestampStruct->minute = atoi ( val ); + //convert second + strncpy ( val, pStr + second, 2 ); + val[2] = 0; + pTimestampStruct->second = atoi ( val ); + } + else + { + pTimestampStruct->hour = 0; + pTimestampStruct->minute = 0; + pTimestampStruct->second = 0; + } + + if ( x >= 21 ) { + pTimestampStruct->fraction = atoi ( pStr + frag ); + } + + else { + pTimestampStruct->fraction = 0; + } + + return GOOD; +} + +// ---------------------------------------------------------------------- +// to create a copy of char data to specified tgt buffer +// ---------------------------------------------------------------------- + +RETCODE SQL_API _SQLCopyCharData ( pODBCDiag pDiag, void* pTgtDataPtr, Long pDataBufSize, void* pSizePtr, + Word pSizePtrSize, CStrPtr pSrcData, Long pSrcDataSize ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, + "_SQLCopyCharData called,pDataBufSize %d, the src is %s, strlen(src) %d, pSrcDataSize %d", pDataBufSize, pSrcData, + strlen ( pSrcData ), pSrcDataSize ) ); + Long n; + + // caller safe + if ( pTgtDataPtr ) + { * ( ( StrPtr ) pTgtDataPtr ) = 0; } + + // DATA SIZE + + // check source data to compute size + if ( pSrcData && _stricmp ( ( StrPtr ) pSrcData, "NULL" ) != 0 ) + { n = ( pSrcDataSize < 0 ) ? strlen ( ( StrPtr ) pSrcData ) : pSrcDataSize; } // compute length based on whether null terminated + + else + { n = 0; } + + // check if there is a holder for size + if ( pSizePtr ) { + // set size as per ptr type 16-bt or 32-bit + if ( pSizePtrSize == 16 ) + { * ( ( Word* ) pSizePtr ) = ( Word ) n; } + + else + { * ( ( Long* ) pSizePtr ) = n; } + } + + // check if src data but no size holder + else if ( pSrcData ) { + // check if diag to be set + if ( pDiag ) + { _SQLPutDiagRow ( pDiag, "_SQLCopyCharData", "01000", -1, "No holder for data size", NULL ); } + + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLCopyCharData - No holder for data size" ) ); + return SQL_ERROR; + } + + // check if there is a target holder + if ( pTgtDataPtr ) { + // check if there is a source pointer + if ( pSrcData ) { + // does all of it fit with null char + if ( pDataBufSize >= n + 1 ) { + memcpy ( ( StrPtr ) pTgtDataPtr, pSrcData, n ); + ( ( StrPtr ) pTgtDataPtr ) [n] = 0; + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "_SQLCopyCharData has been called, the string(not truncated) is %s", + pTgtDataPtr ) ); + return SQL_SUCCESS; + } + + // all of it does not fit + else { + memcpy ( ( StrPtr ) pTgtDataPtr, pSrcData, pDataBufSize - 1 ); + ( ( StrPtr ) pTgtDataPtr ) [pDataBufSize - 1] = 0; + __ODBCLOG ( _ODBCLogMsg ( LogLevel_WARN, "_SQLCopyCharData has been called, the target string is (truncated) %s", + pTgtDataPtr ) ); + //return SQL_SUCCESS_WITH_INFO may cause error in tableau + //if ( pDiag ) + // _SQLPutDiagRow ( pDiag, "_SQLCopyCharData", "01000", -1, "string data truncated", NULL ); + //return SQL_SUCCESS_WITH_INFO; + __ODBCLOG ( _ODBCLogMsg ( LogLevel_WARN, "string data truncated" ) ); + return SQL_SUCCESS; + } + } + + // tgt data but no src data + else { + // clear tgt + * ( ( Char* ) pTgtDataPtr ) = 0; + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "_SQLCopyCharData has been called, the string is (empty) %s", pTgtDataPtr ) ); + } + } + + return SQL_SUCCESS; +} + +RETCODE SQL_API _SQLCopyWCharData ( pODBCDiag pDiag, void* pTgtDataPtr, Long pDataBufSize, void* pSizePtr, + Word pSizePtrSize, CStrPtr pSrcData, Long pSrcDataSize ) { + unique_ptr pWCS ( char2wchar ( pSrcData ) ); + return _SQLCopyWCharDataW ( pDiag, pTgtDataPtr, pDataBufSize, pSizePtr, pSizePtrSize, pWCS.get(), pSrcDataSize ); +} +//mhb added, for those ard that accept wchar +RETCODE SQL_API _SQLCopyWCharDataW ( pODBCDiag pDiag, void* pTgtDataPtr, Long pDataBufSize, void* pSizePtr, + Word pSizePtrSize, const wchar_t* pSrcData, Long pSrcDataSize ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "_SQLCopyWCharDataW called, pTgtDataPtr is null? %d, pSizePtr == null? %d", + pTgtDataPtr == NULL, pSizePtr == NULL ) ); + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "_SQLCopyWCharDataW called, the src string is :" ) ); + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, pSrcData ) ); + Long n; + + // caller safe + if ( pTgtDataPtr ) + { * ( ( wchar_t* ) pTgtDataPtr ) = 0; } + + // DATA SIZE + + // check source data to compute size + if ( pSrcData && _wcsicmp ( pSrcData, L"NULL" ) != 0 ) + { n = ( pSrcDataSize < 0 ) ? wcslen ( pSrcData ) : pSrcDataSize; } // compute length based on whether null terminated + + else + { n = 0; } + + // check if there is a holder for size + if ( pSizePtr ) { + // set size as per ptr type 16-bt or 32-bit + + //should be number of characters + if ( pSizePtrSize == 16 ) + { * ( ( Word* ) pSizePtr ) = ( Word ) ( 2 * n ); } + + else + { * ( ( Long* ) pSizePtr ) = ( 2 * n ); } + + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "pSizePtr is set to %d", n ) ); + } + + // check if src data but no size holder + else if ( pSrcData ) { + // check if diag to be set + if ( pDiag ) + { _SQLPutDiagRow ( pDiag, "_SQLCopyWCharDataW", "01000", -1, "No holder for data size", NULL ); } + + __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLCopyWCharDataW - No holder for data size" ) ); + return SQL_ERROR; + } + + // DATA + + // check if there is a target holder + if ( pTgtDataPtr ) { + // check if there is a source pointer + if ( pSrcData ) { + // does all of it fit with null char + if ( pDataBufSize >= ( n + 1 ) ) { + memcpy ( ( StrPtr ) pTgtDataPtr, pSrcData, 2 * ( n + 1 ) ); + ( ( wchar_t* ) pTgtDataPtr ) [n] = L'\0'; + //__ODBCLOG(_ODBCLogMsg(LogLevel_DEBUG,"_SQLCopyWCharDataW has been called, the target string(not truncated) is :")); + //unique_ptr temp2(wchar2char( (wchar_t*)pTgtDataPtr)); + //__ODBCLOG(_ODBCLogMsg(LogLevel_DEBUG,temp2.get())); + return SQL_SUCCESS; + } + + // all of it does not fit + else { + //if(pDataBufSize % 2 == 1) + // pDataBufSize -= 1; + memcpy ( ( StrPtr ) pTgtDataPtr, pSrcData, 2 * ( pDataBufSize - 1 ) ); + ( ( wchar_t* ) pTgtDataPtr ) [pDataBufSize - 1] = 0; + //__ODBCLOG(_ODBCLogMsg(LogLevel_WARN,"_SQLCopyWCharDataW has been called, the target string is(truncated) :")); + //unique_ptr temp ( wchar2char ( ( wchar_t* ) pTgtDataPtr ) ); + //__ODBCLOG(_ODBCLogMsg(LogLevel_DEBUG, temp.get())); + //return SQL_SUCCESS_WITH_INFO may cause error in tableau + //if ( pDiag ) + // _SQLPutDiagRow ( pDiag, "_SQLCopyWCharDataW", "01000", -1, "string data truncated", NULL ); + //return SQL_SUCCESS_WITH_INFO; + __ODBCLOG ( _ODBCLogMsg ( LogLevel_WARN, "string data truncated" ) ); + return SQL_SUCCESS; + } + } + + // tgt data but no src data + else { + // clear tgt + * ( ( wchar_t* ) pTgtDataPtr ) = 0; + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "_SQLCopyWCharDataW has been called, the string is (empty) %s", + pTgtDataPtr ) ); + } + } + + return SQL_SUCCESS; +} + + +// ---------------------------------------------------------------------- +// to create a copy of numeric data to specified tgt buffer +// ---------------------------------------------------------------------- + + +//TODO: it seems that the unsigned values are not treated specially +Word _SQLCopyNumData ( pODBCDiag pDiag, void* pTgtDataPtr, Word pTgtDataType, CStrPtr pSrcData, Word pSrcDataType , + Long* pTgtDataSizePtr ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "_SQLCopyNumData called" ) ); + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The src is %s", pSrcData ) ); + // note + // source data is received as character string + // target data size indicates the type of int - 8bit, 16bit, 32bit, float, double etc + // source data type is also recd. but is not being checked right now + // this can be used to detrmine if the conversion is possible at all + bool isnull; + // check if source data is NULL + isnull = ( !pSrcData || _stricmp ( pSrcData, "NULL" ) == 0 ) ? TRUE : 0; + + // check if target is there + if ( pTgtDataPtr ) { + // check the data type + switch ( pTgtDataType ) { + case SQL_C_UTINYINT: + if ( !isnull ) { + int i32; + i32 = atoi ( pSrcData ); + * ( ( unsigned char* ) pTgtDataPtr ) = i32; + } + + else + { memset ( pTgtDataPtr, 0, sizeof ( char ) ); } + + *pTgtDataSizePtr = sizeof ( char ); + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The num is set to %d (unsigned char)", + * ( ( unsigned char* ) pTgtDataPtr ) ) ); + break; + + case SQL_C_STINYINT: + case SQL_C_TINYINT: + if ( !isnull ) { + int i32; + i32 = atoi ( pSrcData ); + * ( ( char* ) pTgtDataPtr ) = i32; + } + + else + { memset ( pTgtDataPtr, 0, sizeof ( char ) ); } + + *pTgtDataSizePtr = sizeof ( char ); + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The num is set to %d (signed char)", * ( ( char* ) pTgtDataPtr ) ) ); + break; + + case SQL_C_USHORT: // unsigned short + if ( !isnull ) { + int i32; + i32 = atoi ( pSrcData ); + * ( ( Word* ) pTgtDataPtr ) = i32; + } + + else + { memset ( pTgtDataPtr, 0, sizeof ( Word ) ); } + + *pTgtDataSizePtr = sizeof ( Word ); + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The num is set to %u (signed short)", + * ( ( unsigned short* ) pTgtDataPtr ) ) ); + break; + + case SQL_C_SHORT: // case i2 + case SQL_C_SSHORT: // signed short + if ( !isnull ) { + int i32; + i32 = atoi ( pSrcData ); + * ( ( Word* ) pTgtDataPtr ) = i32; + } + + else + { memset ( pTgtDataPtr, 0, sizeof ( Word ) ); } + + *pTgtDataSizePtr = sizeof ( Word ); + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The num is set to %d (signed short)", * ( ( Word* ) pTgtDataPtr ) ) ); + break; + + case SQL_C_ULONG: // unsigned long + if ( !isnull ) { + unsigned long ui32; + ui32 = strtoul ( pSrcData , NULL, 10 ); + * ( ( unsigned long* ) pTgtDataPtr ) = ui32; + } + + else + { memset ( pTgtDataPtr, 0, sizeof ( unsigned long ) ); } + + *pTgtDataSizePtr = sizeof ( unsigned long ); + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The num is set to %u (unsigned int)", + * ( ( unsigned long* ) pTgtDataPtr ) ) ); + break; + + case SQL_C_LONG: // case i4 + case SQL_C_SLONG: // signed long + + // ???? check src type + if ( !isnull ) { + long i32; + i32 = atol ( pSrcData ); + * ( ( Long* ) pTgtDataPtr ) = i32; + } + + else + { memset ( pTgtDataPtr, 0, sizeof ( Long ) ); } + + *pTgtDataSizePtr = sizeof ( Long ); + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The num is set to %d (signed int)", * ( ( Long* ) pTgtDataPtr ) ) ); + break; + + case SQL_C_UBIGINT: + if ( !isnull ) { + unsigned __int64 x64; + x64 = _strtoui64 ( pSrcData, NULL, 10 ); + * ( ( unsigned __int64* ) pTgtDataPtr ) = x64; + } + + else + { memset ( pTgtDataPtr, 0, sizeof ( unsigned __int64 ) ); } + + *pTgtDataSizePtr = sizeof ( unsigned __int64 ); + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The num is set to %I64u (unsigned big int)", + * ( ( unsigned __int64* ) pTgtDataPtr ) ) ); + break; + + case SQL_BIGINT: + case SQL_C_SBIGINT: + if ( !isnull ) { + __int64 x64; + x64 = _strtoi64 ( pSrcData, NULL, 10 ); + * ( ( __int64* ) pTgtDataPtr ) = x64; + } + + else + { memset ( pTgtDataPtr, 0, sizeof ( __int64 ) ); } + + *pTgtDataSizePtr = sizeof ( __int64 ); + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The num is set to %I64d (signed big int)", + * ( ( __int64* ) pTgtDataPtr ) ) ); + break; + + //case SQL_DECIMAL: //decimal type has a special struct + case SQL_FLOAT: + case SQL_C_FLOAT: + if ( !isnull ) { + // ???? check src type + double f; + f = atof ( pSrcData ); + * ( ( float* ) pTgtDataPtr ) = ( float ) f; + } + + else + { memset ( pTgtDataPtr, 0, sizeof ( float ) ); } + + *pTgtDataSizePtr = sizeof ( float ); + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The num is set to %9.9f (float)", * ( ( float* ) pTgtDataPtr ) ) ); + break; + + //case SQL_REAL: + //case SQL_NUMERIC: // case float + + case SQL_C_DOUBLE: + if ( !isnull ) { + // ???? check src type + char* e; + double d; + + if ( pSrcDataType == SQL_BIT ) + { d = 1; } + + else + { d = strtod ( pSrcData, &e ); } + + * ( ( double* ) pTgtDataPtr ) = d; + } + + else + { memset ( pTgtDataPtr, 0, sizeof ( double ) ); } + + *pTgtDataSizePtr = sizeof ( double ); + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "The num is set to %9.9f (double), with the pTgtDataSizePtr %d", + * ( ( double* ) pTgtDataPtr ), *pTgtDataSizePtr ) ); + break; + + default: + return 1; // data type not understood + } + + return 0; // successful, at least data type recognized + } + + else + { return -1; } // should not typically happen +} + + +// ---------------------------------------------------------------------- +// to create a copy of date/time data to specified tgt buffer +// ---------------------------------------------------------------------- + +Word _SQLCopyDateTimeData ( pODBCDiag pDiag, void* pTgtDataPtr, Word pTgtDataType, CStrPtr pSrcData, + Word pSrcDataType ) { + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "_SQLCopyDateTimeData called, with the src : %s", pSrcData ) ); + // note + // source data is received as character string + // source data type is also recd. but is not being checked right now + // this can be used to detrmine if the conversion is possible at all + bool isnull; + // check if source data is NULL + isnull = ( !pSrcData || _stricmp ( pSrcData, "NULL" ) == 0 ) ? TRUE : 0; + + // check if target is there + if ( pTgtDataPtr ) { + // check the data size + switch ( pTgtDataType ) { + case SQL_C_TYPE_DATE: // 91 + case SQL_C_DATE: + + // ???? check src type + if ( !isnull ) { + memset ( pTgtDataPtr, 0, sizeof ( struct tagDATE_STRUCT ) ); + GetDateFromString ( pSrcData, ( struct tagDATE_STRUCT* ) pTgtDataPtr ); + } + + break; + + case SQL_C_TYPE_TIME: // 92 + case SQL_C_TIME: + //not suppporting Time + return 1; + + case SQL_C_TYPE_TIMESTAMP: // 93 + case SQL_C_TIMESTAMP: + + // ???? check src type + if ( !isnull ) { + memset ( pTgtDataPtr, 0, sizeof ( struct tagTIMESTAMP_STRUCT ) ); + GetTimestampFromString ( pSrcData, ( struct tagTIMESTAMP_STRUCT* ) pTgtDataPtr ); + } + + break; + + default: + return 1; // data type not understood + } + + return 0; // successful, at least data type recognized + } + + else + { return -1; } // should not typically happen +} + + + + diff --git a/odbc/Driver/driver.DEF b/odbc/Driver/driver.DEF index bade189..16881e2 100644 --- a/odbc/Driver/driver.DEF +++ b/odbc/Driver/driver.DEF @@ -1,85 +1,86 @@ -LIBRARY driver -EXPORTS - SQLAllocConnect - SQLAllocEnv - SQLAllocStmt - SQLAllocHandle - SQLFreeConnect - SQLFreeEnv - SQLFreeStmt - SQLBindCol - SQLCancel - SQLConnect - SQLConnectW - SQLDescribeCol - SQLDescribeColW - SQLDisconnect - SQLExecDirect - SQLExecDirectW - SQLExecute - SQLExtendedFetch - SQLFetch - SQLGetCursorName - SQLNumResultCols - SQLPrepare - SQLPrepareW - SQLRowCount - SQLSetCursorName - SQLColumns - SQLColumnsW - SQLDriverConnect - SQLDriverConnectW - SQLGetData - SQLGetInfo - SQLGetInfoW - SQLGetTypeInfo - SQLParamData - SQLPutData - SQLStatistics - SQLTables - SQLTablesW - SQLBrowseConnect - SQLColumnPrivileges - SQLDescribeParam - SQLForeignKeys - SQLForeignKeysW - SQLMoreResults - SQLNativeSql - SQLNumParams - SQLPrimaryKeys - SQLPrimaryKeysW - SQLProcedureColumns - SQLProcedures - SQLSetPos - SQLTablePrivileges - SQLBindParameter - SQLCloseCursor - SQLColAttribute - SQLColAttributeW - SQLCopyDesc - SQLEndTran - SQLFetchScroll - SQLFreeHandle - SQLGetConnectAttr - SQLGetConnectAttrW - SQLGetDescField - SQLGetDescFieldW - SQLGetDescRec - SQLGetDiagField - SQLGetDiagFieldW - SQLGetDiagRec - SQLGetDiagRecW - SQLGetEnvAttr - SQLGetStmtAttr - SQLGetStmtAttrW - SQLSetConnectAttr - SQLSetConnectAttrW - SQLSetDescField - SQLSetDescFieldW - SQLSetDescRec - SQLSetEnvAttr - SQLSetStmtAttr - SQLSetStmtAttrW - SQLBulkOperations - SQLSpecialColumns - ConfigDSN +LIBRARY driver +EXPORTS + SQLAllocConnect + SQLAllocEnv + SQLAllocStmt + SQLAllocHandle + SQLFreeConnect + SQLFreeEnv + SQLFreeStmt + SQLBindCol + SQLCancel + SQLConnect + SQLConnectW + SQLDescribeCol + SQLDescribeColW + SQLDisconnect + SQLExecDirect + SQLExecDirectW + SQLExecute + SQLExtendedFetch + SQLFetch + SQLGetCursorName + SQLNumResultCols + SQLPrepare + SQLPrepareW + SQLRowCount + SQLSetCursorName + SQLColumns + SQLColumnsW + SQLDriverConnect + SQLDriverConnectW + SQLGetData + SQLGetInfo + SQLGetInfoW + SQLGetTypeInfo + SQLGetTypeInfoW + SQLParamData + SQLPutData + SQLStatistics + SQLTables + SQLTablesW + SQLBrowseConnect + SQLColumnPrivileges + SQLDescribeParam + SQLForeignKeys + SQLForeignKeysW + SQLMoreResults + SQLNativeSql + SQLNumParams + SQLPrimaryKeys + SQLPrimaryKeysW + SQLProcedureColumns + SQLProcedures + SQLSetPos + SQLTablePrivileges + SQLBindParameter + SQLCloseCursor + SQLColAttribute + SQLColAttributeW + SQLCopyDesc + SQLEndTran + SQLFetchScroll + SQLFreeHandle + SQLGetConnectAttr + SQLGetConnectAttrW + SQLGetDescField + SQLGetDescFieldW + SQLGetDescRec + SQLGetDiagField + SQLGetDiagFieldW + SQLGetDiagRec + SQLGetDiagRecW + SQLGetEnvAttr + SQLGetStmtAttr + SQLGetStmtAttrW + SQLSetConnectAttr + SQLSetConnectAttrW + SQLSetDescField + SQLSetDescFieldW + SQLSetDescRec + SQLSetEnvAttr + SQLSetStmtAttr + SQLSetStmtAttrW + SQLBulkOperations + SQLSpecialColumns + ConfigDSN diff --git a/odbc/Installer(64bit)/Installer(64bit).isl b/odbc/Installer(64bit)/Installer(64bit).isl index e8b81c6..00a29f7 100644 --- a/odbc/Installer(64bit)/Installer(64bit).isl +++ b/odbc/Installer(64bit)/Installer(64bit).isl @@ -1,5736 +1,5736 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -]> - - - - 1252 - Installation Database - KylinODBCDriver (x64) - ##ID_STRING2## - Installer,MSI,Database - Contact: Your local administrator - - Administrator - {1809C804-80E8-4406-B079-E2492C4FC13E} - - 06/21/1999 21:00 - 07/15/2000 00:50 - 200 - 0 - - InstallShield Express - 1 - - - - Action - Description - Template - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Advertise##IDS_ACTIONTEXT_Advertising## - AllocateRegistrySpace##IDS_ACTIONTEXT_AllocatingRegistry####IDS_ACTIONTEXT_FreeSpace##AppSearch##IDS_ACTIONTEXT_SearchInstalled####IDS_ACTIONTEXT_PropertySignature##BindImage##IDS_ACTIONTEXT_BindingExes####IDS_ACTIONTEXT_File##CCPSearch##IDS_ACTIONTEXT_UnregisterModules## - CostFinalize##IDS_ACTIONTEXT_ComputingSpace3## - CostInitialize##IDS_ACTIONTEXT_ComputingSpace## - CreateFolders##IDS_ACTIONTEXT_CreatingFolders####IDS_ACTIONTEXT_Folder##CreateShortcuts##IDS_ACTIONTEXT_CreatingShortcuts####IDS_ACTIONTEXT_Shortcut##DeleteServices##IDS_ACTIONTEXT_DeletingServices####IDS_ACTIONTEXT_Service##DuplicateFiles##IDS_ACTIONTEXT_CreatingDuplicate####IDS_ACTIONTEXT_FileDirectorySize##FileCost##IDS_ACTIONTEXT_ComputingSpace2## - FindRelatedProducts##IDS_ACTIONTEXT_SearchForRelated####IDS_ACTIONTEXT_FoundApp##GenerateScript##IDS_ACTIONTEXT_GeneratingScript####IDS_ACTIONTEXT_1##ISLockPermissionsCost##IDS_ACTIONTEXT_ISLockPermissionsCost## - ISLockPermissionsInstall##IDS_ACTIONTEXT_ISLockPermissionsInstall## - InstallAdminPackage##IDS_ACTIONTEXT_CopyingNetworkFiles####IDS_ACTIONTEXT_FileDirSize##InstallFiles##IDS_ACTIONTEXT_CopyingNewFiles####IDS_ACTIONTEXT_FileDirSize2##InstallODBC##IDS_ACTIONTEXT_InstallODBC## - InstallSFPCatalogFile##IDS_ACTIONTEXT_InstallingSystemCatalog####IDS_ACTIONTEXT_FileDependencies##InstallServices##IDS_ACTIONTEXT_InstallServices####IDS_ACTIONTEXT_Service2##InstallValidate##IDS_ACTIONTEXT_Validating## - LaunchConditions##IDS_ACTIONTEXT_EvaluateLaunchConditions## - MigrateFeatureStates##IDS_ACTIONTEXT_MigratingFeatureStates####IDS_ACTIONTEXT_Application##MoveFiles##IDS_ACTIONTEXT_MovingFiles####IDS_ACTIONTEXT_FileDirSize3##PatchFiles##IDS_ACTIONTEXT_PatchingFiles####IDS_ACTIONTEXT_FileDirSize4##ProcessComponents##IDS_ACTIONTEXT_UpdateComponentRegistration## - PublishComponents##IDS_ACTIONTEXT_PublishingQualifiedComponents####IDS_ACTIONTEXT_ComponentIDQualifier##PublishFeatures##IDS_ACTIONTEXT_PublishProductFeatures####IDS_ACTIONTEXT_FeatureColon##PublishProduct##IDS_ACTIONTEXT_PublishProductInfo## - RMCCPSearch##IDS_ACTIONTEXT_SearchingQualifyingProducts## - RegisterClassInfo##IDS_ACTIONTEXT_RegisterClassServer####IDS_ACTIONTEXT_ClassId##RegisterComPlus##IDS_ACTIONTEXT_RegisteringComPlus####IDS_ACTIONTEXT_AppIdAppTypeRSN##RegisterExtensionInfo##IDS_ACTIONTEXT_RegisterExtensionServers####IDS_ACTIONTEXT_Extension2##RegisterFonts##IDS_ACTIONTEXT_RegisterFonts####IDS_ACTIONTEXT_Font##RegisterMIMEInfo##IDS_ACTIONTEXT_RegisterMimeInfo####IDS_ACTIONTEXT_ContentTypeExtension##RegisterProduct##IDS_ACTIONTEXT_RegisteringProduct####IDS_ACTIONTEXT_1b##RegisterProgIdInfo##IDS_ACTIONTEXT_RegisteringProgIdentifiers####IDS_ACTIONTEXT_ProgID2##RegisterTypeLibraries##IDS_ACTIONTEXT_RegisterTypeLibs####IDS_ACTIONTEXT_LibId##RegisterUser##IDS_ACTIONTEXT_RegUser####IDS_ACTIONTEXT_1c##RemoveDuplicateFiles##IDS_ACTIONTEXT_RemovingDuplicates####IDS_ACTIONTEXT_FileDir##RemoveEnvironmentStrings##IDS_ACTIONTEXT_UpdateEnvironmentStrings####IDS_ACTIONTEXT_NameValueAction2##RemoveExistingProducts##IDS_ACTIONTEXT_RemoveApps####IDS_ACTIONTEXT_AppCommandLine##RemoveFiles##IDS_ACTIONTEXT_RemovingFiles####IDS_ACTIONTEXT_FileDir2##RemoveFolders##IDS_ACTIONTEXT_RemovingFolders####IDS_ACTIONTEXT_Folder1##RemoveIniValues##IDS_ACTIONTEXT_RemovingIni####IDS_ACTIONTEXT_FileSectionKeyValue##RemoveODBC##IDS_ACTIONTEXT_RemovingODBC## - RemoveRegistryValues##IDS_ACTIONTEXT_RemovingRegistry####IDS_ACTIONTEXT_KeyName##RemoveShortcuts##IDS_ACTIONTEXT_RemovingShortcuts####IDS_ACTIONTEXT_Shortcut1##Rollback##IDS_ACTIONTEXT_RollingBack####IDS_ACTIONTEXT_1d##RollbackCleanup##IDS_ACTIONTEXT_RemovingBackup####IDS_ACTIONTEXT_File2##SelfRegModules##IDS_ACTIONTEXT_RegisteringModules####IDS_ACTIONTEXT_FileFolder##SelfUnregModules##IDS_ACTIONTEXT_UnregisterModules####IDS_ACTIONTEXT_FileFolder2##SetODBCFolders##IDS_ACTIONTEXT_InitializeODBCDirs## - StartServices##IDS_ACTIONTEXT_StartingServices####IDS_ACTIONTEXT_Service3##StopServices##IDS_ACTIONTEXT_StoppingServices####IDS_ACTIONTEXT_Service4##UnmoveFiles##IDS_ACTIONTEXT_RemovingMoved####IDS_ACTIONTEXT_FileDir3##UnpublishComponents##IDS_ACTIONTEXT_UnpublishQualified####IDS_ACTIONTEXT_ComponentIdQualifier2##UnpublishFeatures##IDS_ACTIONTEXT_UnpublishProductFeatures####IDS_ACTIONTEXT_Feature##UnpublishProduct##IDS_ACTIONTEXT_UnpublishingProductInfo## - UnregisterClassInfo##IDS_ACTIONTEXT_UnregisterClassServers####IDS_ACTIONTEXT_ClsID##UnregisterComPlus##IDS_ACTIONTEXT_UnregisteringComPlus####IDS_ACTIONTEXT_AppId##UnregisterExtensionInfo##IDS_ACTIONTEXT_UnregisterExtensionServers####IDS_ACTIONTEXT_Extension##UnregisterFonts##IDS_ACTIONTEXT_UnregisteringFonts####IDS_ACTIONTEXT_Font2##UnregisterMIMEInfo##IDS_ACTIONTEXT_UnregisteringMimeInfo####IDS_ACTIONTEXT_ContentTypeExtension2##UnregisterProgIdInfo##IDS_ACTIONTEXT_UnregisteringProgramIds####IDS_ACTIONTEXT_ProgID##UnregisterTypeLibraries##IDS_ACTIONTEXT_UnregTypeLibs####IDS_ACTIONTEXT_Libid2##WriteEnvironmentStrings##IDS_ACTIONTEXT_EnvironmentStrings####IDS_ACTIONTEXT_NameValueAction##WriteIniValues##IDS_ACTIONTEXT_WritingINI####IDS_ACTIONTEXT_FileSectionKeyValue2##WriteRegistryValues##IDS_ACTIONTEXT_WritingRegistry####IDS_ACTIONTEXT_KeyNameValue##
- - - Action - Condition - Sequence - ISComments - ISAttributes -
CostFinalize1000CostFinalize - CostInitialize800CostInitialize - FileCost900FileCost - InstallAdminPackage3900InstallAdminPackage - InstallFiles4000InstallFiles - InstallFinalize6600InstallFinalize - InstallInitialize1500InstallInitialize - InstallValidate1400InstallValidate - ScheduleRebootISSCHEDULEREBOOT4010ScheduleReboot -
- - - Action - Condition - Sequence - ISComments - ISAttributes -
AdminWelcome1010AdminWelcome - CostFinalize1000CostFinalize - CostInitialize800CostInitialize - ExecuteAction1300ExecuteAction - FileCost900FileCost - SetupCompleteError-3SetupCompleteError - SetupCompleteSuccess-1SetupCompleteSuccess - SetupInitialization50SetupInitialization - SetupInterrupted-2SetupInterrupted - SetupProgress1020SetupProgress -
- - - Action - Condition - Sequence - ISComments - ISAttributes -
CostFinalize1000CostFinalize - CostInitialize800CostInitialize - CreateShortcuts4500CreateShortcuts - InstallFinalize6600InstallFinalize - InstallInitialize1500InstallInitialize - InstallValidate1400InstallValidate - MsiPublishAssemblies6250MsiPublishAssemblies - PublishComponents6200PublishComponents - PublishFeatures6300PublishFeatures - PublishProduct6400PublishProduct - RegisterClassInfo4600RegisterClassInfo - RegisterExtensionInfo4700RegisterExtensionInfo - RegisterMIMEInfo4900RegisterMIMEInfo - RegisterProgIdInfo4800RegisterProgIdInfo - RegisterTypeLibraries4910RegisterTypeLibraries - ScheduleRebootISSCHEDULEREBOOT6410ScheduleReboot -
- - - Action - Condition - Sequence - ISComments - ISAttributes -
- - - AppId - RemoteServerName - LocalService - ServiceParameters - DllSurrogate - ActivateAtStorage - RunAsInteractiveUser -
- - - Property - Signature_ -
- - - Billboard_ - BBControl - Type - X - Y - Width - Height - Attributes - Text -
- - - Billboard - Feature_ - Action - Ordering -
- - - Name - Data - ISBuildSourcePath - - - - - - - - - - - - - - - - - - - - - -
ISExpHlp.dll<ISRedistPlatformDependentFolder>\ISExpHlp.dllISSELFREG.DLL<ISRedistPlatformDependentFolder>\isregsvr.dllNewBinary1<ISProductFolder>\Support\Themes\InstallShield Blue Theme\banner.jpgNewBinary10<ISProductFolder>\Redist\Language Independent\OS Independent\CompleteSetupIco.ibdNewBinary11<ISProductFolder>\Redist\Language Independent\OS Independent\CustomSetupIco.ibdNewBinary12<ISProductFolder>\Redist\Language Independent\OS Independent\DestIcon.ibdNewBinary13<ISProductFolder>\Redist\Language Independent\OS Independent\NetworkInstall.icoNewBinary14<ISProductFolder>\Redist\Language Independent\OS Independent\DontInstall.icoNewBinary15<ISProductFolder>\Redist\Language Independent\OS Independent\Install.icoNewBinary16<ISProductFolder>\Redist\Language Independent\OS Independent\InstallFirstUse.icoNewBinary17<ISProductFolder>\Redist\Language Independent\OS Independent\InstallPartial.icoNewBinary18<ISProductFolder>\Redist\Language Independent\OS Independent\InstallStateMenu.icoNewBinary2<ISProductFolder>\Redist\Language Independent\OS Independent\New.ibdNewBinary3<ISProductFolder>\Redist\Language Independent\OS Independent\Up.ibdNewBinary4<ISProductFolder>\Redist\Language Independent\OS Independent\WarningIcon.ibdNewBinary5<ISProductFolder>\Support\Themes\InstallShield Blue Theme\welcome.jpgNewBinary6<ISProductFolder>\Redist\Language Independent\OS Independent\CustomSetupIco.ibdNewBinary7<ISProductFolder>\Redist\Language Independent\OS Independent\ReinstIco.ibdNewBinary8<ISProductFolder>\Redist\Language Independent\OS Independent\RemoveIco.ibdNewBinary9<ISProductFolder>\Redist\Language Independent\OS Independent\SetupIcon.ibdSetAllUsers.dll<ISRedistPlatformDependentFolder>\SetAllUsers.dll
- - - File_ - Path -
- - - Signature_ -
- - - Property - Value - - - -
ISCHECKFORPRODUCTUPDATES1LAUNCHPROGRAM1LAUNCHREADME1
- - - CLSID - Context - Component_ - ProgId_Default - Description - AppId_ - FileTypeMask - Icon_ - IconIndex - DefInprocHandler - Argument - Feature_ - Attributes -
- - - Property - Order - Value - Text -
- - - Signature_ - ComponentId - Type -
- - - Component_ - ExpType -
- - - Component - ComponentId - Directory_ - Attributes - Condition - KeyPath - ISAttributes - ISComments - ISScanAtBuildFile - ISRegFileToMergeAtBuild - ISDotNetInstallerArgsInstall - ISDotNetInstallerArgsCommit - ISDotNetInstallerArgsUninstall - ISDotNetInstallerArgsRollback - - - - - - -
Driver.Primary_Output{5204EBED-0C2D-42E6-A263-05882561C7A2}INSTALLDIR258driver.primary_output17/LogFile=/LogFile=/LogFile=/LogFile=ISX_DEFAULTCOMPONENT{9806D254-29D4-494C-A795-09140E548EA6}ProgramFiles64Folder217/LogFile=/LogFile=/LogFile=/LogFile=ISX_DEFAULTCOMPONENT1{56A2C727-C742-4136-B85C-4514B22712EA}INSTALLDIR25817/LogFile=/LogFile=/LogFile=/LogFile=ISX_DEFAULTCOMPONENT2{163E96A1-9F46-4929-9654-D397527601B1}EBAY125817/LogFile=/LogFile=/LogFile=/LogFile=ISX_DEFAULTCOMPONENT5{21148F8E-655E-4192-AEA8-C1ED9429592A}INSTALLDIR25817/LogFile=/LogFile=/LogFile=/LogFile=ISX_DEFAULTCOMPONENT8{5A4A395F-20F6-4E32-89A3-2C5C7D390DD5}DATABASEDIR25817/LogFile=/LogFile=/LogFile=/LogFile=
- - - Feature_ - Level - Condition -
- - - Dialog_ - Control - Type - X - Y - Width - Height - Attributes - Property - Text - Control_Next - Help - ISWindowStyle - ISControlId - ISBuildSourcePath - Binary_ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AdminChangeFolderBannerBitmap003744410NewBinary1AdminChangeFolderBannerLineLine044374010 - AdminChangeFolderBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 - AdminChangeFolderBranding2Text3228501365537##IDS_INSTALLSHIELD##0 - AdminChangeFolderCancelPushButton30124366173##IDS_CANCEL##ComboText0 - AdminChangeFolderComboDirectoryCombo216427780458755TARGETDIR##IDS__IsAdminInstallBrowse_4##Up0 - AdminChangeFolderComboTextText215099143##IDS__IsAdminInstallBrowse_LookIn##Combo0 - AdminChangeFolderDlgDescText21232922565539##IDS__IsAdminInstallBrowse_BrowseDestination##0 - AdminChangeFolderDlgLineLine48234326010 - AdminChangeFolderDlgTitleText1362922565539##IDS__IsAdminInstallBrowse_ChangeDestination##0 - AdminChangeFolderListDirectoryList2190332977TARGETDIR##IDS__IsAdminInstallBrowse_8##TailText0 - AdminChangeFolderNewFolderPushButton3356619193670019List##IDS__IsAdminInstallBrowse_CreateFolder##0NewBinary2AdminChangeFolderOKPushButton23024366173##IDS_OK##Cancel0 - AdminChangeFolderTailPathEdit21207332173TARGETDIR##IDS__IsAdminInstallBrowse_11##OK0 - AdminChangeFolderTailTextText2119399133##IDS__IsAdminInstallBrowse_FolderName##Tail0 - AdminChangeFolderUpPushButton3106619193670019NewFolder##IDS__IsAdminInstallBrowse_UpOneLevel##0NewBinary3AdminNetworkLocationBackPushButton16424366173##IDS_BACK##InstallNow0 - AdminNetworkLocationBannerBitmap003744410NewBinary1AdminNetworkLocationBannerLineLine044374010 - AdminNetworkLocationBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 - AdminNetworkLocationBranding2Text3228501365537##IDS_INSTALLSHIELD##0 - AdminNetworkLocationBrowsePushButton28612466173##IDS__IsAdminInstallPoint_Change##Back0 - AdminNetworkLocationCancelPushButton30124366173##IDS_CANCEL##SetupPathEdit0 - AdminNetworkLocationDlgDescText21232922565539##IDS__IsAdminInstallPoint_SpecifyNetworkLocation##0 - AdminNetworkLocationDlgLineLine48234326010 - AdminNetworkLocationDlgTextText215132640131075##IDS__IsAdminInstallPoint_EnterNetworkLocation##0 - AdminNetworkLocationDlgTitleText1362922565539##IDS__IsAdminInstallPoint_NetworkLocationFormatted##0 - AdminNetworkLocationInstallNowPushButton23024366173##IDS__IsAdminInstallPoint_Install##Cancel0 - AdminNetworkLocationLBBrowseText2190100103##IDS__IsAdminInstallPoint_NetworkLocation##0 - AdminNetworkLocationSetupPathEditPathEdit21102330173TARGETDIRBrowse0 - AdminWelcomeBackPushButton16424366171##IDS_BACK##Next0 - AdminWelcomeCancelPushButton30124366173##IDS_CANCEL##Back0 - AdminWelcomeDlgLineLine0234326010 - AdminWelcomeImageBitmap0037423410NewBinary5AdminWelcomeNextPushButton23024366173##IDS_NEXT##Cancel0 - AdminWelcomeTextLine1Text135822545196611##IDS__IsAdminInstallPointWelcome_Wizard##0 - AdminWelcomeTextLine2Text1355522845196611##IDS__IsAdminInstallPointWelcome_ServerImage##0 - CancelSetupIconIcon1515242452428810NewBinary4CancelSetupNoPushButton1355766173##IDS__IsCancelDlg_No##Yes0 - CancelSetupTextText481519430131075##IDS__IsCancelDlg_ConfirmCancel##0 - CancelSetupYesPushButton625766173##IDS__IsCancelDlg_Yes##No0 - CustomSetupBackPushButton16424366173##IDS_BACK##Next0 - CustomSetupBannerBitmap003744410NewBinary1CustomSetupBannerLineLine044374010 - CustomSetupBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 - CustomSetupBranding2Text3228501365537##IDS_INSTALLSHIELD##0 - CustomSetupCancelPushButton30124366173##IDS_CANCEL##Tree0 - CustomSetupChangeFolderPushButton30120366173##IDS__IsCustomSelectionDlg_Change##Help0 - CustomSetupDetailsPushButton9324366173##IDS__IsCustomSelectionDlg_Space##Back0 - CustomSetupDlgDescText17232922565539##IDS__IsCustomSelectionDlg_SelectFeatures##0 - CustomSetupDlgLineLine48234326010 - CustomSetupDlgTextText951360103##IDS__IsCustomSelectionDlg_ClickFeatureIcon##0 - CustomSetupDlgTitleText962922565539##IDS__IsCustomSelectionDlg_CustomSetup##0 - CustomSetupFeatureGroupGroupBox235671311201##IDS__IsCustomSelectionDlg_FeatureDescription##0 - CustomSetupHelpPushButton2224366173##IDS__IsCustomSelectionDlg_Help##Details0 - CustomSetupInstallLabelText8190360103##IDS__IsCustomSelectionDlg_InstallTo##0 - CustomSetupItemDescriptionText24180120503##IDS__IsCustomSelectionDlg_MultilineDescription##0 - CustomSetupLocationText8203291203##IDS__IsCustomSelectionDlg_FeaturePath##0 - CustomSetupNextPushButton23024366173##IDS_NEXT##Cancel0 - CustomSetupSizeText241133120503##IDS__IsCustomSelectionDlg_FeatureSize##0 - CustomSetupTreeSelectionTree8702201187_BrowsePropertyChangeFolder0 - CustomSetupTipsBannerBitmap003744410NewBinary1CustomSetupTipsBannerLineLine044374010 - CustomSetupTipsBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 - CustomSetupTipsBranding2Text3228501365537##IDS_INSTALLSHIELD##0 - CustomSetupTipsDlgDescText21232922565539##IDS_SetupTips_CustomSetupDescription##0 - CustomSetupTipsDlgLineLine48234326010 - CustomSetupTipsDlgTitleText1362922565539##IDS_SetupTips_CustomSetup##0 - CustomSetupTipsDontInstallIcon21155242452428810NewBinary14CustomSetupTipsDontInstallTextText60155300203##IDS_SetupTips_WillNotBeInstalled##0 - CustomSetupTipsFirstInstallTextText60180300203##IDS_SetupTips_Advertise##0 - CustomSetupTipsInstallIcon21105242452428810NewBinary15CustomSetupTipsInstallFirstUseIcon21180242452428810NewBinary16CustomSetupTipsInstallPartialIcon21130242452428810NewBinary17CustomSetupTipsInstallStateMenuIcon2152242452428810NewBinary18CustomSetupTipsInstallStateTextText2191300103##IDS_SetupTips_InstallState##00 - CustomSetupTipsInstallTextText60105300203##IDS_SetupTips_AllInstalledLocal##0 - CustomSetupTipsMenuTextText5052300363##IDS_SetupTips_IconInstallState##0 - CustomSetupTipsNetworkInstallIcon21205242452428810NewBinary13CustomSetupTipsNetworkInstallTextText60205300203##IDS_SetupTips_Network##0 - CustomSetupTipsOKPushButton30124366173##IDS_SetupTips_OK##0 - CustomSetupTipsPartialTextText60130300203##IDS_SetupTips_SubFeaturesInstalledLocal##0 - CustomerInformationBackPushButton16424366173##IDS_BACK##Next0 - CustomerInformationBannerBitmap003744410NewBinary1CustomerInformationBannerLineLine044374010 - CustomerInformationBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 - CustomerInformationBranding2Text3228501365537##IDS_INSTALLSHIELD##0 - CustomerInformationCancelPushButton30124366173##IDS_CANCEL##NameLabel0 - CustomerInformationCompanyEditEdit21100237173COMPANYNAME##IDS__IsRegisterUserDlg_Tahoma80##SerialLabel0 - CustomerInformationCompanyLabelText218975103##IDS__IsRegisterUserDlg_Organization##CompanyEdit0 - CustomerInformationDlgDescText21232922565539##IDS__IsRegisterUserDlg_PleaseEnterInfo##0 - CustomerInformationDlgLineLine48234326010 - CustomerInformationDlgRadioGroupTextText21161300142##IDS__IsRegisterUserDlg_InstallFor##0 - CustomerInformationDlgTitleText1362922565539##IDS__IsRegisterUserDlg_CustomerInformation##0 - CustomerInformationNameEditEdit2163237173USERNAME##IDS__IsRegisterUserDlg_Tahoma50##CompanyLabel0 - CustomerInformationNameLabelText215275103##IDS__IsRegisterUserDlg_UserName##NameEdit0 - CustomerInformationNextPushButton23024366173##IDS_NEXT##Cancel0 - CustomerInformationRadioGroupRadioButtonGroup63170300502ApplicationUsers##IDS__IsRegisterUserDlg_16##Back0 - CustomerInformationSerialLabelText21127109102##IDS__IsRegisterUserDlg_SerialNumber##SerialNumber0 - CustomerInformationSerialNumberMaskedEdit21138237172ISX_SERIALNUMRadioGroup0 - DatabaseFolderBackPushButton16424366173##IDS_BACK##Next0 - DatabaseFolderBannerBitmap003744410NewBinary1DatabaseFolderBannerLineLine044374010 - DatabaseFolderBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 - DatabaseFolderBranding2Text3228501365537##IDS_INSTALLSHIELD##0 - DatabaseFolderCancelPushButton30124366173##IDS_CANCEL##ChangeFolder0 - DatabaseFolderChangeFolderPushButton3016566173##IDS_CHANGE##Back0 - DatabaseFolderDatabaseFolderIcon2152242452428810NewBinary12DatabaseFolderDlgDescText21232922565539##IDS__DatabaseFolder_ChangeFolder##0 - DatabaseFolderDlgLineLine48234326010 - DatabaseFolderDlgTitleText1362922565539##IDS__DatabaseFolder_DatabaseFolder##0 - DatabaseFolderLocLabelText575229010131075##IDS_DatabaseFolder_InstallDatabaseTo##0 - DatabaseFolderLocationText5765240403_BrowseProperty##IDS__DatabaseFolder_DatabaseDir##0 - DatabaseFolderNextPushButton23024366173##IDS_NEXT##Cancel0 - DestinationFolderBackPushButton16424366173##IDS_BACK##Next0 - DestinationFolderBannerBitmap003744410NewBinary1DestinationFolderBannerLineLine044374010 - DestinationFolderBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 - DestinationFolderBranding2Text3228501365537##IDS_INSTALLSHIELD##0 - DestinationFolderCancelPushButton30124366173##IDS_CANCEL##ChangeFolder0 - DestinationFolderChangeFolderPushButton3016566173##IDS__DestinationFolder_Change##Back0 - DestinationFolderDestFolderIcon2152242452428810NewBinary12DestinationFolderDlgDescText21232922565539##IDS__DestinationFolder_ChangeFolder##0 - DestinationFolderDlgLineLine48234326010 - DestinationFolderDlgTitleText1362922565539##IDS__DestinationFolder_DestinationFolder##0 - DestinationFolderLocLabelText575229010131075##IDS__DestinationFolder_InstallTo##0 - DestinationFolderLocationText5765240403_BrowseProperty##IDS_INSTALLDIR##0 - DestinationFolderNextPushButton23024366173##IDS_NEXT##Cancel0 - DiskSpaceRequirementsBannerBitmap003744410NewBinary1DiskSpaceRequirementsBannerLineLine044374010 - DiskSpaceRequirementsBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 - DiskSpaceRequirementsBranding2Text3228501365537##IDS_INSTALLSHIELD##0 - DiskSpaceRequirementsDlgDescText17232922565539##IDS__IsFeatureDetailsDlg_SpaceRequired##0 - DiskSpaceRequirementsDlgLineLine48234326010 - DiskSpaceRequirementsDlgTextText10185358413##IDS__IsFeatureDetailsDlg_VolumesTooSmall##0 - DiskSpaceRequirementsDlgTitleText962922565539##IDS__IsFeatureDetailsDlg_DiskSpaceRequirements##0 - DiskSpaceRequirementsListVolumeCostList855358125393223##IDS__IsFeatureDetailsDlg_Numbers##0 - DiskSpaceRequirementsOKPushButton30124366173##IDS__IsFeatureDetailsDlg_OK##0 - FilesInUseBannerBitmap003744410NewBinary1FilesInUseBannerLineLine044374010 - FilesInUseBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 - FilesInUseBranding2Text3228501365537##IDS_INSTALLSHIELD##0 - FilesInUseDlgDescText21232922565539##IDS__IsFilesInUse_FilesInUseMessage##0 - FilesInUseDlgLineLine48234326010 - FilesInUseDlgTextText2151348333##IDS__IsFilesInUse_ApplicationsUsingFiles##0 - FilesInUseDlgTitleText1362922565539##IDS__IsFilesInUse_FilesInUse##0 - FilesInUseExitPushButton30124366173##IDS__IsFilesInUse_Exit##List0 - FilesInUseIgnorePushButton23024366173##IDS__IsFilesInUse_Ignore##Exit0 - FilesInUseListListBox21873311357FileInUseProcessRetry0 - FilesInUseRetryPushButton16424366173##IDS__IsFilesInUse_Retry##Ignore0 - InstallChangeFolderBannerBitmap003744410NewBinary1InstallChangeFolderBannerLineLine044374010 - InstallChangeFolderBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 - InstallChangeFolderBranding2Text3228501365537##IDS_INSTALLSHIELD##0 - InstallChangeFolderCancelPushButton30124366173##IDS_CANCEL##ComboText0 - InstallChangeFolderComboDirectoryCombo2164277804128779_BrowseProperty##IDS__IsBrowseFolderDlg_4##Up0 - InstallChangeFolderComboTextText215099143##IDS__IsBrowseFolderDlg_LookIn##Combo0 - InstallChangeFolderDlgDescText21232922565539##IDS__IsBrowseFolderDlg_BrowseDestFolder##0 - InstallChangeFolderDlgLineLine48234326010 - InstallChangeFolderDlgTitleText1362922565539##IDS__IsBrowseFolderDlg_ChangeCurrentFolder##0 - InstallChangeFolderListDirectoryList21903329715_BrowseProperty##IDS__IsBrowseFolderDlg_8##TailText0 - InstallChangeFolderNewFolderPushButton3356619193670019List##IDS__IsBrowseFolderDlg_CreateFolder##0NewBinary2InstallChangeFolderOKPushButton23024366173##IDS__IsBrowseFolderDlg_OK##Cancel0 - InstallChangeFolderTailPathEdit212073321715_BrowseProperty##IDS__IsBrowseFolderDlg_11##OK0 - InstallChangeFolderTailTextText2119399133##IDS__IsBrowseFolderDlg_FolderName##Tail0 - InstallChangeFolderUpPushButton3106619193670019NewFolder##IDS__IsBrowseFolderDlg_UpOneLevel##0NewBinary3InstallWelcomeBackPushButton16424366171##IDS_BACK##Copyright0 - InstallWelcomeCancelPushButton30124366173##IDS_CANCEL##Back0 - InstallWelcomeCopyrightText1351442287365539##IDS__IsWelcomeDlg_WarningCopyright##Next0 - InstallWelcomeDlgLineLine0234374010 - InstallWelcomeImageBitmap0037423410NewBinary5InstallWelcomeNextPushButton23024366173##IDS_NEXT##Cancel0 - InstallWelcomeTextLine1Text135822545196611##IDS__IsWelcomeDlg_WelcomeProductName##0 - InstallWelcomeTextLine2Text1355522845196611##IDS__IsWelcomeDlg_InstallProductName##0 - LicenseAgreementAgreeRadioButtonGroup8190291403AgreeToLicenseBack0 - LicenseAgreementBackPushButton16424366173##IDS_BACK##Next0 - LicenseAgreementBannerBitmap003744410NewBinary1LicenseAgreementBannerLineLine044374010 - LicenseAgreementBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 - LicenseAgreementBranding2Text3228501365537##IDS_INSTALLSHIELD##0 - LicenseAgreementCancelPushButton30124366173##IDS_CANCEL##ISPrintButton0 - LicenseAgreementDlgDescText21232922565539##IDS__IsLicenseDlg_ReadLicenseAgreement##0 - LicenseAgreementDlgLineLine48234326010 - LicenseAgreementDlgTitleText1362922565539##IDS__IsLicenseDlg_LicenseAgreement##0 - LicenseAgreementISPrintButtonPushButton30118865173##IDS_PRINT_BUTTON##Agree0 - LicenseAgreementMemoScrollableText85535813070<ISProductFolder>\Redist\0409\Eula.rtf - LicenseAgreementNextPushButton23024366173##IDS_NEXT##Cancel0 - MaintenanceTypeBackPushButton16424366173##IDS_BACK##Next0 - MaintenanceTypeBannerBitmap003744410NewBinary1MaintenanceTypeBannerLineLine044374010 - MaintenanceTypeBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 - MaintenanceTypeBranding2Text3228501365537##IDS_INSTALLSHIELD##0 - MaintenanceTypeCancelPushButton30124366173##IDS_CANCEL##RadioGroup0 - MaintenanceTypeDlgDescText21232922565539##IDS__IsMaintenanceDlg_MaitenanceOptions##0 - MaintenanceTypeDlgLineLine48234326010 - MaintenanceTypeDlgTitleText1362922565539##IDS__IsMaintenanceDlg_ProgramMaintenance##0 - MaintenanceTypeIco1Icon3575242452428810NewBinary6MaintenanceTypeIco2Icon35135242452428810NewBinary7MaintenanceTypeIco3Icon35195242452428810NewBinary8MaintenanceTypeNextPushButton23024366173##IDS_NEXT##Cancel0 - MaintenanceTypeRadioGroupRadioButtonGroup21552901703_IsMaintenanceBack0 - MaintenanceTypeText1Text8072260353##IDS__IsMaintenanceDlg_ChangeFeatures##0 - MaintenanceTypeText2Text80135260353##IDS__IsMaintenanceDlg_RepairMessage##0 - MaintenanceTypeText3Text8019226035131075##IDS__IsMaintenanceDlg_RemoveProductName##0 - MaintenanceWelcomeBackPushButton16424366171##IDS_BACK##Next0 - MaintenanceWelcomeCancelPushButton30124366173##IDS_CANCEL##Back0 - MaintenanceWelcomeDlgLineLine0234374010 - MaintenanceWelcomeImageBitmap0037423410NewBinary5MaintenanceWelcomeNextPushButton23024366173##IDS_NEXT##Cancel0 - MaintenanceWelcomeTextLine1Text135822545196611##IDS__IsMaintenanceWelcome_WizardWelcome##0 - MaintenanceWelcomeTextLine2Text1355522850196611##IDS__IsMaintenanceWelcome_MaintenanceOptionsDescription##0 - MsiRMFilesInUseBannerBitmap003744410NewBinary1MsiRMFilesInUseBannerLineLine044374010 - MsiRMFilesInUseBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 - MsiRMFilesInUseBranding2Text3228501365537##IDS_INSTALLSHIELD##0 - MsiRMFilesInUseCancelPushButton30124366173##IDS_CANCEL##Restart0 - MsiRMFilesInUseDlgDescText21232922565539##IDS__IsFilesInUse_FilesInUseMessage##0 - MsiRMFilesInUseDlgLineLine48234326010 - MsiRMFilesInUseDlgTextText2151348143##IDS__IsMsiRMFilesInUse_ApplicationsUsingFiles##0 - MsiRMFilesInUseDlgTitleText1362922565539##IDS__IsFilesInUse_FilesInUse##0 - MsiRMFilesInUseListListBox21663311303FileInUseProcessOK0 - MsiRMFilesInUseOKPushButton23024366173##IDS_OK##Cancel0 - MsiRMFilesInUseRestartRadioButtonGroup19187343403RestartManagerOptionList0 - OutOfSpaceBannerBitmap003744410NewBinary1OutOfSpaceBannerLineLine044374010 - OutOfSpaceBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 - OutOfSpaceBranding2Text3228501365537##IDS_INSTALLSHIELD##0 - OutOfSpaceDlgDescText21232922565539##IDS__IsDiskSpaceDlg_DiskSpace##0 - OutOfSpaceDlgLineLine48234326010 - OutOfSpaceDlgTextText2151326433##IDS__IsDiskSpaceDlg_HighlightedVolumes##0 - OutOfSpaceDlgTitleText1362922565539##IDS__IsDiskSpaceDlg_OutOfDiskSpace##0 - OutOfSpaceListVolumeCostList2195332120393223##IDS__IsDiskSpaceDlg_Numbers##0 - OutOfSpaceResumePushButton30124366173##IDS__IsDiskSpaceDlg_OK##0 - PatchWelcomeBackPushButton16424366171##IDS_BACK##Next0 - PatchWelcomeCancelPushButton30124366173##IDS_CANCEL##Back0 - PatchWelcomeDlgLineLine0234374010 - PatchWelcomeImageBitmap0037423410NewBinary5PatchWelcomeNextPushButton23024366173##IDS__IsPatchDlg_Update##Cancel0 - PatchWelcomeTextLine1Text135822545196611##IDS__IsPatchDlg_WelcomePatchWizard##0 - PatchWelcomeTextLine2Text1355422845196611##IDS__IsPatchDlg_PatchClickUpdate##0 - ReadmeInformationBackPushButton16424366171048579##IDS_BACK##Next0 - ReadmeInformationBannerBitmap00374443DlgTitle0NewBinary1ReadmeInformationBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##00 - ReadmeInformationBranding2Text3228501365537##IDS_INSTALLSHIELD##00 - ReadmeInformationCancelPushButton30124366171048579##IDS__IsReadmeDlg_Cancel##Readme0 - ReadmeInformationDlgDescText21232321665539##IDS__IsReadmeDlg_PleaseReadInfo##Back00 - ReadmeInformationDlgLineLine482343260300 - ReadmeInformationDlgTitleText1361931365539##IDS__IsReadmeDlg_ReadMeInfo##DlgDesc0 - ReadmeInformationNextPushButton23024366171048579##IDS_NEXT##Cancel0 - ReadmeInformationReadmeScrollableText10553531663Banner0<ISProductFolder>\Redist\0409\Readme.rtf - ReadyToInstallBackPushButton16424366173##IDS_BACK##GroupBox10 - ReadyToInstallBannerBitmap003744410NewBinary1ReadyToInstallBannerLineLine044374010 - ReadyToInstallBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 - ReadyToInstallBranding2Text3228501365537##IDS_INSTALLSHIELD##0 - ReadyToInstallCancelPushButton30124366173##IDS_CANCEL##Back0 - ReadyToInstallCompanyNameTextText3819821193##IDS__IsVerifyReadyDlg_Company##SerialNumberText0 - ReadyToInstallCurrentSettingsTextText198081103##IDS__IsVerifyReadyDlg_CurrentSettings##InstallNow0 - ReadyToInstallDlgDescText21232922565539##IDS__IsVerifyReadyDlg_WizardReady##0 - ReadyToInstallDlgLineLine482343260100 - ReadyToInstallDlgText1Text2154330243##IDS__IsVerifyReadyDlg_BackOrCancel##0 - ReadyToInstallDlgText2Text2199330202##IDS__IsRegisterUserDlg_InstallFor##0 - ReadyToInstallDlgTitleText1362922565538##IDS__IsVerifyReadyDlg_ModifyReady##0 - ReadyToInstallDlgTitle2Text1362922565538##IDS__IsVerifyReadyDlg_ReadyRepair##0 - ReadyToInstallDlgTitle3Text1362922565538##IDS__IsVerifyReadyDlg_ReadyInstall##0 - ReadyToInstallGroupBox1Text199233013365541SetupTypeText10 - ReadyToInstallInstallNowPushButton23024366178388611##IDS__IsVerifyReadyDlg_Install##InstallPerMachine0 - ReadyToInstallInstallPerMachinePushButton63123248178388610##IDS__IsRegisterUserDlg_Anyone##InstallPerUser0 - ReadyToInstallInstallPerUserPushButton63143248172##IDS__IsRegisterUserDlg_OnlyMe##Cancel0 - ReadyToInstallSerialNumberTextText3821130693##IDS__IsVerifyReadyDlg_Serial##CurrentSettingsText0 - ReadyToInstallSetupTypeText1Text2397306133##IDS__IsVerifyReadyDlg_SetupType##SetupTypeText20 - ReadyToInstallSetupTypeText2Text37114306143##IDS__IsVerifyReadyDlg_SelectedSetupType##TargetFolderText10 - ReadyToInstallTargetFolderText1Text24136306113##IDS__IsVerifyReadyDlg_DestFolder##TargetFolderText20 - ReadyToInstallTargetFolderText2Text37151306133##IDS__IsVerifyReadyDlg_Installdir##UserInformationText0 - ReadyToInstallUserInformationTextText23171306133##IDS__IsVerifyReadyDlg_UserInfo##UserNameText0 - ReadyToInstallUserNameTextText3818430693##IDS__IsVerifyReadyDlg_UserName##CompanyNameText0 - ReadyToRemoveBackPushButton16424366173##IDS_BACK##RemoveNow0 - ReadyToRemoveBannerBitmap003744410NewBinary1ReadyToRemoveBannerLineLine044374010 - ReadyToRemoveBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 - ReadyToRemoveBranding2Text3228501365537##IDS_INSTALLSHIELD##0 - ReadyToRemoveCancelPushButton30124366173##IDS_CANCEL##Back0 - ReadyToRemoveDlgDescText21232922565539##IDS__IsVerifyRemoveAllDlg_ChoseRemoveProgram##0 - ReadyToRemoveDlgLineLine48234326010 - ReadyToRemoveDlgTextText215132624131075##IDS__IsVerifyRemoveAllDlg_ClickRemove##0 - ReadyToRemoveDlgText1Text2179330233##IDS__IsVerifyRemoveAllDlg_ClickBack##0 - ReadyToRemoveDlgText2Text211023302430 - ReadyToRemoveDlgTitleText1362922565539##IDS__IsVerifyRemoveAllDlg_RemoveProgram##0 - ReadyToRemoveRemoveNowPushButton23024366178388611##IDS__IsVerifyRemoveAllDlg_Remove##Cancel0 - SetupCompleteErrorBackPushButton16424366171##IDS_BACK##Finish0 - SetupCompleteErrorCancelPushButton30124366171##IDS_CANCEL##Back0 - SetupCompleteErrorCheckShowMsiLogCheckBox1511721092ISSHOWMSILOGCancel0 - SetupCompleteErrorDlgLineLine0234374010 - SetupCompleteErrorFinishPushButton23024366173##IDS__IsFatalError_Finish##Image0 - SetupCompleteErrorFinishText1Text135802285065539##IDS__IsFatalError_NotModified##0 - SetupCompleteErrorFinishText2Text1351352282565539##IDS__IsFatalError_ClickFinish##0 - SetupCompleteErrorImageBitmap003742341CheckShowMsiLog0NewBinary5SetupCompleteErrorRestContText1Text135802285065539##IDS__IsFatalError_KeepOrRestore##0 - SetupCompleteErrorRestContText2Text1351352282565539##IDS__IsFatalError_RestoreOrContinueLater##0 - SetupCompleteErrorShowMsiLogTextText1641721981065538##IDS__IsSetupComplete_ShowMsiLog##0 - SetupCompleteErrorTextLine1Text13582254565539##IDS__IsFatalError_WizardCompleted##0 - SetupCompleteErrorTextLine2Text1355522825196611##IDS__IsFatalError_WizardInterrupted##0 - SetupCompleteSuccessBackPushButton16424366171##IDS_BACK##OK0 - SetupCompleteSuccessCancelPushButton30124366171##IDS_CANCEL##Image0 - SetupCompleteSuccessCheckBoxUpdatesCheckBox1351641092ISCHECKFORPRODUCTUPDATESCheckBox1CheckShowMsiLog0 - SetupCompleteSuccessCheckForUpdatesTextText1521621903065538##IDS__IsExitDialog_Update_YesCheckForUpdates##0 - SetupCompleteSuccessCheckLaunchProgramCheckBox1511141092LAUNCHPROGRAMCheckLaunchReadme0 - SetupCompleteSuccessCheckLaunchReadmeCheckBox1511481092LAUNCHREADMECheckBoxUpdates0 - SetupCompleteSuccessCheckShowMsiLogCheckBox1511821092ISSHOWMSILOGBack0 - SetupCompleteSuccessDlgLineLine0234374010 - SetupCompleteSuccessImageBitmap003742341CheckLaunchProgram0NewBinary5SetupCompleteSuccessLaunchProgramTextText164112981565538##IDS__IsExitDialog_LaunchProgram##00 - SetupCompleteSuccessLaunchReadmeTextText1641481201365538##IDS__IsExitDialog_ShowReadMe##00 - SetupCompleteSuccessOKPushButton23024366173##IDS__IsExitDialog_Finish##Cancel0 - SetupCompleteSuccessShowMsiLogTextText1641821981065538##IDS__IsSetupComplete_ShowMsiLog##0 - SetupCompleteSuccessTextLine1Text13582254565539##IDS__IsExitDialog_WizardCompleted##0 - SetupCompleteSuccessTextLine2Text1355522845196610##IDS__IsExitDialog_InstallSuccess##0 - SetupCompleteSuccessTextLine3Text1355522845196610##IDS__IsExitDialog_UninstallSuccess##0 - SetupCompleteSuccessUpdateTextLine1Text1353022845196610##IDS__IsExitDialog_Update_SetupFinished##0 - SetupCompleteSuccessUpdateTextLine2Text1358022845196610##IDS__IsExitDialog_Update_PossibleUpdates##0 - SetupCompleteSuccessUpdateTextLine3Text1351202284565538##IDS__IsExitDialog_Update_InternetConnection##0 - SetupErrorAPushButton1928066173##IDS__IsErrorDlg_Abort##0 - SetupErrorCPushButton1928066173##IDS_CANCEL2##0 - SetupErrorErrorIconIcon1515242452428810NewBinary4SetupErrorErrorTextText501520050131075##IDS__IsErrorDlg_ErrorText##0 - SetupErrorIPushButton1928066173##IDS__IsErrorDlg_Ignore##0 - SetupErrorNPushButton1928066173##IDS__IsErrorDlg_NO##0 - SetupErrorOPushButton1928066173##IDS__IsErrorDlg_OK##0 - SetupErrorRPushButton1928066173##IDS__IsErrorDlg_Retry##0 - SetupErrorYPushButton1928066173##IDS__IsErrorDlg_Yes##0 - SetupInitializationActionDataText1351252281265539##IDS__IsInitDlg_1##0 - SetupInitializationActionTextText1351092203665539##IDS__IsInitDlg_2##0 - SetupInitializationBackPushButton16424366171##IDS_BACK##0 - SetupInitializationCancelPushButton30124366173##IDS_CANCEL##0 - SetupInitializationDlgLineLine0234374010 - SetupInitializationImageBitmap0037423410NewBinary5SetupInitializationNextPushButton23024366171##IDS_NEXT##0 - SetupInitializationTextLine1Text135822545196611##IDS__IsInitDlg_WelcomeWizard##0 - SetupInitializationTextLine2Text1355522830196611##IDS__IsInitDlg_PreparingWizard##0 - SetupInterruptedBackPushButton16424366171##IDS_BACK##Finish0 - SetupInterruptedCancelPushButton30124366171##IDS_CANCEL##Image0 - SetupInterruptedCheckShowMsiLogCheckBox1511721092ISSHOWMSILOGBack0 - SetupInterruptedDlgLineLine0234374010 - SetupInterruptedFinishPushButton23024366173##IDS__IsUserExit_Finish##Cancel0 - SetupInterruptedFinishText1Text135802285065539##IDS__IsUserExit_NotModified##0 - SetupInterruptedFinishText2Text1351352282565539##IDS__IsUserExit_ClickFinish##0 - SetupInterruptedImageBitmap003742341CheckShowMsiLog0NewBinary5SetupInterruptedRestContText1Text135802285065539##IDS__IsUserExit_KeepOrRestore##0 - SetupInterruptedRestContText2Text1351352282565539##IDS__IsUserExit_RestoreOrContinue##0 - SetupInterruptedShowMsiLogTextText1641721981065538##IDS__IsSetupComplete_ShowMsiLog##0 - SetupInterruptedTextLine1Text13582254565539##IDS__IsUserExit_WizardCompleted##0 - SetupInterruptedTextLine2Text1355522825196611##IDS__IsUserExit_WizardInterrupted##0 - SetupProgressActionProgress95ProgressBar591132751265537##IDS__IsProgressDlg_ProgressDone##0 - SetupProgressActionTextText59100275123##IDS__IsProgressDlg_2##0 - SetupProgressBackPushButton16424366171##IDS_BACK##Next0 - SetupProgressBannerBitmap003744410NewBinary1SetupProgressBannerLineLine044374010 - SetupProgressBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 - SetupProgressBranding2Text3228501365537##IDS_INSTALLSHIELD##0 - SetupProgressCancelPushButton30124366173##IDS_CANCEL##Back0 - SetupProgressDlgDescText21232922565538##IDS__IsProgressDlg_UninstallingFeatures2##0 - SetupProgressDlgDesc2Text21232922565538##IDS__IsProgressDlg_UninstallingFeatures##0 - SetupProgressDlgLineLine48234326010 - SetupProgressDlgTextText595127530196610##IDS__IsProgressDlg_WaitUninstall2##0 - SetupProgressDlgText2Text595127530196610##IDS__IsProgressDlg_WaitUninstall##0 - SetupProgressDlgTitleText13629225196610##IDS__IsProgressDlg_InstallingProductName##0 - SetupProgressDlgTitle2Text13629225196610##IDS__IsProgressDlg_Uninstalling##0 - SetupProgressLbSecText19213932122##IDS__IsProgressDlg_SecHidden##0 - SetupProgressLbStatusText598570123##IDS__IsProgressDlg_Status##0 - SetupProgressNextPushButton23024366171##IDS_NEXT##Cancel0 - SetupProgressSetupIconIcon2151242452428810NewBinary9SetupProgressShowTimeText17013917122##IDS__IsProgressDlg_Hidden##0 - SetupProgressTextTimeText59139110122##IDS__IsProgressDlg_HiddenTimeRemaining##0 - SetupResumeBackPushButton16424366171##IDS_BACK##Next0 - SetupResumeCancelPushButton30124366173##IDS_CANCEL##Back0 - SetupResumeDlgLineLine0234374010 - SetupResumeImageBitmap0037423410NewBinary5SetupResumeNextPushButton23024366173##IDS_NEXT##Cancel0 - SetupResumePreselectedTextText1355522845196611##IDS__IsResumeDlg_WizardResume##0 - SetupResumeResumeTextText1354622845196611##IDS__IsResumeDlg_ResumeSuspended##0 - SetupResumeTextLine1Text135822545196611##IDS__IsResumeDlg_Resuming##0 - SetupTypeBackPushButton16424366173##IDS_BACK##Next0 - SetupTypeBannerBitmap003744410NewBinary1SetupTypeBannerLineLine044374010 - SetupTypeBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 - SetupTypeBranding2Text3228501365537##IDS_INSTALLSHIELD##0 - SetupTypeCancelPushButton30124366173##IDS_CANCEL##RadioGroup0 - SetupTypeCompTextText8080246303##IDS__IsSetupTypeMinDlg_AllFeatures##0 - SetupTypeCompleteIcoIcon3480242452428810NewBinary10SetupTypeCustTextText80171246302##IDS__IsSetupTypeMinDlg_ChooseFeatures##0 - SetupTypeCustomIcoIcon34171242452428800NewBinary11SetupTypeDlgDescText21232922565539##IDS__IsSetupTypeMinDlg_ChooseSetupType##0 - SetupTypeDlgLineLine48234326010 - SetupTypeDlgTextText2249326103##IDS__IsSetupTypeMinDlg_SelectSetupType##00 - SetupTypeDlgTitleText1362922565539##IDS__IsSetupTypeMinDlg_SetupType##0 - SetupTypeMinIcoIcon34125242452428800NewBinary11SetupTypeMinTextText80125246302##IDS__IsSetupTypeMinDlg_MinimumFeatures##0 - SetupTypeNextPushButton23024366173##IDS_NEXT##Cancel0 - SetupTypeRadioGroupRadioButtonGroup20592641391048579_IsSetupTypeMinBack00 - SplashBitmapBackPushButton16424366171##IDS_BACK##Next0 - SplashBitmapBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 - SplashBitmapBranding2Text3228501365537##IDS_INSTALLSHIELD##0 - SplashBitmapCancelPushButton30124366173##IDS_CANCEL##Back0 - SplashBitmapDlgLineLine48234326010 - SplashBitmapImageBitmap131234921110NewBinary5SplashBitmapNextPushButton23024366173##IDS_NEXT##Cancel0 -
- - - Dialog_ - Control_ - Action - Condition - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CustomSetupChangeFolderHideInstalledCustomSetupDetailsHideInstalledCustomSetupInstallLabelHideInstalledCustomerInformationDlgRadioGroupTextHideNOT PrivilegedCustomerInformationDlgRadioGroupTextHideProductState > 0CustomerInformationDlgRadioGroupTextHideVersion9XCustomerInformationDlgRadioGroupTextHideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledCustomerInformationRadioGroupHideNOT PrivilegedCustomerInformationRadioGroupHideProductState > 0CustomerInformationRadioGroupHideVersion9XCustomerInformationRadioGroupHideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledCustomerInformationSerialLabelShowSERIALNUMSHOWCustomerInformationSerialNumberShowSERIALNUMSHOWInstallWelcomeCopyrightHideSHOWCOPYRIGHT="No"InstallWelcomeCopyrightShowSHOWCOPYRIGHT="Yes"LicenseAgreementNextDisableAgreeToLicense <> "Yes"LicenseAgreementNextEnableAgreeToLicense = "Yes"ReadyToInstallCompanyNameTextHideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallCurrentSettingsTextHideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallDlgText2HideVersionNT < "601" OR NOT ISSupportPerUser OR InstalledReadyToInstallDlgText2ShowVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallDlgTitleShowProgressType0="Modify"ReadyToInstallDlgTitle2ShowProgressType0="Repair"ReadyToInstallDlgTitle3ShowProgressType0="install"ReadyToInstallGroupBox1HideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallInstallNowDisableVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallInstallNowEnableVersionNT < "601" OR NOT ISSupportPerUser OR InstalledReadyToInstallInstallPerMachineHideVersionNT < "601" OR NOT ISSupportPerUser OR InstalledReadyToInstallInstallPerMachineShowVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallInstallPerUserHideVersionNT < "601" OR NOT ISSupportPerUser OR InstalledReadyToInstallInstallPerUserShowVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallSerialNumberTextHideNOT SERIALNUMSHOWReadyToInstallSerialNumberTextHideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallSetupTypeText1HideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallSetupTypeText2HideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallTargetFolderText1HideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallTargetFolderText2HideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallUserInformationTextHideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallUserNameTextHideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledSetupCompleteErrorBackDefaultUpdateStartedSetupCompleteErrorBackDisableNOT UpdateStartedSetupCompleteErrorBackEnableUpdateStartedSetupCompleteErrorCancelDisableNOT UpdateStartedSetupCompleteErrorCancelEnableUpdateStartedSetupCompleteErrorCheckShowMsiLogShowMsiLogFileLocationSetupCompleteErrorFinishDefaultNOT UpdateStartedSetupCompleteErrorFinishText1HideUpdateStartedSetupCompleteErrorFinishText1ShowNOT UpdateStartedSetupCompleteErrorFinishText2HideUpdateStartedSetupCompleteErrorFinishText2ShowNOT UpdateStartedSetupCompleteErrorRestContText1HideNOT UpdateStartedSetupCompleteErrorRestContText1ShowUpdateStartedSetupCompleteErrorRestContText2HideNOT UpdateStartedSetupCompleteErrorRestContText2ShowUpdateStartedSetupCompleteErrorShowMsiLogTextShowMsiLogFileLocationSetupCompleteSuccessCheckBoxUpdatesShowISENABLEDWUSFINISHDIALOG And NOT Installed And ACTION="INSTALL"SetupCompleteSuccessCheckForUpdatesTextShowISENABLEDWUSFINISHDIALOG And NOT Installed And ACTION="INSTALL"SetupCompleteSuccessCheckLaunchProgramShowSHOWLAUNCHPROGRAM="-1" And PROGRAMFILETOLAUNCHATEND <> "" And NOT Installed And NOT ISENABLEDWUSFINISHDIALOGSetupCompleteSuccessCheckLaunchReadmeShowSHOWLAUNCHREADME="-1" And READMEFILETOLAUNCHATEND <> "" And NOT Installed And NOT ISENABLEDWUSFINISHDIALOGSetupCompleteSuccessCheckShowMsiLogShowMsiLogFileLocation And NOT ISENABLEDWUSFINISHDIALOGSetupCompleteSuccessLaunchProgramTextShowSHOWLAUNCHPROGRAM="-1" And PROGRAMFILETOLAUNCHATEND <> "" And NOT Installed And NOT ISENABLEDWUSFINISHDIALOGSetupCompleteSuccessLaunchReadmeTextShowSHOWLAUNCHREADME="-1" And READMEFILETOLAUNCHATEND <> "" And NOT Installed And NOT ISENABLEDWUSFINISHDIALOGSetupCompleteSuccessShowMsiLogTextShowMsiLogFileLocation And NOT ISENABLEDWUSFINISHDIALOGSetupCompleteSuccessTextLine2ShowProgressType2="installed" And ((ACTION<>"INSTALL") OR (NOT ISENABLEDWUSFINISHDIALOG) OR (ISENABLEDWUSFINISHDIALOG And Installed))SetupCompleteSuccessTextLine3ShowProgressType2="uninstalled" And ((ACTION<>"INSTALL") OR (NOT ISENABLEDWUSFINISHDIALOG) OR (ISENABLEDWUSFINISHDIALOG And Installed))SetupCompleteSuccessUpdateTextLine1ShowISENABLEDWUSFINISHDIALOG And NOT Installed And ACTION="INSTALL"SetupCompleteSuccessUpdateTextLine2ShowISENABLEDWUSFINISHDIALOG And NOT Installed And ACTION="INSTALL"SetupCompleteSuccessUpdateTextLine3ShowISENABLEDWUSFINISHDIALOG And NOT Installed And ACTION="INSTALL"SetupInterruptedBackDefaultUpdateStartedSetupInterruptedBackDisableNOT UpdateStartedSetupInterruptedBackEnableUpdateStartedSetupInterruptedCancelDisableNOT UpdateStartedSetupInterruptedCancelEnableUpdateStartedSetupInterruptedCheckShowMsiLogShowMsiLogFileLocationSetupInterruptedFinishDefaultNOT UpdateStartedSetupInterruptedFinishText1HideUpdateStartedSetupInterruptedFinishText1ShowNOT UpdateStartedSetupInterruptedFinishText2HideUpdateStartedSetupInterruptedFinishText2ShowNOT UpdateStartedSetupInterruptedRestContText1HideNOT UpdateStartedSetupInterruptedRestContText1ShowUpdateStartedSetupInterruptedRestContText2HideNOT UpdateStartedSetupInterruptedRestContText2ShowUpdateStartedSetupInterruptedShowMsiLogTextShowMsiLogFileLocationSetupProgressDlgDescShowProgressType2="installed"SetupProgressDlgDesc2ShowProgressType2="uninstalled"SetupProgressDlgTextShowProgressType3="installs"SetupProgressDlgText2ShowProgressType3="uninstalls"SetupProgressDlgTitleShowProgressType1="Installing"SetupProgressDlgTitle2ShowProgressType1="Uninstalling"SetupResumePreselectedTextHideRESUMESetupResumePreselectedTextShowNOT RESUMESetupResumeResumeTextHideNOT RESUMESetupResumeResumeTextShowRESUME
- - - Dialog_ - Control_ - Event - Argument - Condition - Ordering - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AdminChangeFolderCancelEndDialogReturn12AdminChangeFolderCancelReset011AdminChangeFolderNewFolderDirectoryListNew010AdminChangeFolderOKEndDialogReturn10AdminChangeFolderOKSetTargetPathTARGETDIR11AdminChangeFolderUpDirectoryListUp010AdminNetworkLocationBackNewDialogAdminWelcome10AdminNetworkLocationBrowseSpawnDialogAdminChangeFolder10AdminNetworkLocationCancelSpawnDialogCancelSetup10AdminNetworkLocationInstallNowEndDialogReturnOutOfNoRbDiskSpace <> 13AdminNetworkLocationInstallNowNewDialogOutOfSpaceOutOfNoRbDiskSpace = 12AdminNetworkLocationInstallNowSetTargetPathTARGETDIR11AdminWelcomeCancelSpawnDialogCancelSetup10AdminWelcomeNextNewDialogAdminNetworkLocation10CancelSetupNoEndDialogReturn10CancelSetupYesDoActionCleanUpISSCRIPTRUNNING="1"1CancelSetupYesEndDialogExit12CustomSetupBackNewDialogCustomerInformationNOT Installed0CustomSetupBackNewDialogMaintenanceTypeInstalled0CustomSetupCancelSpawnDialogCancelSetup10CustomSetupChangeFolderSelectionBrowseInstallChangeFolder10CustomSetupDetailsSelectionBrowseDiskSpaceRequirements11CustomSetupHelpSpawnDialogCustomSetupTips11CustomSetupNextNewDialogOutOfSpaceOutOfNoRbDiskSpace = 10CustomSetupNextNewDialogReadyToInstallOutOfNoRbDiskSpace <> 10CustomSetupNext[_IsSetupTypeMin]Custom10CustomSetupTipsOKEndDialogReturn11CustomerInformationBackNewDialogLicenseAgreement11CustomerInformationCancelSpawnDialogCancelSetup10CustomerInformationNextEndDialogExit(SERIALNUMVALRETRYLIMIT) And (SERIALNUMVALRETRYLIMIT<0) And (SERIALNUMVALRETURN<>SERIALNUMVALSUCCESSRETVAL)2CustomerInformationNextNewDialogReadyToInstall(Not SERIALNUMVALRETURN) OR (SERIALNUMVALRETURN=SERIALNUMVALSUCCESSRETVAL)3CustomerInformationNext[ALLUSERS]1ApplicationUsers = "AllUsers" And Privileged1CustomerInformationNext[ALLUSERS]{}ApplicationUsers = "OnlyCurrentUser" And Privileged2DatabaseFolderBackNewDialogCustomerInformation11DatabaseFolderCancelSpawnDialogCancelSetup11DatabaseFolderChangeFolderSpawnDialogInstallChangeFolder11DatabaseFolderChangeFolder[_BrowseProperty]DATABASEDIR12DatabaseFolderNextNewDialogSetupType11DestinationFolderBackNewDialogInstallWelcomeNOT Installed0DestinationFolderCancelSpawnDialogCancelSetup11DestinationFolderChangeFolderSpawnDialogInstallChangeFolder11DestinationFolderChangeFolder[_BrowseProperty]INSTALLDIR12DestinationFolderNextNewDialogReadyToInstall10DiskSpaceRequirementsOKEndDialogReturn10FilesInUseExitEndDialogExit10FilesInUseIgnoreEndDialogIgnore10FilesInUseRetryEndDialogRetry10InstallChangeFolderCancelEndDialogReturn12InstallChangeFolderCancelReset011InstallChangeFolderNewFolderDirectoryListNew010InstallChangeFolderOKEndDialogReturn13InstallChangeFolderOKSetTargetPath[_BrowseProperty]12InstallChangeFolderUpDirectoryListUp010InstallWelcomeBackNewDialogSplashBitmapDisplay_IsBitmapDlg0InstallWelcomeCancelSpawnDialogCancelSetup10InstallWelcomeNextNewDialogDestinationFolder10LicenseAgreementBackNewDialogInstallWelcome10LicenseAgreementCancelSpawnDialogCancelSetup10LicenseAgreementISPrintButtonDoActionISPrint10LicenseAgreementNextNewDialogReadyToInstallAgreeToLicense = "Yes"0MaintenanceTypeBackNewDialogMaintenanceWelcome10MaintenanceTypeCancelSpawnDialogCancelSetup10MaintenanceTypeNextNewDialogCustomSetup_IsMaintenance = "Change"12MaintenanceTypeNextNewDialogReadyToInstall_IsMaintenance = "Reinstall"13MaintenanceTypeNextNewDialogReadyToRemove_IsMaintenance = "Remove"11MaintenanceTypeNextReinstallALL_IsMaintenance = "Reinstall"10MaintenanceTypeNextReinstallMode[ReinstallModeText]_IsMaintenance = "Reinstall"9MaintenanceTypeNext[ProgressType0]Modify_IsMaintenance = "Change"2MaintenanceTypeNext[ProgressType0]Repair_IsMaintenance = "Reinstall"1MaintenanceTypeNext[ProgressType1]Modifying_IsMaintenance = "Change"3MaintenanceTypeNext[ProgressType1]Repairing_IsMaintenance = "Reinstall"4MaintenanceTypeNext[ProgressType2]modified_IsMaintenance = "Change"6MaintenanceTypeNext[ProgressType2]repairs_IsMaintenance = "Reinstall"5MaintenanceTypeNext[ProgressType3]modifies_IsMaintenance = "Change"7MaintenanceTypeNext[ProgressType3]repairs_IsMaintenance = "Reinstall"8MaintenanceWelcomeCancelSpawnDialogCancelSetup10MaintenanceWelcomeNextNewDialogMaintenanceType10MsiRMFilesInUseCancelEndDialogExit11MsiRMFilesInUseOKEndDialogReturn11MsiRMFilesInUseOKRMShutdownAndRestart0RestartManagerOption="CloseRestart"2OutOfSpaceResumeNewDialogAdminNetworkLocationACTION = "ADMIN"0OutOfSpaceResumeNewDialogDestinationFolderACTION <> "ADMIN"0PatchWelcomeCancelSpawnDialogCancelSetup11PatchWelcomeNextEndDialogReturn13PatchWelcomeNextReinstallALLPATCH And REINSTALL=""1PatchWelcomeNextReinstallModeomusPATCH And REINSTALLMODE=""2ReadmeInformationBackNewDialogLicenseAgreement11ReadmeInformationCancelSpawnDialogCancelSetup11ReadmeInformationNextNewDialogCustomerInformation11ReadyToInstallBackNewDialogCustomSetupInstalled OR _IsSetupTypeMin = "Custom"2ReadyToInstallBackNewDialogDestinationFolderNOT Installed1ReadyToInstallBackNewDialogMaintenanceTypeInstalled AND _IsMaintenance = "Reinstall"3ReadyToInstallCancelSpawnDialogCancelSetup10ReadyToInstallInstallNowEndDialogReturnOutOfNoRbDiskSpace <> 10ReadyToInstallInstallNowNewDialogOutOfSpaceOutOfNoRbDiskSpace = 10ReadyToInstallInstallNow[ProgressType1]Installing10ReadyToInstallInstallNow[ProgressType2]installed10ReadyToInstallInstallNow[ProgressType3]installs10ReadyToInstallInstallPerMachineEndDialogReturnOutOfNoRbDiskSpace <> 10ReadyToInstallInstallPerMachineNewDialogOutOfSpaceOutOfNoRbDiskSpace = 10ReadyToInstallInstallPerMachine[ALLUSERS]110ReadyToInstallInstallPerMachine[MSIINSTALLPERUSER]{}10ReadyToInstallInstallPerMachine[ProgressType1]Installing10ReadyToInstallInstallPerMachine[ProgressType2]installed10ReadyToInstallInstallPerMachine[ProgressType3]installs10ReadyToInstallInstallPerUserEndDialogReturnOutOfNoRbDiskSpace <> 10ReadyToInstallInstallPerUserNewDialogOutOfSpaceOutOfNoRbDiskSpace = 10ReadyToInstallInstallPerUser[ALLUSERS]210ReadyToInstallInstallPerUser[MSIINSTALLPERUSER]110ReadyToInstallInstallPerUser[ProgressType1]Installing10ReadyToInstallInstallPerUser[ProgressType2]installed10ReadyToInstallInstallPerUser[ProgressType3]installs10ReadyToRemoveBackNewDialogMaintenanceType10ReadyToRemoveCancelSpawnDialogCancelSetup10ReadyToRemoveRemoveNowEndDialogReturnOutOfNoRbDiskSpace <> 12ReadyToRemoveRemoveNowNewDialogOutOfSpaceOutOfNoRbDiskSpace = 12ReadyToRemoveRemoveNowRemoveALL11ReadyToRemoveRemoveNow[ProgressType1]Uninstalling10ReadyToRemoveRemoveNow[ProgressType2]uninstalled10ReadyToRemoveRemoveNow[ProgressType3]uninstalls10SetupCompleteErrorBackEndDialogReturn12SetupCompleteErrorBack[Suspend]{}11SetupCompleteErrorCancelEndDialogReturn12SetupCompleteErrorCancel[Suspend]111SetupCompleteErrorFinishDoActionCleanUpISSCRIPTRUNNING="1"1SetupCompleteErrorFinishDoActionShowMsiLogMsiLogFileLocation And (ISSHOWMSILOG="1")3SetupCompleteErrorFinishEndDialogExit12SetupCompleteSuccessOKDoActionCleanUpISSCRIPTRUNNING="1"1SetupCompleteSuccessOKDoActionShowMsiLogMsiLogFileLocation And (ISSHOWMSILOG="1") And NOT ISENABLEDWUSFINISHDIALOG6SetupCompleteSuccessOKEndDialogExit12SetupErrorAEndDialogErrorAbort10SetupErrorCEndDialogErrorCancel10SetupErrorIEndDialogErrorIgnore10SetupErrorNEndDialogErrorNo10SetupErrorOEndDialogErrorOk10SetupErrorREndDialogErrorRetry10SetupErrorYEndDialogErrorYes10SetupInitializationCancelSpawnDialogCancelSetup10SetupInterruptedBackEndDialogExit12SetupInterruptedBack[Suspend]{}11SetupInterruptedCancelEndDialogExit12SetupInterruptedCancel[Suspend]111SetupInterruptedFinishDoActionCleanUpISSCRIPTRUNNING="1"1SetupInterruptedFinishDoActionShowMsiLogMsiLogFileLocation And (ISSHOWMSILOG="1")3SetupInterruptedFinishEndDialogExit12SetupProgressCancelSpawnDialogCancelSetup10SetupResumeCancelSpawnDialogCancelSetup10SetupResumeNextEndDialogReturnOutOfNoRbDiskSpace <> 10SetupResumeNextNewDialogOutOfSpaceOutOfNoRbDiskSpace = 10SetupTypeBackNewDialogCustomerInformation11SetupTypeCancelSpawnDialogCancelSetup10SetupTypeNextNewDialogCustomSetup_IsSetupTypeMin = "Custom"2SetupTypeNextNewDialogReadyToInstall_IsSetupTypeMin <> "Custom"1SetupTypeNextSetInstallLevel100_IsSetupTypeMin="Minimal"0SetupTypeNextSetInstallLevel200_IsSetupTypeMin="Typical"0SetupTypeNextSetInstallLevel300_IsSetupTypeMin="Custom"0SetupTypeNext[ISRUNSETUPTYPEADDLOCALEVENT]110SetupTypeNext[SelectedSetupType][DisplayNameCustom]_IsSetupTypeMin = "Custom"0SetupTypeNext[SelectedSetupType][DisplayNameMinimal]_IsSetupTypeMin = "Minimal"0SetupTypeNext[SelectedSetupType][DisplayNameTypical]_IsSetupTypeMin = "Typical"0SplashBitmapCancelSpawnDialogCancelSetup10SplashBitmapNextNewDialogInstallWelcome10
- - - Directory_ - Component_ - - - - - -
DATABASEDIRISX_DEFAULTCOMPONENT8EBAY1ISX_DEFAULTCOMPONENT2INSTALLDIRISX_DEFAULTCOMPONENT1INSTALLDIRISX_DEFAULTCOMPONENT5ProgramFiles64FolderISX_DEFAULTCOMPONENT
- - - Action - Type - Source - Target - ExtendedType - ISComments - - - - -
ISPreventDowngrade19[IS_PREVENT_DOWNGRADE_EXIT]Exits install when a newer version of this product is foundISPrint1SetAllUsers.dllPrintScrollableTextPrints the contents of a ScrollableText control on a dialog.ISRunSetupTypeAddLocalEvent1ISExpHlp.dllRunSetupTypeAddLocalEventRun the AddLocal events associated with the Next button on the Setup Type dialog.ISSelfRegisterCosting1ISSELFREG.DLLISSelfRegisterCosting - ISSelfRegisterFiles3073ISSELFREG.DLLISSelfRegisterFiles - ISSelfRegisterFinalize1ISSELFREG.DLLISSelfRegisterFinalize - ISUnSelfRegisterFiles3073ISSELFREG.DLLISUnSelfRegisterFiles - SetARPINSTALLLOCATION51ARPINSTALLLOCATION[INSTALLDIR] - SetAllUsersProfileNT51ALLUSERSPROFILE[%SystemRoot]\Profiles\All Users - ShowMsiLog226SystemFolder[SystemFolder]notepad.exe "[MsiLogFileLocation]"Shows Property-driven MSI LogsetAllUsersProfile2K51ALLUSERSPROFILE[%ALLUSERSPROFILE] - setUserProfileNT51USERPROFILE[%USERPROFILE] -
- - - Dialog - HCentering - VCentering - Width - Height - Attributes - Title - Control_First - Control_Default - Control_Cancel - ISComments - TextStyle_ - ISWindowStyle - ISResourceId - -
AdminChangeFolder50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##TailOKCancelInstall Point Browse0 - AdminNetworkLocation50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##InstallNowInstallNowCancelNetwork Location0 - AdminWelcome50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##NextNextCancelAdministration Welcome0 - CancelSetup5050260853##IDS_PRODUCTNAME_INSTALLSHIELD##NoNoNoCancel0 - CustomSetup505037426635##IDS_PRODUCTNAME_INSTALLSHIELD##TreeNextCancelCustom Selection0 - CustomSetupTips50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##OKOKOKCustom Setup Tips0 - CustomerInformation50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##NameEditNextCancelIdentification0 - DatabaseFolder50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##NextNextCancelDatabase Folder0 - DestinationFolder50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##NextNextCancelDestination Folder0 - DiskSpaceRequirements50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##OKOKOKFeature Details0 - FilesInUse505037426619##IDS_PRODUCTNAME_INSTALLSHIELD##RetryRetryExitFiles in Use0 - InstallChangeFolder50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##TailOKCancelBrowse0 - InstallWelcome50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##NextNextCancelWelcome Panel0 - LicenseAgreement50503742662##IDS_PRODUCTNAME_INSTALLSHIELD##AgreeNextCancelLicense Agreement0 - MaintenanceType50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##RadioGroupNextCancelChange, Reinstall, Remove0 - MaintenanceWelcome50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##NextNextCancelMaintenance Welcome0 - MsiRMFilesInUse505037426619##IDS_PRODUCTNAME_INSTALLSHIELD##OKOKCancelRestartManager Files in Use0 - OutOfSpace50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##ResumeResumeResumeOut Of Disk Space0 - PatchWelcome50503742663##IDS__IsPatchDlg_PatchWizard##NextNextCancelPatch Panel0 - ReadmeInformation50503742667##IDS_PRODUCTNAME_INSTALLSHIELD##NextNextCancelReadme Information00ReadyToInstall505037426635##IDS_PRODUCTNAME_INSTALLSHIELD##InstallNowInstallNowCancelReady to Install0 - ReadyToRemove50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##RemoveNowRemoveNowCancelVerify Remove0 - SetupCompleteError50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##FinishFinishFinishFatal Error0 - SetupCompleteSuccess50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##OKOKOKExit0 - SetupError505027011065543##IDS__IsErrorDlg_InstallerInfo##ErrorTextOCError0 - SetupInitialization50503742665##IDS_PRODUCTNAME_INSTALLSHIELD##CancelCancelCancelSetup Initialization0 - SetupInterrupted50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##FinishFinishFinishUser Exit0 - SetupProgress50503742665##IDS_PRODUCTNAME_INSTALLSHIELD##CancelCancelCancelProgress0 - SetupResume50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##NextNextCancelResume0 - SetupType50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##RadioGroupNextCancelSetup Type0 - SplashBitmap50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##NextNextCancelWelcome Bitmap0 -
- - - Directory - Directory_Parent - DefaultDir - ISDescription - ISAttributes - ISFolderName -
ALLUSERSPROFILETARGETDIR.:ALLUSE~1|All Users0 - AdminToolsFolderTARGETDIR.:Admint~1|AdminTools0 - AppDataFolderTARGETDIR.:APPLIC~1|Application Data0 - CommonAppDataFolderTARGETDIR.:Common~1|CommonAppData0 - CommonFiles64FolderTARGETDIR.:Common640 - CommonFilesFolderTARGETDIR.:Common0 - DATABASEDIRISYourDataBaseDir.0 - DesktopFolderTARGETDIR.:Desktop3 - EBAYProgramFilesFoldereBay0 - EBAY1ProgramFiles64FolderKYLINO~1|kylinolap0 - FavoritesFolderTARGETDIR.:FAVORI~1|Favorites0 - FontsFolderTARGETDIR.:Fonts0 - GlobalAssemblyCacheTARGETDIR.:Global~1|GlobalAssemblyCache0 - INSTALLDIRKYLINODBCDRIVER__X64_.0 - ISCommonFilesFolderCommonFilesFolderInstal~1|InstallShield0 - ISMyCompanyDirProgramFilesFolderMYCOMP~1|My Company Name0 - ISMyProductDirISMyCompanyDirMYPROD~1|My Product Name0 - ISYourDataBaseDirINSTALLDIRDatabase0 - KYLINODBCDRIVEREBAY1KYLINO~1|KylinODBCDriver0 - KYLINODBCDRIVER__X64_EBAY1KYLINO~1|KylinODBCDriver (x64)0 - LocalAppDataFolderTARGETDIR.:LocalA~1|LocalAppData0 - MY_PRODUCT_NAMEEBAYMYPROD~1|My Product Name0 - MyPicturesFolderTARGETDIR.:MyPict~1|MyPictures0 - NetHoodFolderTARGETDIR.:NetHood0 - PersonalFolderTARGETDIR.:Personal0 - PrimaryVolumePathTARGETDIR.:Primar~1|PrimaryVolumePath0 - PrintHoodFolderTARGETDIR.:PRINTH~1|PrintHood0 - ProgramFiles64FolderTARGETDIR.:Prog64~1|Program Files 640 - ProgramFilesFolderTARGETDIR.:PROGRA~1|program files0 - ProgramMenuFolderTARGETDIR.:Programs3 - RecentFolderTARGETDIR.:Recent0 - SendToFolderTARGETDIR.:SendTo3 - StartMenuFolderTARGETDIR.:STARTM~1|Start Menu3 - StartupFolderTARGETDIR.:StartUp3 - System16FolderTARGETDIR.:System0 - System64FolderTARGETDIR.:System640 - SystemFolderTARGETDIR.:System320 - TARGETDIRSourceDir0 - TempFolderTARGETDIR.:Temp0 - TemplateFolderTARGETDIR.:ShellNew0 - USERPROFILETARGETDIR.:USERPR~1|UserProfile0 - WindowsFolderTARGETDIR.:Windows0 - WindowsVolumeTARGETDIR.:WinRoot0 -
- - - Signature_ - Parent - Path - Depth -
- - - FileKey - Component_ - File_ - DestName - DestFolder -
- - - Environment - Name - Value - Component_ -
- - - Error - Message - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
0##IDS_ERROR_0##1##IDS_ERROR_1##10##IDS_ERROR_8##11##IDS_ERROR_9##1101##IDS_ERROR_22##12##IDS_ERROR_10##13##IDS_ERROR_11##1301##IDS_ERROR_23##1302##IDS_ERROR_24##1303##IDS_ERROR_25##1304##IDS_ERROR_26##1305##IDS_ERROR_27##1306##IDS_ERROR_28##1307##IDS_ERROR_29##1308##IDS_ERROR_30##1309##IDS_ERROR_31##1310##IDS_ERROR_32##1311##IDS_ERROR_33##1312##IDS_ERROR_34##1313##IDS_ERROR_35##1314##IDS_ERROR_36##1315##IDS_ERROR_37##1316##IDS_ERROR_38##1317##IDS_ERROR_39##1318##IDS_ERROR_40##1319##IDS_ERROR_41##1320##IDS_ERROR_42##1321##IDS_ERROR_43##1322##IDS_ERROR_44##1323##IDS_ERROR_45##1324##IDS_ERROR_46##1325##IDS_ERROR_47##1326##IDS_ERROR_48##1327##IDS_ERROR_49##1328##IDS_ERROR_122##1329##IDS_ERROR_1329##1330##IDS_ERROR_1330##1331##IDS_ERROR_1331##1332##IDS_ERROR_1332##1333##IDS_ERROR_1333##1334##IDS_ERROR_1334##1335##IDS_ERROR_1335##1336##IDS_ERROR_1336##14##IDS_ERROR_12##1401##IDS_ERROR_50##1402##IDS_ERROR_51##1403##IDS_ERROR_52##1404##IDS_ERROR_53##1405##IDS_ERROR_54##1406##IDS_ERROR_55##1407##IDS_ERROR_56##1408##IDS_ERROR_57##1409##IDS_ERROR_58##1410##IDS_ERROR_59##15##IDS_ERROR_13##1500##IDS_ERROR_60##1501##IDS_ERROR_61##1502##IDS_ERROR_62##1503##IDS_ERROR_63##16##IDS_ERROR_14##1601##IDS_ERROR_64##1602##IDS_ERROR_65##1603##IDS_ERROR_66##1604##IDS_ERROR_67##1605##IDS_ERROR_68##1606##IDS_ERROR_69##1607##IDS_ERROR_70##1608##IDS_ERROR_71##1609##IDS_ERROR_1609##1651##IDS_ERROR_1651##17##IDS_ERROR_15##1701##IDS_ERROR_72##1702##IDS_ERROR_73##1703##IDS_ERROR_74##1704##IDS_ERROR_75##1705##IDS_ERROR_76##1706##IDS_ERROR_77##1707##IDS_ERROR_78##1708##IDS_ERROR_79##1709##IDS_ERROR_80##1710##IDS_ERROR_81##1711##IDS_ERROR_82##1712##IDS_ERROR_83##1713##IDS_ERROR_123##1714##IDS_ERROR_124##1715##IDS_ERROR_1715##1716##IDS_ERROR_1716##1717##IDS_ERROR_1717##1718##IDS_ERROR_1718##1719##IDS_ERROR_1719##1720##IDS_ERROR_1720##1721##IDS_ERROR_1721##1722##IDS_ERROR_1722##1723##IDS_ERROR_1723##1724##IDS_ERROR_1724##1725##IDS_ERROR_1725##1726##IDS_ERROR_1726##1727##IDS_ERROR_1727##1728##IDS_ERROR_1728##1729##IDS_ERROR_1729##1730##IDS_ERROR_1730##1731##IDS_ERROR_1731##1732##IDS_ERROR_1732##18##IDS_ERROR_16##1801##IDS_ERROR_84##1802##IDS_ERROR_85##1803##IDS_ERROR_86##1804##IDS_ERROR_87##1805##IDS_ERROR_88##1806##IDS_ERROR_89##1807##IDS_ERROR_90##19##IDS_ERROR_17##1901##IDS_ERROR_91##1902##IDS_ERROR_92##1903##IDS_ERROR_93##1904##IDS_ERROR_94##1905##IDS_ERROR_95##1906##IDS_ERROR_96##1907##IDS_ERROR_97##1908##IDS_ERROR_98##1909##IDS_ERROR_99##1910##IDS_ERROR_100##1911##IDS_ERROR_101##1912##IDS_ERROR_102##1913##IDS_ERROR_103##1914##IDS_ERROR_104##1915##IDS_ERROR_105##1916##IDS_ERROR_106##1917##IDS_ERROR_107##1918##IDS_ERROR_108##1919##IDS_ERROR_109##1920##IDS_ERROR_110##1921##IDS_ERROR_111##1922##IDS_ERROR_112##1923##IDS_ERROR_113##1924##IDS_ERROR_114##1925##IDS_ERROR_115##1926##IDS_ERROR_116##1927##IDS_ERROR_117##1928##IDS_ERROR_118##1929##IDS_ERROR_119##1930##IDS_ERROR_125##1931##IDS_ERROR_126##1932##IDS_ERROR_127##1933##IDS_ERROR_128##1934##IDS_ERROR_129##1935##IDS_ERROR_1935##1936##IDS_ERROR_1936##1937##IDS_ERROR_1937##1938##IDS_ERROR_1938##2##IDS_ERROR_2##20##IDS_ERROR_18##21##IDS_ERROR_19##2101##IDS_ERROR_2101##2102##IDS_ERROR_2102##2103##IDS_ERROR_2103##2104##IDS_ERROR_2104##2105##IDS_ERROR_2105##2106##IDS_ERROR_2106##2107##IDS_ERROR_2107##2108##IDS_ERROR_2108##2109##IDS_ERROR_2109##2110##IDS_ERROR_2110##2111##IDS_ERROR_2111##2112##IDS_ERROR_2112##2113##IDS_ERROR_2113##22##IDS_ERROR_120##2200##IDS_ERROR_2200##2201##IDS_ERROR_2201##2202##IDS_ERROR_2202##2203##IDS_ERROR_2203##2204##IDS_ERROR_2204##2205##IDS_ERROR_2205##2206##IDS_ERROR_2206##2207##IDS_ERROR_2207##2208##IDS_ERROR_2208##2209##IDS_ERROR_2209##2210##IDS_ERROR_2210##2211##IDS_ERROR_2211##2212##IDS_ERROR_2212##2213##IDS_ERROR_2213##2214##IDS_ERROR_2214##2215##IDS_ERROR_2215##2216##IDS_ERROR_2216##2217##IDS_ERROR_2217##2218##IDS_ERROR_2218##2219##IDS_ERROR_2219##2220##IDS_ERROR_2220##2221##IDS_ERROR_2221##2222##IDS_ERROR_2222##2223##IDS_ERROR_2223##2224##IDS_ERROR_2224##2225##IDS_ERROR_2225##2226##IDS_ERROR_2226##2227##IDS_ERROR_2227##2228##IDS_ERROR_2228##2229##IDS_ERROR_2229##2230##IDS_ERROR_2230##2231##IDS_ERROR_2231##2232##IDS_ERROR_2232##2233##IDS_ERROR_2233##2234##IDS_ERROR_2234##2235##IDS_ERROR_2235##2236##IDS_ERROR_2236##2237##IDS_ERROR_2237##2238##IDS_ERROR_2238##2239##IDS_ERROR_2239##2240##IDS_ERROR_2240##2241##IDS_ERROR_2241##2242##IDS_ERROR_2242##2243##IDS_ERROR_2243##2244##IDS_ERROR_2244##2245##IDS_ERROR_2245##2246##IDS_ERROR_2246##2247##IDS_ERROR_2247##2248##IDS_ERROR_2248##2249##IDS_ERROR_2249##2250##IDS_ERROR_2250##2251##IDS_ERROR_2251##2252##IDS_ERROR_2252##2253##IDS_ERROR_2253##2254##IDS_ERROR_2254##2255##IDS_ERROR_2255##2256##IDS_ERROR_2256##2257##IDS_ERROR_2257##2258##IDS_ERROR_2258##2259##IDS_ERROR_2259##2260##IDS_ERROR_2260##2261##IDS_ERROR_2261##2262##IDS_ERROR_2262##2263##IDS_ERROR_2263##2264##IDS_ERROR_2264##2265##IDS_ERROR_2265##2266##IDS_ERROR_2266##2267##IDS_ERROR_2267##2268##IDS_ERROR_2268##2269##IDS_ERROR_2269##2270##IDS_ERROR_2270##2271##IDS_ERROR_2271##2272##IDS_ERROR_2272##2273##IDS_ERROR_2273##2274##IDS_ERROR_2274##2275##IDS_ERROR_2275##2276##IDS_ERROR_2276##2277##IDS_ERROR_2277##2278##IDS_ERROR_2278##2279##IDS_ERROR_2279##2280##IDS_ERROR_2280##2281##IDS_ERROR_2281##2282##IDS_ERROR_2282##23##IDS_ERROR_121##2302##IDS_ERROR_2302##2303##IDS_ERROR_2303##2304##IDS_ERROR_2304##2305##IDS_ERROR_2305##2306##IDS_ERROR_2306##2307##IDS_ERROR_2307##2308##IDS_ERROR_2308##2309##IDS_ERROR_2309##2310##IDS_ERROR_2310##2315##IDS_ERROR_2315##2318##IDS_ERROR_2318##2319##IDS_ERROR_2319##2320##IDS_ERROR_2320##2321##IDS_ERROR_2321##2322##IDS_ERROR_2322##2323##IDS_ERROR_2323##2324##IDS_ERROR_2324##2325##IDS_ERROR_2325##2326##IDS_ERROR_2326##2327##IDS_ERROR_2327##2328##IDS_ERROR_2328##2329##IDS_ERROR_2329##2330##IDS_ERROR_2330##2331##IDS_ERROR_2331##2332##IDS_ERROR_2332##2333##IDS_ERROR_2333##2334##IDS_ERROR_2334##2335##IDS_ERROR_2335##2336##IDS_ERROR_2336##2337##IDS_ERROR_2337##2338##IDS_ERROR_2338##2339##IDS_ERROR_2339##2340##IDS_ERROR_2340##2341##IDS_ERROR_2341##2342##IDS_ERROR_2342##2343##IDS_ERROR_2343##2344##IDS_ERROR_2344##2345##IDS_ERROR_2345##2347##IDS_ERROR_2347##2348##IDS_ERROR_2348##2349##IDS_ERROR_2349##2350##IDS_ERROR_2350##2351##IDS_ERROR_2351##2352##IDS_ERROR_2352##2353##IDS_ERROR_2353##2354##IDS_ERROR_2354##2355##IDS_ERROR_2355##2356##IDS_ERROR_2356##2357##IDS_ERROR_2357##2358##IDS_ERROR_2358##2359##IDS_ERROR_2359##2360##IDS_ERROR_2360##2361##IDS_ERROR_2361##2362##IDS_ERROR_2362##2363##IDS_ERROR_2363##2364##IDS_ERROR_2364##2365##IDS_ERROR_2365##2366##IDS_ERROR_2366##2367##IDS_ERROR_2367##2368##IDS_ERROR_2368##2370##IDS_ERROR_2370##2371##IDS_ERROR_2371##2372##IDS_ERROR_2372##2373##IDS_ERROR_2373##2374##IDS_ERROR_2374##2375##IDS_ERROR_2375##2376##IDS_ERROR_2376##2379##IDS_ERROR_2379##2380##IDS_ERROR_2380##2381##IDS_ERROR_2381##2382##IDS_ERROR_2382##2401##IDS_ERROR_2401##2402##IDS_ERROR_2402##2501##IDS_ERROR_2501##2502##IDS_ERROR_2502##2503##IDS_ERROR_2503##2601##IDS_ERROR_2601##2602##IDS_ERROR_2602##2603##IDS_ERROR_2603##2604##IDS_ERROR_2604##2605##IDS_ERROR_2605##2606##IDS_ERROR_2606##2607##IDS_ERROR_2607##2608##IDS_ERROR_2608##2609##IDS_ERROR_2609##2611##IDS_ERROR_2611##2612##IDS_ERROR_2612##2613##IDS_ERROR_2613##2614##IDS_ERROR_2614##2615##IDS_ERROR_2615##2616##IDS_ERROR_2616##2617##IDS_ERROR_2617##2618##IDS_ERROR_2618##2619##IDS_ERROR_2619##2620##IDS_ERROR_2620##2621##IDS_ERROR_2621##2701##IDS_ERROR_2701##2702##IDS_ERROR_2702##2703##IDS_ERROR_2703##2704##IDS_ERROR_2704##2705##IDS_ERROR_2705##2706##IDS_ERROR_2706##2707##IDS_ERROR_2707##2708##IDS_ERROR_2708##2709##IDS_ERROR_2709##2710##IDS_ERROR_2710##2711##IDS_ERROR_2711##2712##IDS_ERROR_2712##2713##IDS_ERROR_2713##2714##IDS_ERROR_2714##2715##IDS_ERROR_2715##2716##IDS_ERROR_2716##2717##IDS_ERROR_2717##2718##IDS_ERROR_2718##2719##IDS_ERROR_2719##2720##IDS_ERROR_2720##2721##IDS_ERROR_2721##2722##IDS_ERROR_2722##2723##IDS_ERROR_2723##2724##IDS_ERROR_2724##2725##IDS_ERROR_2725##2726##IDS_ERROR_2726##2727##IDS_ERROR_2727##2728##IDS_ERROR_2728##2729##IDS_ERROR_2729##2730##IDS_ERROR_2730##2731##IDS_ERROR_2731##2732##IDS_ERROR_2732##2733##IDS_ERROR_2733##2734##IDS_ERROR_2734##2735##IDS_ERROR_2735##2736##IDS_ERROR_2736##2737##IDS_ERROR_2737##2738##IDS_ERROR_2738##2739##IDS_ERROR_2739##2740##IDS_ERROR_2740##2741##IDS_ERROR_2741##2742##IDS_ERROR_2742##2743##IDS_ERROR_2743##2744##IDS_ERROR_2744##2745##IDS_ERROR_2745##2746##IDS_ERROR_2746##2747##IDS_ERROR_2747##2748##IDS_ERROR_2748##2749##IDS_ERROR_2749##2750##IDS_ERROR_2750##27500##IDS_ERROR_130##27501##IDS_ERROR_131##27502##IDS_ERROR_27502##27503##IDS_ERROR_27503##27504##IDS_ERROR_27504##27505##IDS_ERROR_27505##27506##IDS_ERROR_27506##27507##IDS_ERROR_27507##27508##IDS_ERROR_27508##27509##IDS_ERROR_27509##2751##IDS_ERROR_2751##27510##IDS_ERROR_27510##27511##IDS_ERROR_27511##27512##IDS_ERROR_27512##27513##IDS_ERROR_27513##27514##IDS_ERROR_27514##27515##IDS_ERROR_27515##27516##IDS_ERROR_27516##27517##IDS_ERROR_27517##27518##IDS_ERROR_27518##27519##IDS_ERROR_27519##2752##IDS_ERROR_2752##27520##IDS_ERROR_27520##27521##IDS_ERROR_27521##27522##IDS_ERROR_27522##27523##IDS_ERROR_27523##27524##IDS_ERROR_27524##27525##IDS_ERROR_27525##27526##IDS_ERROR_27526##27527##IDS_ERROR_27527##27528##IDS_ERROR_27528##27529##IDS_ERROR_27529##2753##IDS_ERROR_2753##27530##IDS_ERROR_27530##27531##IDS_ERROR_27531##27532##IDS_ERROR_27532##27533##IDS_ERROR_27533##27534##IDS_ERROR_27534##27535##IDS_ERROR_27535##27536##IDS_ERROR_27536##27537##IDS_ERROR_27537##27538##IDS_ERROR_27538##27539##IDS_ERROR_27539##2754##IDS_ERROR_2754##27540##IDS_ERROR_27540##27541##IDS_ERROR_27541##27542##IDS_ERROR_27542##27543##IDS_ERROR_27543##27544##IDS_ERROR_27544##27545##IDS_ERROR_27545##27546##IDS_ERROR_27546##27547##IDS_ERROR_27547##27548##IDS_ERROR_27548##27549##IDS_ERROR_27549##2755##IDS_ERROR_2755##27550##IDS_ERROR_27550##27551##IDS_ERROR_27551##27552##IDS_ERROR_27552##27553##IDS_ERROR_27553##27554##IDS_ERROR_27554##27555##IDS_ERROR_27555##2756##IDS_ERROR_2756##2757##IDS_ERROR_2757##2758##IDS_ERROR_2758##2759##IDS_ERROR_2759##2760##IDS_ERROR_2760##2761##IDS_ERROR_2761##2762##IDS_ERROR_2762##2763##IDS_ERROR_2763##2765##IDS_ERROR_2765##2766##IDS_ERROR_2766##2767##IDS_ERROR_2767##2768##IDS_ERROR_2768##2769##IDS_ERROR_2769##2770##IDS_ERROR_2770##2771##IDS_ERROR_2771##2772##IDS_ERROR_2772##2801##IDS_ERROR_2801##2802##IDS_ERROR_2802##2803##IDS_ERROR_2803##2804##IDS_ERROR_2804##2806##IDS_ERROR_2806##2807##IDS_ERROR_2807##2808##IDS_ERROR_2808##2809##IDS_ERROR_2809##2810##IDS_ERROR_2810##2811##IDS_ERROR_2811##2812##IDS_ERROR_2812##2813##IDS_ERROR_2813##2814##IDS_ERROR_2814##2815##IDS_ERROR_2815##2816##IDS_ERROR_2816##2817##IDS_ERROR_2817##2818##IDS_ERROR_2818##2819##IDS_ERROR_2819##2820##IDS_ERROR_2820##2821##IDS_ERROR_2821##2822##IDS_ERROR_2822##2823##IDS_ERROR_2823##2824##IDS_ERROR_2824##2825##IDS_ERROR_2825##2826##IDS_ERROR_2826##2827##IDS_ERROR_2827##2828##IDS_ERROR_2828##2829##IDS_ERROR_2829##2830##IDS_ERROR_2830##2831##IDS_ERROR_2831##2832##IDS_ERROR_2832##2833##IDS_ERROR_2833##2834##IDS_ERROR_2834##2835##IDS_ERROR_2835##2836##IDS_ERROR_2836##2837##IDS_ERROR_2837##2838##IDS_ERROR_2838##2839##IDS_ERROR_2839##2840##IDS_ERROR_2840##2841##IDS_ERROR_2841##2842##IDS_ERROR_2842##2843##IDS_ERROR_2843##2844##IDS_ERROR_2844##2845##IDS_ERROR_2845##2846##IDS_ERROR_2846##2847##IDS_ERROR_2847##2848##IDS_ERROR_2848##2849##IDS_ERROR_2849##2850##IDS_ERROR_2850##2851##IDS_ERROR_2851##2852##IDS_ERROR_2852##2853##IDS_ERROR_2853##2854##IDS_ERROR_2854##2855##IDS_ERROR_2855##2856##IDS_ERROR_2856##2857##IDS_ERROR_2857##2858##IDS_ERROR_2858##2859##IDS_ERROR_2859##2860##IDS_ERROR_2860##2861##IDS_ERROR_2861##2862##IDS_ERROR_2862##2863##IDS_ERROR_2863##2864##IDS_ERROR_2864##2865##IDS_ERROR_2865##2866##IDS_ERROR_2866##2867##IDS_ERROR_2867##2868##IDS_ERROR_2868##2869##IDS_ERROR_2869##2870##IDS_ERROR_2870##2871##IDS_ERROR_2871##2872##IDS_ERROR_2872##2873##IDS_ERROR_2873##2874##IDS_ERROR_2874##2875##IDS_ERROR_2875##2876##IDS_ERROR_2876##2877##IDS_ERROR_2877##2878##IDS_ERROR_2878##2879##IDS_ERROR_2879##2880##IDS_ERROR_2880##2881##IDS_ERROR_2881##2882##IDS_ERROR_2882##2883##IDS_ERROR_2883##2884##IDS_ERROR_2884##2885##IDS_ERROR_2885##2886##IDS_ERROR_2886##2887##IDS_ERROR_2887##2888##IDS_ERROR_2888##2889##IDS_ERROR_2889##2890##IDS_ERROR_2890##2891##IDS_ERROR_2891##2892##IDS_ERROR_2892##2893##IDS_ERROR_2893##2894##IDS_ERROR_2894##2895##IDS_ERROR_2895##2896##IDS_ERROR_2896##2897##IDS_ERROR_2897##2898##IDS_ERROR_2898##2899##IDS_ERROR_2899##2901##IDS_ERROR_2901##2902##IDS_ERROR_2902##2903##IDS_ERROR_2903##2904##IDS_ERROR_2904##2905##IDS_ERROR_2905##2906##IDS_ERROR_2906##2907##IDS_ERROR_2907##2908##IDS_ERROR_2908##2909##IDS_ERROR_2909##2910##IDS_ERROR_2910##2911##IDS_ERROR_2911##2912##IDS_ERROR_2912##2919##IDS_ERROR_2919##2920##IDS_ERROR_2920##2924##IDS_ERROR_2924##2927##IDS_ERROR_2927##2928##IDS_ERROR_2928##2929##IDS_ERROR_2929##2932##IDS_ERROR_2932##2933##IDS_ERROR_2933##2934##IDS_ERROR_2934##2935##IDS_ERROR_2935##2936##IDS_ERROR_2936##2937##IDS_ERROR_2937##2938##IDS_ERROR_2938##2939##IDS_ERROR_2939##2940##IDS_ERROR_2940##2941##IDS_ERROR_2941##2942##IDS_ERROR_2942##2943##IDS_ERROR_2943##2944##IDS_ERROR_2944##2945##IDS_ERROR_2945##3001##IDS_ERROR_3001##3002##IDS_ERROR_3002##32##IDS_ERROR_20##33##IDS_ERROR_21##4##IDS_ERROR_3##5##IDS_ERROR_4##7##IDS_ERROR_5##8##IDS_ERROR_6##9##IDS_ERROR_7##
- - - Dialog_ - Control_ - Event - Attribute - - - - - - - - - - - - - - - -
CustomSetupItemDescriptionSelectionDescriptionTextCustomSetupLocationSelectionPathTextCustomSetupSizeSelectionSizeTextSetupInitializationActionDataActionDataTextSetupInitializationActionTextActionTextTextSetupProgressActionProgress95AdminInstallFinalizeProgressSetupProgressActionProgress95InstallFilesProgressSetupProgressActionProgress95MoveFilesProgressSetupProgressActionProgress95RemoveFilesProgressSetupProgressActionProgress95RemoveRegistryValuesProgressSetupProgressActionProgress95SetProgressProgressSetupProgressActionProgress95UnmoveFilesProgressSetupProgressActionProgress95WriteIniValuesProgressSetupProgressActionProgress95WriteRegistryValuesProgressSetupProgressActionTextActionTextText
- - - Extension - Component_ - ProgId_ - MIME_ - Feature_ -
- - - Feature - Feature_Parent - Title - Description - Display - Level - Directory_ - Attributes - ISReleaseFlags - ISComments - ISFeatureCabName - ISProFeatureName -
AlwaysInstall##DN_AlwaysInstall##Enter the description for this feature here.01INSTALLDIR16Enter comments regarding this feature here. -
- - - Feature_ - Component_ - - - - - - -
AlwaysInstallDriver.Primary_OutputAlwaysInstallISX_DEFAULTCOMPONENTAlwaysInstallISX_DEFAULTCOMPONENT1AlwaysInstallISX_DEFAULTCOMPONENT2AlwaysInstallISX_DEFAULTCOMPONENT5AlwaysInstallISX_DEFAULTCOMPONENT8
- - - File - Component_ - FileName - FileSize - Version - Language - Attributes - Sequence - ISBuildSourcePath - ISAttributes - ISComponentSubFolder_ -
driver.primary_outputDriver.Primary_OutputDriver.Primary Output01<Driver>|Built3 -
- - - File_ - SFPCatalog_ -
- - - File_ - FontTitle -
- - - Tag - Data - - - -
PROJECT_ASSISTANT_DEFAULT_FEATUREAlwaysInstallPROJECT_ASSISTANT_FEATURESNonSelectableRegistryPageEnabledYes
- - - ISBillboard - Duration - Origin - X - Y - Effect - Sequence - Target - Color - Style - Font - Title - DisplayName -
- - - Package - SourcePath - ProductCode - Order - Options - InstallCondition - RemoveCondition - InstallProperties - RemoveProperties - ISReleaseFlags - DisplayName -
- - - Package_ - File - FilePath - Options - Data - ISBuildSourcePath -
- - - Action_ - Name - Value -
- - - ISComCatalogObject_ - ItemName - ItemValue -
- - - ISComCatalogCollection - ISComCatalogObject_ - CollectionName -
- - - ISComCatalogCollection_ - ISComCatalogObject_ -
- - - ISComCatalogObject - DisplayName -
- - - ISComCatalogObject_ - ComputerName - Component_ - ISAttributes - DepFiles -
- - - ISComPlusApplicationDLL - ISComPlusApplication_ - ISComCatalogObject_ - CLSID - ProgId - DLL - AlterDLL -
- - - ISComPlusProxy - ISComPlusApplication_ - Component_ - ISAttributes - DepFiles -
- - - ISComPlusApplication_ - File_ - ISPath -
- - - File_ - ISComPlusApplicationDLL_ -
- - - ISComPlusApplication_ - File_ - ISPath -
- - - File_ - ISComPlusApplicationDLL_ -
- - - Component_ - OS - Language - FilterProperty - Platforms - FTPLocation - HTTPLocation - Miscellaneous -
Driver.Primary_Output_6B0D886F_5F9B_4AD9_BA79_FEB863FA9BBD_FILTER - ISX_DEFAULTCOMPONENT_68F02099_ECBD_477B_AE7A_79BC5B2A3E5D_FILTER - ISX_DEFAULTCOMPONENT1_12783AA6_E855_4519_9246_FAD7EE0687E2_FILTER - ISX_DEFAULTCOMPONENT2_BDD22E2D_EF96_4827_8926_CF85F962A9BB_FILTER - ISX_DEFAULTCOMPONENT5_8D0AE5D0_5EE6_47F1_935A_758607996F0E_FILTER - ISX_DEFAULTCOMPONENT8_4AF6AB67_B499_46FC_B210_E897282BDF90_FILTER -
- - - Action_ - Description - FileType - ISCAReferenceFilePath -
- - - ISDIMReference_ - RequiredUUID - RequiredMajorVersion - RequiredMinorVersion - RequiredBuildVersion - RequiredRevisionVersion -
- - - ISDIMReference - ISBuildSourcePath -
- - - ISDIMReference_Parent - ISDIMDependency_ -
- - - ISDIMVariable - ISDIMReference_ - Name - NewValue - Type -
- - - EntryPoint - Type - Source - Target -
- - - ISDRMFile - File_ - ISDRMLicense_ - Shell -
- - - ISDRMFile_ - Property - Value -
- - - ISDRMLicense - Description - ProjectVersion - Attributes - LicenseNumber - RequestCode - ResponseCode -
- - - ISDependency - Exclude -
- - - ISDisk1File - ISBuildSourcePath - Disk -
- - - Component_ - SourceFolder - IncludeFlags - IncludeFiles - ExcludeFiles - ISAttributes -
- - - Feature_ - ISDIMReference_ -
- - - Feature_ - ModuleID - Language -
- - - Feature_ - ISMergeModule_ - Language_ -
- - - Feature_ - ISSetupPrerequisites_ -
- - - File_ - Manifest_ -
- - - ISIISItem - ISIISItem_Parent - DisplayName - Type - Component_ -
- - - ISIISProperty - ISIISItem_ - Schema - FriendlyName - MetaDataProp - MetaDataType - MetaDataUserType - MetaDataAttributes - MetaDataValue - Order - ISAttributes -
- - - EntryPoint - Type - Source - Target -
- - - ISLanguage - Included - -
10331
- - - ISLinkerLibrary - Library - Order - - -
isrt.oblisrt.obl2iswi.obliswi.obl1
- - - Dialog_ - Control_ - ISLanguage_ - Attributes - X - Y - Width - Height - Binary_ - ISBuildSourcePath -
- - - Dialog_ - ISLanguage_ - Attributes - TextStyle_ - Width - Height -
- - - Property - Order - ISLanguage_ - X - Y - Width - Height -
- - - LockObject - Table - Domain - User - Permission - Attributes -
- - - DiskId - ISProductConfiguration_ - ISRelease_ - LastSequence - DiskPrompt - Cabinet - VolumeLabel - Source -
- - - ISLogicalDisk_ - ISProductConfiguration_ - ISRelease_ - Feature_ - Sequence - ISAttributes -
- - - ISMergeModule - Language - Name - Destination - ISAttributes -
- - - ISMergeModule_ - Language_ - ModuleConfiguration_ - Value - Format - Type - ContextData - DefaultValue - Attributes - DisplayName - Description - HelpLocation - HelpKeyword -
- - - ObjectName - Language -
- - - ObjectName - Property - Value - IncludeInBuild -
- - - PatchConfiguration_ - UpgradedImage_ -
- - - Name - CanPCDiffer - CanPVDiffer - IncludeWholeFiles - LeaveDecompressed - OptimizeForSize - EnablePatchCache - PatchCacheDir - Flags - PatchGuidsToReplace - TargetProductCodes - PatchGuid - OutputPath - MinMsiVersion - Attributes -
- - - ISPatchConfiguration_ - Property - Value -
- - - Name - ISUpgradedImage_ - FileKey - FilePath -
- - - UpgradedImage - FileKey - Component -
- - - ISPathVariable - Value - TestValue - Type - - - - - - - - - -
CommonFilesFolder1DriverDriver\driver.vcxproj2ISPROJECTDIR1ISProductFolder1ISProjectDataFolder1ISProjectFolder1ProgramFilesFolder1SystemFolder1WindowsFolder1
- - - Action_ - Name - Value -
- - - ISProductConfiguration - ProductConfigurationFlags - GeneratePackageCode - -
Express1
- - - ISProductConfiguration_ - InstanceId - Property - Value -
- - - ISProductConfiguration_ - Property - Value - -
ExpressSetupFileNameKylinODBCDriver (x64)
- - - ISRelease - ISProductConfiguration_ - BuildLocation - PackageName - Type - SupportedLanguagesUI - MsiSourceType - ReleaseType - Platforms - SupportedLanguagesData - DefaultLanguage - SupportedOSs - DiskSize - DiskSizeUnit - DiskClusterSize - ReleaseFlags - DiskSpanning - SynchMsi - MediaLocation - URLLocation - DigitalURL - DigitalPVK - DigitalSPC - Password - VersionCopyright - Attributes - CDBrowser - DotNetBuildConfiguration - MsiCommandLine - ISSetupPrerequisiteLocation - - - - - - - - -
CD_ROMExpress<ISProjectDataFolder>Default0103302Intel10330650020480MediaLocationhttp://758053CustomExpress<ISProjectDataFolder>Default2103302Intel10330100010240MediaLocationhttp://758053DVD-10Express<ISProjectDataFolder>Default3103302Intel103308.75120480MediaLocationhttp://758053DVD-18Express<ISProjectDataFolder>Default3103302Intel1033015.83120480MediaLocationhttp://758053DVD-5Express<ISProjectDataFolder>Default3103302Intel103304.38120480MediaLocationhttp://758053DVD-9Express<ISProjectDataFolder>Default3103302Intel103307.95120480MediaLocationhttp://758053SingleImageExpress<ISProjectDataFolder>PackageName1103301Intel103300000MediaLocationhttp://Apache License1095973WebDeploymentExpress<ISProjectDataFolder>PackageName4103321Intel103300000MediaLocationhttp://1249413
- - - ISRelease_ - ISProductConfiguration_ - Property - Value -
- - - ISRelease_ - ISProductConfiguration_ - WebType - WebURL - WebCabSize - OneClickCabName - OneClickHtmlName - WebLocalCachePath - EngineLocation - Win9xMsiUrl - WinNTMsiUrl - ISEngineLocation - ISEngineURL - OneClickTargetBrowser - DigitalCertificateIdNS - DigitalCertificateDBaseNS - DigitalCertificatePasswordNS - DotNetRedistLocation - DotNetRedistURL - DotNetVersion - DotNetBaseLanguage - DotNetLangaugePacks - DotNetFxCmdLine - DotNetLangPackCmdLine - JSharpCmdLine - Attributes - JSharpRedistLocation - MsiEngineVersion - WinMsi30Url - CertPassword -
CD_ROMExpress0http://0installinstall[LocalAppDataFolder]Downloaded Installations0http://www.installengine.com/Msiengine20http://www.installengine.com/Msiengine200http://www.installengine.com/cert05/isengine03http://www.installengine.com/cert05/dotnetfx010333http://www.installengine.com/Msiengine30 - CustomExpress0http://0installinstall[LocalAppDataFolder]Downloaded Installations0http://www.installengine.com/Msiengine20http://www.installengine.com/Msiengine200http://www.installengine.com/cert05/isengine03http://www.installengine.com/cert05/dotnetfx010333http://www.installengine.com/Msiengine30 - DVD-10Express0http://0installinstall[LocalAppDataFolder]Downloaded Installations0http://www.installengine.com/Msiengine20http://www.installengine.com/Msiengine200http://www.installengine.com/cert05/isengine03http://www.installengine.com/cert05/dotnetfx010333http://www.installengine.com/Msiengine30 - DVD-18Express0http://0installinstall[LocalAppDataFolder]Downloaded Installations0http://www.installengine.com/Msiengine20http://www.installengine.com/Msiengine200http://www.installengine.com/cert05/isengine03http://www.installengine.com/cert05/dotnetfx010333http://www.installengine.com/Msiengine30 - DVD-5Express0http://0installinstall[LocalAppDataFolder]Downloaded Installations0http://www.installengine.com/Msiengine20http://www.installengine.com/Msiengine200http://www.installengine.com/cert05/isengine03http://www.installengine.com/cert05/dotnetfx010333http://www.installengine.com/Msiengine30 - DVD-9Express0http://0installinstall[LocalAppDataFolder]Downloaded Installations0http://www.installengine.com/Msiengine20http://www.installengine.com/Msiengine200http://www.installengine.com/cert05/isengine03http://www.installengine.com/cert05/dotnetfx010333http://www.installengine.com/Msiengine30 - SingleImageExpress0http://0installinstall[LocalAppDataFolder]Downloaded Installations1http://www.installengine.com/Msiengine20http://www.installengine.com/Msiengine200http://www.installengine.com/cert05/isengine03http://www.installengine.com/cert05/dotnetfx010333http://www.installengine.com/Msiengine30 - WebDeploymentExpress0http://0setupDefault[LocalAppDataFolder]Downloaded Installations2http://www.Installengine.com/Msiengine20http://www.Installengine.com/Msiengine200http://www.installengine.com/cert05/isengine03http://www.installengine.com/cert05/dotnetfx010333http://www.installengine.com/Msiengine30 -
- - - ISRelease_ - ISProductConfiguration_ - Name - Value - -
SingleImageExpressSetupExeDescrInstallation file for Kylin ODBC
- - - ISRelease_ - ISProductConfiguration_ - Repository - DisplayName - Publisher - Description - ISAttributes -
- - - ISSQLConnection - Server - Database - UserName - Password - Authentication - Attributes - Order - Comments - CmdTimeout - BatchSeparator - ScriptVersion_Table - ScriptVersion_Column -
- - - ISSQLConnectionDBServer - ISSQLConnection_ - ISSQLDBMetaData_ - Order -
- - - ISSQLConnection_ - ISSQLScriptFile_ - Order -
- - - ISSQLDBMetaData - DisplayName - AdoDriverName - AdoCxnDriver - AdoCxnServer - AdoCxnDatabase - AdoCxnUserID - AdoCxnPassword - AdoCxnWindowsSecurity - AdoCxnNetLibrary - TestDatabaseCmd - TestTableCmd - VersionInfoCmd - VersionBeginToken - VersionEndToken - LocalInstanceNames - CreateDbCmd - SwitchDbCmd - ISAttributes - TestTableCmd2 - WinAuthentUserId - DsnODBCName - AdoCxnPort - AdoCxnAdditional - QueryDatabasesCmd - CreateTableCmd - InsertRecordCmd - SelectTableCmd - ScriptVersion_Table - ScriptVersion_Column - ScriptVersion_ColumnType -
- - - ISSQLRequirement - ISSQLConnection_ - MajorVersion - ServicePackLevel - Attributes - ISSQLConnectionDBServer_ -
- - - ErrNumber - ISSQLScriptFile_ - ErrHandling - Message - Attributes -
- - - ISSQLScriptFile - Component_ - Scheduling - InstallText - UninstallText - ISBuildSourcePath - Comments - ErrorHandling - Attributes - Version - Condition - DisplayName -
- - - ISSQLScriptFile_ - Server - Database - UserName - Password - Authentication - IncludeTables - ExcludeTables - Attributes -
- - - ISSQLScriptReplace - ISSQLScriptFile_ - Search - Replace - Attributes -
- - - ISScriptFile -
- - - FileKey - Cost - Order - CmdLine -
- - - ISSetupFile - FileName - Stream - Language - Splash - Path -
- - - ISSetupPrerequisites - ISBuildSourcePath - Order - ISSetupLocation - ISReleaseFlags -
- - - ISSetupType - Description - Display_Name - Display - Comments -
Custom##IDS__IsSetupTypeMinDlg_ChooseFeatures####IDS__IsSetupTypeMinDlg_Custom##3 - Minimal##IDS__IsSetupTypeMinDlg_MinimumFeatures####IDS__IsSetupTypeMinDlg_Minimal##2 - Typical##IDS__IsSetupTypeMinDlg_AllFeatures####IDS__IsSetupTypeMinDlg_Typical##1 -
- - - ISSetupType_ - Feature_ - - - -
CustomAlwaysInstallMinimalAlwaysInstallTypicalAlwaysInstall
- - - Name - ISBuildSourcePath -
- - - ISString - ISLanguage_ - Value - Encoded - Comment - TimeStamp - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
COMPANY_NAME1033kylinolap01965175470DN_AlwaysInstall1033Always Install0-761093519IDPROP_EXPRESS_LAUNCH_CONDITION_COLOR1033The color settings of your system are not adequate for running [ProductName].0-761093519IDPROP_EXPRESS_LAUNCH_CONDITION_OS1033The operating system is not adequate for running [ProductName].0-761093519IDPROP_EXPRESS_LAUNCH_CONDITION_PROCESSOR1033The processor is not adequate for running [ProductName].0-761093519IDPROP_EXPRESS_LAUNCH_CONDITION_RAM1033The amount of RAM is not adequate for running [ProductName].0-761093519IDPROP_EXPRESS_LAUNCH_CONDITION_SCREEN1033The screen resolution is not adequate for running [ProductName].0-761093519IDPROP_SETUPTYPE_COMPACT1033Compact0-761093519IDPROP_SETUPTYPE_COMPACT_DESC1033Compact Description0-761093519IDPROP_SETUPTYPE_COMPLETE1033Complete0-761093519IDPROP_SETUPTYPE_COMPLETE_DESC1033Complete0-761093519IDPROP_SETUPTYPE_CUSTOM1033Custom0-761093519IDPROP_SETUPTYPE_CUSTOM_DESC1033Custom Description0-761093519IDPROP_SETUPTYPE_CUSTOM_DESC_PRO1033Custom0-761093519IDPROP_SETUPTYPE_TYPICAL1033Typical0-761093519IDPROP_SETUPTYPE_TYPICAL_DESC1033Typical Description0-761093519IDS_ACTIONTEXT_11033[1]0-761093519IDS_ACTIONTEXT_1b1033[1]0-761093519IDS_ACTIONTEXT_1c1033[1]0-761093519IDS_ACTIONTEXT_1d1033[1]0-761093519IDS_ACTIONTEXT_Advertising1033Advertising application0-761093519IDS_ACTIONTEXT_AllocatingRegistry1033Allocating registry space0-761093519IDS_ACTIONTEXT_AppCommandLine1033Application: [1], Command line: [2]0-761093519IDS_ACTIONTEXT_AppId1033AppId: [1]{{, AppType: [2]}}0-761093519IDS_ACTIONTEXT_AppIdAppTypeRSN1033AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}0-761093519IDS_ACTIONTEXT_Application1033Application: [1]0-761093519IDS_ACTIONTEXT_BindingExes1033Binding executables0-761093519IDS_ACTIONTEXT_ClassId1033Class ID: [1]0-761093519IDS_ACTIONTEXT_ClsID1033Class ID: [1]0-761093519IDS_ACTIONTEXT_ComponentIDQualifier1033Component ID: [1], Qualifier: [2]0-761093519IDS_ACTIONTEXT_ComponentIdQualifier21033Component ID: [1], Qualifier: [2]0-761093519IDS_ACTIONTEXT_ComputingSpace1033Computing space requirements0-761093519IDS_ACTIONTEXT_ComputingSpace21033Computing space requirements0-761093519IDS_ACTIONTEXT_ComputingSpace31033Computing space requirements0-761093519IDS_ACTIONTEXT_ContentTypeExtension1033MIME Content Type: [1], Extension: [2]0-761093519IDS_ACTIONTEXT_ContentTypeExtension21033MIME Content Type: [1], Extension: [2]0-761093519IDS_ACTIONTEXT_CopyingNetworkFiles1033Copying files to the network0-761093519IDS_ACTIONTEXT_CopyingNewFiles1033Copying new files0-761093519IDS_ACTIONTEXT_CreatingDuplicate1033Creating duplicate files0-761093519IDS_ACTIONTEXT_CreatingFolders1033Creating folders0-761093519IDS_ACTIONTEXT_CreatingIISRoots1033Creating IIS Virtual Roots...0-761093519IDS_ACTIONTEXT_CreatingShortcuts1033Creating shortcuts0-761093519IDS_ACTIONTEXT_DeletingServices1033Deleting services0-761093519IDS_ACTIONTEXT_EnvironmentStrings1033Updating environment strings0-761093519IDS_ACTIONTEXT_EvaluateLaunchConditions1033Evaluating launch conditions0-761093519IDS_ACTIONTEXT_Extension1033Extension: [1]0-761093519IDS_ACTIONTEXT_Extension21033Extension: [1]0-761093519IDS_ACTIONTEXT_Feature1033Feature: [1]0-761093519IDS_ACTIONTEXT_FeatureColon1033Feature: [1]0-761093519IDS_ACTIONTEXT_File1033File: [1]0-761093519IDS_ACTIONTEXT_File21033File: [1]0-761093519IDS_ACTIONTEXT_FileDependencies1033File: [1], Dependencies: [2]0-761093519IDS_ACTIONTEXT_FileDir1033File: [1], Directory: [9]0-761093519IDS_ACTIONTEXT_FileDir21033File: [1], Directory: [9]0-761093519IDS_ACTIONTEXT_FileDir31033File: [1], Directory: [9]0-761093519IDS_ACTIONTEXT_FileDirSize1033File: [1], Directory: [9], Size: [6]0-761093519IDS_ACTIONTEXT_FileDirSize21033File: [1], Directory: [9], Size: [6]0-761093519IDS_ACTIONTEXT_FileDirSize31033File: [1], Directory: [9], Size: [6]0-761093519IDS_ACTIONTEXT_FileDirSize41033File: [1], Directory: [2], Size: [3]0-761093519IDS_ACTIONTEXT_FileDirectorySize1033File: [1], Directory: [9], Size: [6]0-761093519IDS_ACTIONTEXT_FileFolder1033File: [1], Folder: [2]0-761093519IDS_ACTIONTEXT_FileFolder21033File: [1], Folder: [2]0-761093519IDS_ACTIONTEXT_FileSectionKeyValue1033File: [1], Section: [2], Key: [3], Value: [4]0-761093519IDS_ACTIONTEXT_FileSectionKeyValue21033File: [1], Section: [2], Key: [3], Value: [4]0-761093519IDS_ACTIONTEXT_Folder1033Folder: [1]0-761093519IDS_ACTIONTEXT_Folder11033Folder: [1]0-761093519IDS_ACTIONTEXT_Font1033Font: [1]0-761093519IDS_ACTIONTEXT_Font21033Font: [1]0-761093519IDS_ACTIONTEXT_FoundApp1033Found application: [1]0-761093519IDS_ACTIONTEXT_FreeSpace1033Free space: [1]0-761093519IDS_ACTIONTEXT_GeneratingScript1033Generating script operations for action:0-761093519IDS_ACTIONTEXT_ISLockPermissionsCost1033Gathering permissions information for objects...0-761093519IDS_ACTIONTEXT_ISLockPermissionsInstall1033Applying permissions information for objects...0-761093519IDS_ACTIONTEXT_InitializeODBCDirs1033Initializing ODBC directories0-761093519IDS_ACTIONTEXT_InstallODBC1033Installing ODBC components0-761093519IDS_ACTIONTEXT_InstallServices1033Installing new services0-761093519IDS_ACTIONTEXT_InstallingSystemCatalog1033Installing system catalog0-761093519IDS_ACTIONTEXT_KeyName1033Key: [1], Name: [2]0-761093519IDS_ACTIONTEXT_KeyNameValue1033Key: [1], Name: [2], Value: [3]0-761093519IDS_ACTIONTEXT_LibId1033LibID: [1]0-761093519IDS_ACTIONTEXT_Libid21033LibID: [1]0-761093519IDS_ACTIONTEXT_MigratingFeatureStates1033Migrating feature states from related applications0-761093519IDS_ACTIONTEXT_MovingFiles1033Moving files0-761093519IDS_ACTIONTEXT_NameValueAction1033Name: [1], Value: [2], Action [3]0-761093519IDS_ACTIONTEXT_NameValueAction21033Name: [1], Value: [2], Action [3]0-761093519IDS_ACTIONTEXT_PatchingFiles1033Patching files0-761093519IDS_ACTIONTEXT_ProgID1033ProgID: [1]0-761093519IDS_ACTIONTEXT_ProgID21033ProgID: [1]0-761093519IDS_ACTIONTEXT_PropertySignature1033Property: [1], Signature: [2]0-761093519IDS_ACTIONTEXT_PublishProductFeatures1033Publishing product features0-761093519IDS_ACTIONTEXT_PublishProductInfo1033Publishing product information0-761093519IDS_ACTIONTEXT_PublishingQualifiedComponents1033Publishing qualified components0-761093519IDS_ACTIONTEXT_RegUser1033Registering user0-761093519IDS_ACTIONTEXT_RegisterClassServer1033Registering class servers0-761093519IDS_ACTIONTEXT_RegisterExtensionServers1033Registering extension servers0-761093519IDS_ACTIONTEXT_RegisterFonts1033Registering fonts0-761093519IDS_ACTIONTEXT_RegisterMimeInfo1033Registering MIME info0-761093519IDS_ACTIONTEXT_RegisterTypeLibs1033Registering type libraries0-761093519IDS_ACTIONTEXT_RegisteringComPlus1033Registering COM+ Applications and Components0-761093519IDS_ACTIONTEXT_RegisteringModules1033Registering modules0-761093519IDS_ACTIONTEXT_RegisteringProduct1033Registering product0-761093519IDS_ACTIONTEXT_RegisteringProgIdentifiers1033Registering program identifiers0-761093519IDS_ACTIONTEXT_RemoveApps1033Removing applications0-761093519IDS_ACTIONTEXT_RemovingBackup1033Removing backup files0-761093519IDS_ACTIONTEXT_RemovingDuplicates1033Removing duplicated files0-761093519IDS_ACTIONTEXT_RemovingFiles1033Removing files0-761093519IDS_ACTIONTEXT_RemovingFolders1033Removing folders0-761093519IDS_ACTIONTEXT_RemovingIISRoots1033Removing IIS Virtual Roots...0-761093519IDS_ACTIONTEXT_RemovingIni1033Removing INI file entries0-761093519IDS_ACTIONTEXT_RemovingMoved1033Removing moved files0-761093519IDS_ACTIONTEXT_RemovingODBC1033Removing ODBC components0-761093519IDS_ACTIONTEXT_RemovingRegistry1033Removing system registry values0-761093519IDS_ACTIONTEXT_RemovingShortcuts1033Removing shortcuts0-761093519IDS_ACTIONTEXT_RollingBack1033Rolling back action:0-761093519IDS_ACTIONTEXT_SearchForRelated1033Searching for related applications0-761093519IDS_ACTIONTEXT_SearchInstalled1033Searching for installed applications0-761093519IDS_ACTIONTEXT_SearchingQualifyingProducts1033Searching for qualifying products0-761093519IDS_ACTIONTEXT_SearchingQualifyingProducts21033Searching for qualifying products0-761093519IDS_ACTIONTEXT_Service1033Service: [1]0-761093519IDS_ACTIONTEXT_Service21033Service: [2]0-761093519IDS_ACTIONTEXT_Service31033Service: [1]0-761093519IDS_ACTIONTEXT_Service41033Service: [1]0-761093519IDS_ACTIONTEXT_Shortcut1033Shortcut: [1]0-761093519IDS_ACTIONTEXT_Shortcut11033Shortcut: [1]0-761093519IDS_ACTIONTEXT_StartingServices1033Starting services0-761093519IDS_ACTIONTEXT_StoppingServices1033Stopping services0-761093519IDS_ACTIONTEXT_UnpublishProductFeatures1033Unpublishing product features0-761093519IDS_ACTIONTEXT_UnpublishQualified1033Unpublishing Qualified Components0-761093519IDS_ACTIONTEXT_UnpublishingProductInfo1033Unpublishing product information0-761093519IDS_ACTIONTEXT_UnregTypeLibs1033Unregistering type libraries0-761093519IDS_ACTIONTEXT_UnregisterClassServers1033Unregister class servers0-761093519IDS_ACTIONTEXT_UnregisterExtensionServers1033Unregistering extension servers0-761093519IDS_ACTIONTEXT_UnregisterModules1033Unregistering modules0-761093519IDS_ACTIONTEXT_UnregisteringComPlus1033Unregistering COM+ Applications and Components0-761093519IDS_ACTIONTEXT_UnregisteringFonts1033Unregistering fonts0-761093519IDS_ACTIONTEXT_UnregisteringMimeInfo1033Unregistering MIME info0-761093519IDS_ACTIONTEXT_UnregisteringProgramIds1033Unregistering program identifiers0-761093519IDS_ACTIONTEXT_UpdateComponentRegistration1033Updating component registration0-761093519IDS_ACTIONTEXT_UpdateEnvironmentStrings1033Updating environment strings0-761093519IDS_ACTIONTEXT_Validating1033Validating install0-761093519IDS_ACTIONTEXT_WritingINI1033Writing INI file values0-761093519IDS_ACTIONTEXT_WritingRegistry1033Writing system registry values0-761093519IDS_BACK1033< &Back0-761093519IDS_CANCEL1033Cancel0-761093519IDS_CANCEL21033&Cancel0-761093519IDS_CHANGE1033&Change...0-761093519IDS_COMPLUS_PROGRESSTEXT_COST1033Costing COM+ application: [1]0-761093519IDS_COMPLUS_PROGRESSTEXT_INSTALL1033Installing COM+ application: [1]0-761093519IDS_COMPLUS_PROGRESSTEXT_UNINSTALL1033Uninstalling COM+ application: [1]0-761093519IDS_DIALOG_TEXT2_DESCRIPTION1033Dialog Normal Description0-761093519IDS_DIALOG_TEXT_DESCRIPTION_EXTERIOR1033{&TahomaBold10}Dialog Bold Title0-761093519IDS_DIALOG_TEXT_DESCRIPTION_INTERIOR1033{&MSSansBold8}Dialog Bold Title0-761093519IDS_DIFX_AMD641033[ProductName] requires an X64 processor. Click OK to exit the wizard.0-761093519IDS_DIFX_IA641033[ProductName] requires an IA64 processor. Click OK to exit the wizard.0-761093519IDS_DIFX_X861033[ProductName] requires an X86 processor. Click OK to exit the wizard.0-761093519IDS_DatabaseFolder_InstallDatabaseTo1033Install [ProductName] database to:0-761093519IDS_ERROR_01033{{Fatal error: }}0-761093519IDS_ERROR_11033Error [1]. 0-761093519IDS_ERROR_101033=== Logging started: [Date] [Time] ===0-761093519IDS_ERROR_1001033Could not remove shortcut [2]. Verify that the shortcut file exists and that you can access it.0-761093519IDS_ERROR_1011033Could not register type library for file [2]. Contact your support personnel.0-761093519IDS_ERROR_1021033Could not unregister type library for file [2]. Contact your support personnel.0-761093519IDS_ERROR_1031033Could not update the INI file [2][3]. Verify that the file exists and that you can access it.0-761093519IDS_ERROR_1041033Could not schedule file [2] to replace file [3] on reboot. Verify that you have write permissions to file [3].0-761093519IDS_ERROR_1051033Error removing ODBC driver manager, ODBC error [2]: [3]. Contact your support personnel.0-761093519IDS_ERROR_1061033Error installing ODBC driver manager, ODBC error [2]: [3]. Contact your support personnel.0-761093519IDS_ERROR_1071033Error removing ODBC driver [4], ODBC error [2]: [3]. Verify that you have sufficient privileges to remove ODBC drivers.0-761093519IDS_ERROR_1081033Error installing ODBC driver [4], ODBC error [2]: [3]. Verify that the file [4] exists and that you can access it.0-761093519IDS_ERROR_1091033Error configuring ODBC data source [4], ODBC error [2]: [3]. Verify that the file [4] exists and that you can access it.0-761093519IDS_ERROR_111033=== Logging stopped: [Date] [Time] ===0-761093519IDS_ERROR_1101033Service [2] ([3]) failed to start. Verify that you have sufficient privileges to start system services.0-761093519IDS_ERROR_1111033Service [2] ([3]) could not be stopped. Verify that you have sufficient privileges to stop system services.0-761093519IDS_ERROR_1121033Service [2] ([3]) could not be deleted. Verify that you have sufficient privileges to remove system services.0-761093519IDS_ERROR_1131033Service [2] ([3]) could not be installed. Verify that you have sufficient privileges to install system services.0-761093519IDS_ERROR_1141033Could not update environment variable [2]. Verify that you have sufficient privileges to modify environment variables.0-761093519IDS_ERROR_1151033You do not have sufficient privileges to complete this installation for all users of the machine. Log on as an administrator and then retry this installation.0-761093519IDS_ERROR_1161033Could not set file security for file [3]. Error: [2]. Verify that you have sufficient privileges to modify the security permissions for this file.0-761093519IDS_ERROR_1171033Component Services (COM+ 1.0) are not installed on this computer. This installation requires Component Services in order to complete successfully. Component Services are available on Windows 2000.0-761093519IDS_ERROR_1181033Error registering COM+ application. Contact your support personnel for more information.0-761093519IDS_ERROR_1191033Error unregistering COM+ application. Contact your support personnel for more information.0-761093519IDS_ERROR_121033Action start [Time]: [1].0-761093519IDS_ERROR_1201033Removing older versions of this application0-761093519IDS_ERROR_1211033Preparing to remove older versions of this application0-761093519IDS_ERROR_1221033Error applying patch to file [2]. It has probably been updated by other means, and can no longer be modified by this patch. For more information contact your patch vendor. {{System Error: [3]}}0-761093519IDS_ERROR_1231033[2] cannot install one of its required products. Contact your technical support group. {{System Error: [3].}}0-761093519IDS_ERROR_1241033The older version of [2] cannot be removed. Contact your technical support group. {{System Error [3].}}0-761093519IDS_ERROR_1251033The description for service '[2]' ([3]) could not be changed.0-761093519IDS_ERROR_1261033The Windows Installer service cannot update the system file [2] because the file is protected by Windows. You may need to update your operating system for this program to work correctly. {{Package version: [3], OS Protected version: [4]}}0-761093519IDS_ERROR_1271033The Windows Installer service cannot update the protected Windows file [2]. {{Package version: [3], OS Protected version: [4], SFP Error: [5]}}0-761093519IDS_ERROR_1281033The Windows Installer service cannot update one or more protected Windows files. SFP Error: [2]. List of protected files: [3]0-761093519IDS_ERROR_1291033User installations are disabled via policy on the machine.0-761093519IDS_ERROR_131033Action ended [Time]: [1]. Return value [2].0-761093519IDS_ERROR_1301033This setup requires Internet Information Server 4.0 or higher for configuring IIS Virtual Roots. Please make sure that you have IIS 4.0 or higher.0-761093519IDS_ERROR_1311033This setup requires Administrator privileges for configuring IIS Virtual Roots.0-761093519IDS_ERROR_13291033A file that is required cannot be installed because the cabinet file [2] is not digitally signed. This may indicate that the cabinet file is corrupt.0-761093519IDS_ERROR_13301033A file that is required cannot be installed because the cabinet file [2] has an invalid digital signature. This may indicate that the cabinet file is corrupt.{ Error [3] was returned by WinVerifyTrust.}0-761093519IDS_ERROR_13311033Failed to correctly copy [2] file: CRC error.0-761093519IDS_ERROR_13321033Failed to correctly patch [2] file: CRC error.0-761093519IDS_ERROR_13331033Failed to correctly patch [2] file: CRC error.0-761093519IDS_ERROR_13341033The file '[2]' cannot be installed because the file cannot be found in cabinet file '[3]'. This could indicate a network error, an error reading from the CD-ROM, or a problem with this package.0-761093519IDS_ERROR_13351033The cabinet file '[2]' required for this installation is corrupt and cannot be used. This could indicate a network error, an error reading from the CD-ROM, or a problem with this package.0-761093519IDS_ERROR_13361033There was an error creating a temporary file that is needed to complete this installation. Folder: [3]. System error code: [2]0-761093519IDS_ERROR_141033Time remaining: {[1] minutes }{[2] seconds}0-761093519IDS_ERROR_151033Out of memory. Shut down other applications before retrying.0-761093519IDS_ERROR_161033Installer is no longer responding.0-761093519IDS_ERROR_16091033An error occurred while applying security settings. [2] is not a valid user or group. This could be a problem with the package, or a problem connecting to a domain controller on the network. Check your network connection and click Retry, or Cancel to end the install. Unable to locate the user's SID, system error [3]0-761093519IDS_ERROR_16511033Admin user failed to apply patch for a per-user managed or a per-machine application which is in advertise state.0-761093519IDS_ERROR_171033Installer terminated prematurely.0-761093519IDS_ERROR_17151033Installed [2].0-761093519IDS_ERROR_17161033Configured [2].0-761093519IDS_ERROR_17171033Removed [2].0-761093519IDS_ERROR_17181033File [2] was rejected by digital signature policy.0-761093519IDS_ERROR_17191033Windows Installer service could not be accessed. Contact your support personnel to verify that it is properly registered and enabled.0-761093519IDS_ERROR_17201033There is a problem with this Windows Installer package. A script required for this install to complete could not be run. Contact your support personnel or package vendor. Custom action [2] script error [3], [4]: [5] Line [6], Column [7], [8]0-761093519IDS_ERROR_17211033There is a problem with this Windows Installer package. A program required for this install to complete could not be run. Contact your support personnel or package vendor. Action: [2], location: [3], command: [4]0-761093519IDS_ERROR_17221033There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor. Action [2], location: [3], command: [4]0-761093519IDS_ERROR_17231033There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run. Contact your support personnel or package vendor. Action [2], entry: [3], library: [4]0-761093519IDS_ERROR_17241033Removal completed successfully.0-761093519IDS_ERROR_17251033Removal failed.0-761093519IDS_ERROR_17261033Advertisement completed successfully.0-761093519IDS_ERROR_17271033Advertisement failed.0-761093519IDS_ERROR_17281033Configuration completed successfully.0-761093519IDS_ERROR_17291033Configuration failed.0-761093519IDS_ERROR_17301033You must be an Administrator to remove this application. To remove this application, you can log on as an administrator, or contact your technical support group for assistance.0-761093519IDS_ERROR_17311033The source installation package for the product [2] is out of sync with the client package. Try the installation again using a valid copy of the installation package '[3]'.0-761093519IDS_ERROR_17321033In order to complete the installation of [2], you must restart the computer. Other users are currently logged on to this computer, and restarting may cause them to lose their work. Do you want to restart now?0-761093519IDS_ERROR_181033Please wait while Windows configures [ProductName]0-761093519IDS_ERROR_191033Gathering required information...0-761093519IDS_ERROR_19351033An error occurred during the installation of assembly component [2]. HRESULT: [3]. {{assembly interface: [4], function: [5], assembly name: [6]}}0-761093519IDS_ERROR_19361033An error occurred during the installation of assembly '[6]'. The assembly is not strongly named or is not signed with the minimal key length. HRESULT: [3]. {{assembly interface: [4], function: [5], component: [2]}}0-761093519IDS_ERROR_19371033An error occurred during the installation of assembly '[6]'. The signature or catalog could not be verified or is not valid. HRESULT: [3]. {{assembly interface: [4], function: [5], component: [2]}}0-761093519IDS_ERROR_19381033An error occurred during the installation of assembly '[6]'. One or more modules of the assembly could not be found. HRESULT: [3]. {{assembly interface: [4], function: [5], component: [2]}}0-761093519IDS_ERROR_21033Warning [1]. 0-761093519IDS_ERROR_201033{[ProductName] }Setup completed successfully.0-761093519IDS_ERROR_211033{[ProductName] }Setup failed.0-761093519IDS_ERROR_21011033Shortcuts not supported by the operating system.0-761093519IDS_ERROR_21021033Invalid .ini action: [2]0-761093519IDS_ERROR_21031033Could not resolve path for shell folder [2].0-761093519IDS_ERROR_21041033Writing .ini file: [3]: System error: [2].0-761093519IDS_ERROR_21051033Shortcut Creation [3] Failed. System error: [2].0-761093519IDS_ERROR_21061033Shortcut Deletion [3] Failed. System error: [2].0-761093519IDS_ERROR_21071033Error [3] registering type library [2].0-761093519IDS_ERROR_21081033Error [3] unregistering type library [2].0-761093519IDS_ERROR_21091033Section missing for .ini action.0-761093519IDS_ERROR_21101033Key missing for .ini action.0-761093519IDS_ERROR_21111033Detection of running applications failed, could not get performance data. Registered operation returned : [2].0-761093519IDS_ERROR_21121033Detection of running applications failed, could not get performance index. Registered operation returned : [2].0-761093519IDS_ERROR_21131033Detection of running applications failed.0-761093519IDS_ERROR_221033Error reading from file: [2]. {{ System error [3].}} Verify that the file exists and that you can access it.0-761093519IDS_ERROR_22001033Database: [2]. Database object creation failed, mode = [3].0-761093519IDS_ERROR_22011033Database: [2]. Initialization failed, out of memory.0-761093519IDS_ERROR_22021033Database: [2]. Data access failed, out of memory.0-761093519IDS_ERROR_22031033Database: [2]. Cannot open database file. System error [3].0-761093519IDS_ERROR_22041033Database: [2]. Table already exists: [3].0-761093519IDS_ERROR_22051033Database: [2]. Table does not exist: [3].0-761093519IDS_ERROR_22061033Database: [2]. Table could not be dropped: [3].0-761093519IDS_ERROR_22071033Database: [2]. Intent violation.0-761093519IDS_ERROR_22081033Database: [2]. Insufficient parameters for Execute.0-761093519IDS_ERROR_22091033Database: [2]. Cursor in invalid state.0-761093519IDS_ERROR_22101033Database: [2]. Invalid update data type in column [3].0-761093519IDS_ERROR_22111033Database: [2]. Could not create database table [3].0-761093519IDS_ERROR_22121033Database: [2]. Database not in writable state.0-761093519IDS_ERROR_22131033Database: [2]. Error saving database tables.0-761093519IDS_ERROR_22141033Database: [2]. Error writing export file: [3].0-761093519IDS_ERROR_22151033Database: [2]. Cannot open import file: [3].0-761093519IDS_ERROR_22161033Database: [2]. Import file format error: [3], Line [4].0-761093519IDS_ERROR_22171033Database: [2]. Wrong state to CreateOutputDatabase [3].0-761093519IDS_ERROR_22181033Database: [2]. Table name not supplied.0-761093519IDS_ERROR_22191033Database: [2]. Invalid Installer database format.0-761093519IDS_ERROR_22201033Database: [2]. Invalid row/field data.0-761093519IDS_ERROR_22211033Database: [2]. Code page conflict in import file: [3].0-761093519IDS_ERROR_22221033Database: [2]. Transform or merge code page [3] differs from database code page [4].0-761093519IDS_ERROR_22231033Database: [2]. Databases are the same. No transform generated.0-761093519IDS_ERROR_22241033Database: [2]. GenerateTransform: Database corrupt. Table: [3].0-761093519IDS_ERROR_22251033Database: [2]. Transform: Cannot transform a temporary table. Table: [3].0-761093519IDS_ERROR_22261033Database: [2]. Transform failed.0-761093519IDS_ERROR_22271033Database: [2]. Invalid identifier '[3]' in SQL query: [4].0-761093519IDS_ERROR_22281033Database: [2]. Unknown table '[3]' in SQL query: [4].0-761093519IDS_ERROR_22291033Database: [2]. Could not load table '[3]' in SQL query: [4].0-761093519IDS_ERROR_22301033Database: [2]. Repeated table '[3]' in SQL query: [4].0-761093519IDS_ERROR_22311033Database: [2]. Missing ')' in SQL query: [3].0-761093519IDS_ERROR_22321033Database: [2]. Unexpected token '[3]' in SQL query: [4].0-761093519IDS_ERROR_22331033Database: [2]. No columns in SELECT clause in SQL query: [3].0-761093519IDS_ERROR_22341033Database: [2]. No columns in ORDER BY clause in SQL query: [3].0-761093519IDS_ERROR_22351033Database: [2]. Column '[3]' not present or ambiguous in SQL query: [4].0-761093519IDS_ERROR_22361033Database: [2]. Invalid operator '[3]' in SQL query: [4].0-761093519IDS_ERROR_22371033Database: [2]. Invalid or missing query string: [3].0-761093519IDS_ERROR_22381033Database: [2]. Missing FROM clause in SQL query: [3].0-761093519IDS_ERROR_22391033Database: [2]. Insufficient values in INSERT SQL statement.0-761093519IDS_ERROR_22401033Database: [2]. Missing update columns in UPDATE SQL statement.0-761093519IDS_ERROR_22411033Database: [2]. Missing insert columns in INSERT SQL statement.0-761093519IDS_ERROR_22421033Database: [2]. Column '[3]' repeated.0-761093519IDS_ERROR_22431033Database: [2]. No primary columns defined for table creation.0-761093519IDS_ERROR_22441033Database: [2]. Invalid type specifier '[3]' in SQL query [4].0-761093519IDS_ERROR_22451033IStorage::Stat failed with error [3].0-761093519IDS_ERROR_22461033Database: [2]. Invalid Installer transform format.0-761093519IDS_ERROR_22471033Database: [2] Transform stream read/write failure.0-761093519IDS_ERROR_22481033Database: [2] GenerateTransform/Merge: Column type in base table does not match reference table. Table: [3] Col #: [4].0-761093519IDS_ERROR_22491033Database: [2] GenerateTransform: More columns in base table than in reference table. Table: [3].0-761093519IDS_ERROR_22501033Database: [2] Transform: Cannot add existing row. Table: [3].0-761093519IDS_ERROR_22511033Database: [2] Transform: Cannot delete row that does not exist. Table: [3].0-761093519IDS_ERROR_22521033Database: [2] Transform: Cannot add existing table. Table: [3].0-761093519IDS_ERROR_22531033Database: [2] Transform: Cannot delete table that does not exist. Table: [3].0-761093519IDS_ERROR_22541033Database: [2] Transform: Cannot update row that does not exist. Table: [3].0-761093519IDS_ERROR_22551033Database: [2] Transform: Column with this name already exists. Table: [3] Col: [4].0-761093519IDS_ERROR_22561033Database: [2] GenerateTransform/Merge: Number of primary keys in base table does not match reference table. Table: [3].0-761093519IDS_ERROR_22571033Database: [2]. Intent to modify read only table: [3].0-761093519IDS_ERROR_22581033Database: [2]. Type mismatch in parameter: [3].0-761093519IDS_ERROR_22591033Database: [2] Table(s) Update failed0-761093519IDS_ERROR_22601033Storage CopyTo failed. System error: [3].0-761093519IDS_ERROR_22611033Could not remove stream [2]. System error: [3].0-761093519IDS_ERROR_22621033Stream does not exist: [2]. System error: [3].0-761093519IDS_ERROR_22631033Could not open stream [2]. System error: [3].0-761093519IDS_ERROR_22641033Could not remove stream [2]. System error: [3].0-761093519IDS_ERROR_22651033Could not commit storage. System error: [3].0-761093519IDS_ERROR_22661033Could not rollback storage. System error: [3].0-761093519IDS_ERROR_22671033Could not delete storage [2]. System error: [3].0-761093519IDS_ERROR_22681033Database: [2]. Merge: There were merge conflicts reported in [3] tables.0-761093519IDS_ERROR_22691033Database: [2]. Merge: The column count differed in the '[3]' table of the two databases.0-761093519IDS_ERROR_22701033Database: [2]. GenerateTransform/Merge: Column name in base table does not match reference table. Table: [3] Col #: [4].0-761093519IDS_ERROR_22711033SummaryInformation write for transform failed.0-761093519IDS_ERROR_22721033Database: [2]. MergeDatabase will not write any changes because the database is open read-only.0-761093519IDS_ERROR_22731033Database: [2]. MergeDatabase: A reference to the base database was passed as the reference database.0-761093519IDS_ERROR_22741033Database: [2]. MergeDatabase: Unable to write errors to Error table. Could be due to a non-nullable column in a predefined Error table.0-761093519IDS_ERROR_22751033Database: [2]. Specified Modify [3] operation invalid for table joins.0-761093519IDS_ERROR_22761033Database: [2]. Code page [3] not supported by the system.0-761093519IDS_ERROR_22771033Database: [2]. Failed to save table [3].0-761093519IDS_ERROR_22781033Database: [2]. Exceeded number of expressions limit of 32 in WHERE clause of SQL query: [3].0-761093519IDS_ERROR_22791033Database: [2] Transform: Too many columns in base table [3].0-761093519IDS_ERROR_22801033Database: [2]. Could not create column [3] for table [4].0-761093519IDS_ERROR_22811033Could not rename stream [2]. System error: [3].0-761093519IDS_ERROR_22821033Stream name invalid [2].0-761093519IDS_ERROR_231033Cannot create the file [3]. A directory with this name already exists. Cancel the installation and try installing to a different location.0-761093519IDS_ERROR_23021033Patch notify: [2] bytes patched to far.0-761093519IDS_ERROR_23031033Error getting volume info. GetLastError: [2].0-761093519IDS_ERROR_23041033Error getting disk free space. GetLastError: [2]. Volume: [3].0-761093519IDS_ERROR_23051033Error waiting for patch thread. GetLastError: [2].0-761093519IDS_ERROR_23061033Could not create thread for patch application. GetLastError: [2].0-761093519IDS_ERROR_23071033Source file key name is null.0-761093519IDS_ERROR_23081033Destination file name is null.0-761093519IDS_ERROR_23091033Attempting to patch file [2] when patch already in progress.0-761093519IDS_ERROR_23101033Attempting to continue patch when no patch is in progress.0-761093519IDS_ERROR_23151033Missing path separator: [2].0-761093519IDS_ERROR_23181033File does not exist: [2].0-761093519IDS_ERROR_23191033Error setting file attribute: [3] GetLastError: [2].0-761093519IDS_ERROR_23201033File not writable: [2].0-761093519IDS_ERROR_23211033Error creating file: [2].0-761093519IDS_ERROR_23221033User canceled.0-761093519IDS_ERROR_23231033Invalid file attribute.0-761093519IDS_ERROR_23241033Could not open file: [3] GetLastError: [2].0-761093519IDS_ERROR_23251033Could not get file time for file: [3] GetLastError: [2].0-761093519IDS_ERROR_23261033Error in FileToDosDateTime.0-761093519IDS_ERROR_23271033Could not remove directory: [3] GetLastError: [2].0-761093519IDS_ERROR_23281033Error getting file version info for file: [2].0-761093519IDS_ERROR_23291033Error deleting file: [3]. GetLastError: [2].0-761093519IDS_ERROR_23301033Error getting file attributes: [3]. GetLastError: [2].0-761093519IDS_ERROR_23311033Error loading library [2] or finding entry point [3].0-761093519IDS_ERROR_23321033Error getting file attributes. GetLastError: [2].0-761093519IDS_ERROR_23331033Error setting file attributes. GetLastError: [2].0-761093519IDS_ERROR_23341033Error converting file time to local time for file: [3]. GetLastError: [2].0-761093519IDS_ERROR_23351033Path: [2] is not a parent of [3].0-761093519IDS_ERROR_23361033Error creating temp file on path: [3]. GetLastError: [2].0-761093519IDS_ERROR_23371033Could not close file: [3] GetLastError: [2].0-761093519IDS_ERROR_23381033Could not update resource for file: [3] GetLastError: [2].0-761093519IDS_ERROR_23391033Could not set file time for file: [3] GetLastError: [2].0-761093519IDS_ERROR_23401033Could not update resource for file: [3], Missing resource.0-761093519IDS_ERROR_23411033Could not update resource for file: [3], Resource too large.0-761093519IDS_ERROR_23421033Could not update resource for file: [3] GetLastError: [2].0-761093519IDS_ERROR_23431033Specified path is empty.0-761093519IDS_ERROR_23441033Could not find required file IMAGEHLP.DLL to validate file:[2].0-761093519IDS_ERROR_23451033[2]: File does not contain a valid checksum value.0-761093519IDS_ERROR_23471033User ignore.0-761093519IDS_ERROR_23481033Error attempting to read from cabinet stream.0-761093519IDS_ERROR_23491033Copy resumed with different info.0-761093519IDS_ERROR_23501033FDI server error0-761093519IDS_ERROR_23511033File key '[2]' not found in cabinet '[3]'. The installation cannot continue.0-761093519IDS_ERROR_23521033Could not initialize cabinet file server. The required file 'CABINET.DLL' may be missing.0-761093519IDS_ERROR_23531033Not a cabinet.0-761093519IDS_ERROR_23541033Cannot handle cabinet.0-761093519IDS_ERROR_23551033Corrupt cabinet.0-761093519IDS_ERROR_23561033Could not locate cabinet in stream: [2].0-761093519IDS_ERROR_23571033Cannot set attributes.0-761093519IDS_ERROR_23581033Error determining whether file is in-use: [3]. GetLastError: [2].0-761093519IDS_ERROR_23591033Unable to create the target file - file may be in use.0-761093519IDS_ERROR_23601033Progress tick.0-761093519IDS_ERROR_23611033Need next cabinet.0-761093519IDS_ERROR_23621033Folder not found: [2].0-761093519IDS_ERROR_23631033Could not enumerate subfolders for folder: [2].0-761093519IDS_ERROR_23641033Bad enumeration constant in CreateCopier call.0-761093519IDS_ERROR_23651033Could not BindImage exe file [2].0-761093519IDS_ERROR_23661033User failure.0-761093519IDS_ERROR_23671033User abort.0-761093519IDS_ERROR_23681033Failed to get network resource information. Error [2], network path [3]. Extended error: network provider [5], error code [4], error description [6].0-761093519IDS_ERROR_23701033Invalid CRC checksum value for [2] file.{ Its header says [3] for checksum, its computed value is [4].}0-761093519IDS_ERROR_23711033Could not apply patch to file [2]. GetLastError: [3].0-761093519IDS_ERROR_23721033Patch file [2] is corrupt or of an invalid format. Attempting to patch file [3]. GetLastError: [4].0-761093519IDS_ERROR_23731033File [2] is not a valid patch file.0-761093519IDS_ERROR_23741033File [2] is not a valid destination file for patch file [3].0-761093519IDS_ERROR_23751033Unknown patching error: [2].0-761093519IDS_ERROR_23761033Cabinet not found.0-761093519IDS_ERROR_23791033Error opening file for read: [3] GetLastError: [2].0-761093519IDS_ERROR_23801033Error opening file for write: [3]. GetLastError: [2].0-761093519IDS_ERROR_23811033Directory does not exist: [2].0-761093519IDS_ERROR_23821033Drive not ready: [2].0-761093519IDS_ERROR_241033Please insert the disk: [2]0-761093519IDS_ERROR_2401103364-bit registry operation attempted on 32-bit operating system for key [2].0-761093519IDS_ERROR_24021033Out of memory.0-761093519IDS_ERROR_251033The installer has insufficient privileges to access this directory: [2]. The installation cannot continue. Log on as an administrator or contact your system administrator.0-761093519IDS_ERROR_25011033Could not create rollback script enumerator.0-761093519IDS_ERROR_25021033Called InstallFinalize when no install in progress.0-761093519IDS_ERROR_25031033Called RunScript when not marked in progress.0-761093519IDS_ERROR_261033Error writing to file [2]. Verify that you have access to that directory.0-761093519IDS_ERROR_26011033Invalid value for property [2]: '[3]'0-761093519IDS_ERROR_26021033The [2] table entry '[3]' has no associated entry in the Media table.0-761093519IDS_ERROR_26031033Duplicate table name [2].0-761093519IDS_ERROR_26041033[2] Property undefined.0-761093519IDS_ERROR_26051033Could not find server [2] in [3] or [4].0-761093519IDS_ERROR_26061033Value of property [2] is not a valid full path: '[3]'.0-761093519IDS_ERROR_26071033Media table not found or empty (required for installation of files).0-761093519IDS_ERROR_26081033Could not create security descriptor for object. Error: '[2]'.0-761093519IDS_ERROR_26091033Attempt to migrate product settings before initialization.0-761093519IDS_ERROR_26111033The file [2] is marked as compressed, but the associated media entry does not specify a cabinet.0-761093519IDS_ERROR_26121033Stream not found in '[2]' column. Primary key: '[3]'.0-761093519IDS_ERROR_26131033RemoveExistingProducts action sequenced incorrectly.0-761093519IDS_ERROR_26141033Could not access IStorage object from installation package.0-761093519IDS_ERROR_26151033Skipped unregistration of Module [2] due to source resolution failure.0-761093519IDS_ERROR_26161033Companion file [2] parent missing.0-761093519IDS_ERROR_26171033Shared component [2] not found in Component table.0-761093519IDS_ERROR_26181033Isolated application component [2] not found in Component table.0-761093519IDS_ERROR_26191033Isolated components [2], [3] not part of same feature.0-761093519IDS_ERROR_26201033Key file of isolated application component [2] not in File table.0-761093519IDS_ERROR_26211033Resource DLL or Resource ID information for shortcut [2] set incorrectly.0-761093519IDS_ERROR_271033Error reading from file [2]. Verify that the file exists and that you can access it.0-761093519IDS_ERROR_27011033The depth of a feature exceeds the acceptable tree depth of [2] levels.0-761093519IDS_ERROR_27021033A Feature table record ([2]) references a non-existent parent in the Attributes field.0-761093519IDS_ERROR_27031033Property name for root source path not defined: [2]0-761093519IDS_ERROR_27041033Root directory property undefined: [2]0-761093519IDS_ERROR_27051033Invalid table: [2]; Could not be linked as tree.0-761093519IDS_ERROR_27061033Source paths not created. No path exists for entry [2] in Directory table.0-761093519IDS_ERROR_27071033Target paths not created. No path exists for entry [2] in Directory table.0-761093519IDS_ERROR_27081033No entries found in the file table.0-761093519IDS_ERROR_27091033The specified Component name ('[2]') not found in Component table.0-761093519IDS_ERROR_27101033The requested 'Select' state is illegal for this Component.0-761093519IDS_ERROR_27111033The specified Feature name ('[2]') not found in Feature table.0-761093519IDS_ERROR_27121033Invalid return from modeless dialog: [3], in action [2].0-761093519IDS_ERROR_27131033Null value in a non-nullable column ('[2]' in '[3]' column of the '[4]' table.0-761093519IDS_ERROR_27141033Invalid value for default folder name: [2].0-761093519IDS_ERROR_27151033The specified File key ('[2]') not found in the File table.0-761093519IDS_ERROR_27161033Could not create a random subcomponent name for component '[2]'.0-761093519IDS_ERROR_27171033Bad action condition or error calling custom action '[2]'.0-761093519IDS_ERROR_27181033Missing package name for product code '[2]'.0-761093519IDS_ERROR_27191033Neither UNC nor drive letter path found in source '[2]'.0-761093519IDS_ERROR_27201033Error opening source list key. Error: '[2]'0-761093519IDS_ERROR_27211033Custom action [2] not found in Binary table stream.0-761093519IDS_ERROR_27221033Custom action [2] not found in File table.0-761093519IDS_ERROR_27231033Custom action [2] specifies unsupported type.0-761093519IDS_ERROR_27241033The volume label '[2]' on the media you're running from does not match the label '[3]' given in the Media table. This is allowed only if you have only 1 entry in your Media table.0-761093519IDS_ERROR_27251033Invalid database tables0-761093519IDS_ERROR_27261033Action not found: [2].0-761093519IDS_ERROR_27271033The directory entry '[2]' does not exist in the Directory table.0-761093519IDS_ERROR_27281033Table definition error: [2]0-761093519IDS_ERROR_27291033Install engine not initialized.0-761093519IDS_ERROR_27301033Bad value in database. Table: '[2]'; Primary key: '[3]'; Column: '[4]'0-761093519IDS_ERROR_27311033Selection Manager not initialized.0-761093519IDS_ERROR_27321033Directory Manager not initialized.0-761093519IDS_ERROR_27331033Bad foreign key ('[2]') in '[3]' column of the '[4]' table.0-761093519IDS_ERROR_27341033Invalid reinstall mode character.0-761093519IDS_ERROR_27351033Custom action '[2]' has caused an unhandled exception and has been stopped. This may be the result of an internal error in the custom action, such as an access violation.0-761093519IDS_ERROR_27361033Generation of custom action temp file failed: [2].0-761093519IDS_ERROR_27371033Could not access custom action [2], entry [3], library [4]0-761093519IDS_ERROR_27381033Could not access VBScript run time for custom action [2].0-761093519IDS_ERROR_27391033Could not access JavaScript run time for custom action [2].0-761093519IDS_ERROR_27401033Custom action [2] script error [3], [4]: [5] Line [6], Column [7], [8].0-761093519IDS_ERROR_27411033Configuration information for product [2] is corrupt. Invalid info: [2].0-761093519IDS_ERROR_27421033Marshaling to Server failed: [2].0-761093519IDS_ERROR_27431033Could not execute custom action [2], location: [3], command: [4].0-761093519IDS_ERROR_27441033EXE failed called by custom action [2], location: [3], command: [4].0-761093519IDS_ERROR_27451033Transform [2] invalid for package [3]. Expected language [4], found language [5].0-761093519IDS_ERROR_27461033Transform [2] invalid for package [3]. Expected product [4], found product [5].0-761093519IDS_ERROR_27471033Transform [2] invalid for package [3]. Expected product version < [4], found product version [5].0-761093519IDS_ERROR_27481033Transform [2] invalid for package [3]. Expected product version <= [4], found product version [5].0-761093519IDS_ERROR_27491033Transform [2] invalid for package [3]. Expected product version == [4], found product version [5].0-761093519IDS_ERROR_27501033Transform [2] invalid for package [3]. Expected product version >= [4], found product version [5].0-761093519IDS_ERROR_275021033Could not connect to [2] '[3]'. [4]0-761093519IDS_ERROR_275031033Error retrieving version string from [2] '[3]'. [4]0-761093519IDS_ERROR_275041033SQL version requirements not met: [3]. This installation requires [2] [4] or later.0-761093519IDS_ERROR_275051033Could not open SQL script file [2].0-761093519IDS_ERROR_275061033Error executing SQL script [2]. Line [3]. [4]0-761093519IDS_ERROR_275071033Connection or browsing for database servers requires that MDAC be installed.0-761093519IDS_ERROR_275081033Error installing COM+ application [2]. [3]0-761093519IDS_ERROR_275091033Error uninstalling COM+ application [2]. [3]0-761093519IDS_ERROR_27511033Transform [2] invalid for package [3]. Expected product version > [4], found product version [5].0-761093519IDS_ERROR_275101033Error installing COM+ application [2]. Could not load Microsoft(R) .NET class libraries. Registering .NET serviced components requires that Microsoft(R) .NET Framework be installed.0-761093519IDS_ERROR_275111033Could not execute SQL script file [2]. Connection not open: [3]0-761093519IDS_ERROR_275121033Error beginning transactions for [2] '[3]'. Database [4]. [5]0-761093519IDS_ERROR_275131033Error committing transactions for [2] '[3]'. Database [4]. [5]0-761093519IDS_ERROR_275141033This installation requires a Microsoft SQL Server. The specified server '[3]' is a Microsoft SQL Server Desktop Engine or SQL Server Express.0-761093519IDS_ERROR_275151033Error retrieving schema version from [2] '[3]'. Database: '[4]'. [5]0-761093519IDS_ERROR_275161033Error writing schema version to [2] '[3]'. Database: '[4]'. [5]0-761093519IDS_ERROR_275171033This installation requires Administrator privileges for installing COM+ applications. Log on as an administrator and then retry this installation.0-761093519IDS_ERROR_275181033The COM+ application "[2]" is configured to run as an NT service; this requires COM+ 1.5 or later on the system. Since your system has COM+ 1.0, this application will not be installed.0-761093519IDS_ERROR_275191033Error updating XML file [2]. [3]0-761093519IDS_ERROR_27521033Could not open transform [2] stored as child storage of package [4].0-761093519IDS_ERROR_275201033Error opening XML file [2]. [3]0-761093519IDS_ERROR_275211033This setup requires MSXML 3.0 or higher for configuring XML files. Please make sure that you have version 3.0 or higher.0-761093519IDS_ERROR_275221033Error creating XML file [2]. [3]0-761093519IDS_ERROR_275231033Error loading servers.0-761093519IDS_ERROR_275241033Error loading NetApi32.DLL. The ISNetApi.dll needs to have NetApi32.DLL properly loaded and requires an NT based operating system.0-761093519IDS_ERROR_275251033Server not found. Verify that the specified server exists. The server name can not be empty.0-761093519IDS_ERROR_275261033Unspecified error from ISNetApi.dll.0-761093519IDS_ERROR_275271033The buffer is too small.0-761093519IDS_ERROR_275281033Access denied. Check administrative rights.0-761093519IDS_ERROR_275291033Invalid computer.0-761093519IDS_ERROR_27531033The File '[2]' is not marked for installation.0-761093519IDS_ERROR_275301033Unknown error returned from NetAPI. System error: [2]0-761093519IDS_ERROR_275311033Unhandled exception.0-761093519IDS_ERROR_275321033Invalid user name for this server or domain.0-761093519IDS_ERROR_275331033The case-sensitive passwords do not match.0-761093519IDS_ERROR_275341033The list is empty.0-761093519IDS_ERROR_275351033Access violation.0-761093519IDS_ERROR_275361033Error getting group.0-761093519IDS_ERROR_275371033Error adding user to group. Verify that the group exists for this domain or server.0-761093519IDS_ERROR_275381033Error creating user.0-761093519IDS_ERROR_275391033ERROR_NETAPI_ERROR_NOT_PRIMARY returned from NetAPI.0-761093519IDS_ERROR_27541033The File '[2]' is not a valid patch file.0-761093519IDS_ERROR_275401033The specified user already exists.0-761093519IDS_ERROR_275411033The specified group already exists.0-761093519IDS_ERROR_275421033Invalid password. Verify that the password is in accordance with your network password policy.0-761093519IDS_ERROR_275431033Invalid name.0-761093519IDS_ERROR_275441033Invalid group.0-761093519IDS_ERROR_275451033The user name can not be empty and must be in the format DOMAIN\Username.0-761093519IDS_ERROR_275461033Error loading or creating INI file in the user TEMP directory.0-761093519IDS_ERROR_275471033ISNetAPI.dll is not loaded or there was an error loading the dll. This dll needs to be loaded for this operation. Verify that the dll is in the SUPPORTDIR directory.0-761093519IDS_ERROR_275481033Error deleting INI file containing new user information from the user's TEMP directory.0-761093519IDS_ERROR_275491033Error getting the primary domain controller (PDC).0-761093519IDS_ERROR_27551033Server returned unexpected error [2] attempting to install package [3].0-761093519IDS_ERROR_275501033Every field must have a value in order to create a user.0-761093519IDS_ERROR_275511033ODBC driver for [2] not found. This is required to connect to [2] database servers.0-761093519IDS_ERROR_275521033Error creating database [4]. Server: [2] [3]. [5]0-761093519IDS_ERROR_275531033Error connecting to database [4]. Server: [2] [3]. [5]0-761093519IDS_ERROR_275541033Error attempting to open connection [2]. No valid database metadata associated with this connection.0-761093519IDS_ERROR_275551033Error attempting to apply permissions to object '[2]'. System error: [3] ([4])0-761093519IDS_ERROR_27561033The property '[2]' was used as a directory property in one or more tables, but no value was ever assigned.0-761093519IDS_ERROR_27571033Could not create summary info for transform [2].0-761093519IDS_ERROR_27581033Transform [2] does not contain an MSI version.0-761093519IDS_ERROR_27591033Transform [2] version [3] incompatible with engine; Min: [4], Max: [5].0-761093519IDS_ERROR_27601033Transform [2] invalid for package [3]. Expected upgrade code [4], found [5].0-761093519IDS_ERROR_27611033Cannot begin transaction. Global mutex not properly initialized.0-761093519IDS_ERROR_27621033Cannot write script record. Transaction not started.0-761093519IDS_ERROR_27631033Cannot run script. Transaction not started.0-761093519IDS_ERROR_27651033Assembly name missing from AssemblyName table : Component: [4].0-761093519IDS_ERROR_27661033The file [2] is an invalid MSI storage file.0-761093519IDS_ERROR_27671033No more data{ while enumerating [2]}.0-761093519IDS_ERROR_27681033Transform in patch package is invalid.0-761093519IDS_ERROR_27691033Custom Action [2] did not close [3] MSIHANDLEs.0-761093519IDS_ERROR_27701033Cached folder [2] not defined in internal cache folder table.0-761093519IDS_ERROR_27711033Upgrade of feature [2] has a missing component.0-761093519IDS_ERROR_27721033New upgrade feature [2] must be a leaf feature.0-761093519IDS_ERROR_281033Another application has exclusive access to the file [2]. Please shut down all other applications, then click Retry.0-761093519IDS_ERROR_28011033Unknown Message -- Type [2]. No action is taken.0-761093519IDS_ERROR_28021033No publisher is found for the event [2].0-761093519IDS_ERROR_28031033Dialog View did not find a record for the dialog [2].0-761093519IDS_ERROR_28041033On activation of the control [3] on dialog [2] CMsiDialog failed to evaluate the condition [3].0-761093519IDS_ERROR_28061033The dialog [2] failed to evaluate the condition [3].0-761093519IDS_ERROR_28071033The action [2] is not recognized.0-761093519IDS_ERROR_28081033Default button is ill-defined on dialog [2].0-761093519IDS_ERROR_28091033On the dialog [2] the next control pointers do not form a cycle. There is a pointer from [3] to [4], but there is no further pointer.0-761093519IDS_ERROR_28101033On the dialog [2] the next control pointers do not form a cycle. There is a pointer from both [3] and [5] to [4].0-761093519IDS_ERROR_28111033On dialog [2] control [3] has to take focus, but it is unable to do so.0-761093519IDS_ERROR_28121033The event [2] is not recognized.0-761093519IDS_ERROR_28131033The EndDialog event was called with the argument [2], but the dialog has a parent.0-761093519IDS_ERROR_28141033On the dialog [2] the control [3] names a nonexistent control [4] as the next control.0-761093519IDS_ERROR_28151033ControlCondition table has a row without condition for the dialog [2].0-761093519IDS_ERROR_28161033The EventMapping table refers to an invalid control [4] on dialog [2] for the event [3].0-761093519IDS_ERROR_28171033The event [2] failed to set the attribute for the control [4] on dialog [3].0-761093519IDS_ERROR_28181033In the ControlEvent table EndDialog has an unrecognized argument [2].0-761093519IDS_ERROR_28191033Control [3] on dialog [2] needs a property linked to it.0-761093519IDS_ERROR_28201033Attempted to initialize an already initialized handler.0-761093519IDS_ERROR_28211033Attempted to initialize an already initialized dialog: [2].0-761093519IDS_ERROR_28221033No other method can be called on dialog [2] until all the controls are added.0-761093519IDS_ERROR_28231033Attempted to initialize an already initialized control: [3] on dialog [2].0-761093519IDS_ERROR_28241033The dialog attribute [3] needs a record of at least [2] field(s).0-761093519IDS_ERROR_28251033The control attribute [3] needs a record of at least [2] field(s).0-761093519IDS_ERROR_28261033Control [3] on dialog [2] extends beyond the boundaries of the dialog [4] by [5] pixels.0-761093519IDS_ERROR_28271033The button [4] on the radio button group [3] on dialog [2] extends beyond the boundaries of the group [5] by [6] pixels.0-761093519IDS_ERROR_28281033Tried to remove control [3] from dialog [2], but the control is not part of the dialog.0-761093519IDS_ERROR_28291033Attempt to use an uninitialized dialog.0-761093519IDS_ERROR_28301033Attempt to use an uninitialized control on dialog [2].0-761093519IDS_ERROR_28311033The control [3] on dialog [2] does not support [5] the attribute [4].0-761093519IDS_ERROR_28321033The dialog [2] does not support the attribute [3].0-761093519IDS_ERROR_28331033Control [4] on dialog [3] ignored the message [2].0-761093519IDS_ERROR_28341033The next pointers on the dialog [2] do not form a single loop.0-761093519IDS_ERROR_28351033The control [2] was not found on dialog [3].0-761093519IDS_ERROR_28361033The control [3] on the dialog [2] cannot take focus.0-761093519IDS_ERROR_28371033The control [3] on dialog [2] wants the winproc to return [4].0-761093519IDS_ERROR_28381033The item [2] in the selection table has itself as a parent.0-761093519IDS_ERROR_28391033Setting the property [2] failed.0-761093519IDS_ERROR_28401033Error dialog name mismatch.0-761093519IDS_ERROR_28411033No OK button was found on the error dialog.0-761093519IDS_ERROR_28421033No text field was found on the error dialog.0-761093519IDS_ERROR_28431033The ErrorString attribute is not supported for standard dialogs.0-761093519IDS_ERROR_28441033Cannot execute an error dialog if the Errorstring is not set.0-761093519IDS_ERROR_28451033The total width of the buttons exceeds the size of the error dialog.0-761093519IDS_ERROR_28461033SetFocus did not find the required control on the error dialog.0-761093519IDS_ERROR_28471033The control [3] on dialog [2] has both the icon and the bitmap style set.0-761093519IDS_ERROR_28481033Tried to set control [3] as the default button on dialog [2], but the control does not exist.0-761093519IDS_ERROR_28491033The control [3] on dialog [2] is of a type, that cannot be integer valued.0-761093519IDS_ERROR_28501033Unrecognized volume type.0-761093519IDS_ERROR_28511033The data for the icon [2] is not valid.0-761093519IDS_ERROR_28521033At least one control has to be added to dialog [2] before it is used.0-761093519IDS_ERROR_28531033Dialog [2] is a modeless dialog. The execute method should not be called on it.0-761093519IDS_ERROR_28541033On the dialog [2] the control [3] is designated as first active control, but there is no such control.0-761093519IDS_ERROR_28551033The radio button group [3] on dialog [2] has fewer than 2 buttons.0-761093519IDS_ERROR_28561033Creating a second copy of the dialog [2].0-761093519IDS_ERROR_28571033The directory [2] is mentioned in the selection table but not found.0-761093519IDS_ERROR_28581033The data for the bitmap [2] is not valid.0-761093519IDS_ERROR_28591033Test error message.0-761093519IDS_ERROR_28601033Cancel button is ill-defined on dialog [2].0-761093519IDS_ERROR_28611033The next pointers for the radio buttons on dialog [2] control [3] do not form a cycle.0-761093519IDS_ERROR_28621033The attributes for the control [3] on dialog [2] do not define a valid icon size. Setting the size to 16.0-761093519IDS_ERROR_28631033The control [3] on dialog [2] needs the icon [4] in size [5]x[5], but that size is not available. Loading the first available size.0-761093519IDS_ERROR_28641033The control [3] on dialog [2] received a browse event, but there is no configurable directory for the present selection. Likely cause: browse button is not authored correctly.0-761093519IDS_ERROR_28651033Control [3] on billboard [2] extends beyond the boundaries of the billboard [4] by [5] pixels.0-761093519IDS_ERROR_28661033The dialog [2] is not allowed to return the argument [3].0-761093519IDS_ERROR_28671033The error dialog property is not set.0-761093519IDS_ERROR_28681033The error dialog [2] does not have the error style bit set.0-761093519IDS_ERROR_28691033The dialog [2] has the error style bit set, but is not an error dialog.0-761093519IDS_ERROR_28701033The help string [4] for control [3] on dialog [2] does not contain the separator character.0-761093519IDS_ERROR_28711033The [2] table is out of date: [3].0-761093519IDS_ERROR_28721033The argument of the CheckPath control event on dialog [2] is invalid.0-761093519IDS_ERROR_28731033On the dialog [2] the control [3] has an invalid string length limit: [4].0-761093519IDS_ERROR_28741033Changing the text font to [2] failed.0-761093519IDS_ERROR_28751033Changing the text color to [2] failed.0-761093519IDS_ERROR_28761033The control [3] on dialog [2] had to truncate the string: [4].0-761093519IDS_ERROR_28771033The binary data [2] was not found0-761093519IDS_ERROR_28781033On the dialog [2] the control [3] has a possible value: [4]. This is an invalid or duplicate value.0-761093519IDS_ERROR_28791033The control [3] on dialog [2] cannot parse the mask string: [4].0-761093519IDS_ERROR_28801033Do not perform the remaining control events.0-761093519IDS_ERROR_28811033CMsiHandler initialization failed.0-761093519IDS_ERROR_28821033Dialog window class registration failed.0-761093519IDS_ERROR_28831033CreateNewDialog failed for the dialog [2].0-761093519IDS_ERROR_28841033Failed to create a window for the dialog [2].0-761093519IDS_ERROR_28851033Failed to create the control [3] on the dialog [2].0-761093519IDS_ERROR_28861033Creating the [2] table failed.0-761093519IDS_ERROR_28871033Creating a cursor to the [2] table failed.0-761093519IDS_ERROR_28881033Executing the [2] view failed.0-761093519IDS_ERROR_28891033Creating the window for the control [3] on dialog [2] failed.0-761093519IDS_ERROR_28901033The handler failed in creating an initialized dialog.0-761093519IDS_ERROR_28911033Failed to destroy window for dialog [2].0-761093519IDS_ERROR_28921033[2] is an integer only control, [3] is not a valid integer value.0-761093519IDS_ERROR_28931033The control [3] on dialog [2] can accept property values that are at most [5] characters long. The value [4] exceeds this limit, and has been truncated.0-761093519IDS_ERROR_28941033Loading RICHED20.DLL failed. GetLastError() returned: [2].0-761093519IDS_ERROR_28951033Freeing RICHED20.DLL failed. GetLastError() returned: [2].0-761093519IDS_ERROR_28961033Executing action [2] failed.0-761093519IDS_ERROR_28971033Failed to create any [2] font on this system.0-761093519IDS_ERROR_28981033For [2] textstyle, the system created a '[3]' font, in [4] character set.0-761093519IDS_ERROR_28991033Failed to create [2] textstyle. GetLastError() returned: [3].0-761093519IDS_ERROR_291033There is not enough disk space to install the file [2]. Free some disk space and click Retry, or click Cancel to exit.0-761093519IDS_ERROR_29011033Invalid parameter to operation [2]: Parameter [3].0-761093519IDS_ERROR_29021033Operation [2] called out of sequence.0-761093519IDS_ERROR_29031033The file [2] is missing.0-761093519IDS_ERROR_29041033Could not BindImage file [2].0-761093519IDS_ERROR_29051033Could not read record from script file [2].0-761093519IDS_ERROR_29061033Missing header in script file [2].0-761093519IDS_ERROR_29071033Could not create secure security descriptor. Error: [2].0-761093519IDS_ERROR_29081033Could not register component [2].0-761093519IDS_ERROR_29091033Could not unregister component [2].0-761093519IDS_ERROR_29101033Could not determine user's security ID.0-761093519IDS_ERROR_29111033Could not remove the folder [2].0-761093519IDS_ERROR_29121033Could not schedule file [2] for removal on restart.0-761093519IDS_ERROR_29191033No cabinet specified for compressed file: [2].0-761093519IDS_ERROR_29201033Source directory not specified for file [2].0-761093519IDS_ERROR_29241033Script [2] version unsupported. Script version: [3], minimum version: [4], maximum version: [5].0-761093519IDS_ERROR_29271033ShellFolder id [2] is invalid.0-761093519IDS_ERROR_29281033Exceeded maximum number of sources. Skipping source '[2]'.0-761093519IDS_ERROR_29291033Could not determine publishing root. Error: [2].0-761093519IDS_ERROR_29321033Could not create file [2] from script data. Error: [3].0-761093519IDS_ERROR_29331033Could not initialize rollback script [2].0-761093519IDS_ERROR_29341033Could not secure transform [2]. Error [3].0-761093519IDS_ERROR_29351033Could not unsecure transform [2]. Error [3].0-761093519IDS_ERROR_29361033Could not find transform [2].0-761093519IDS_ERROR_29371033Windows Installer cannot install a system file protection catalog. Catalog: [2], Error: [3].0-761093519IDS_ERROR_29381033Windows Installer cannot retrieve a system file protection catalog from the cache. Catalog: [2], Error: [3].0-761093519IDS_ERROR_29391033Windows Installer cannot delete a system file protection catalog from the cache. Catalog: [2], Error: [3].0-761093519IDS_ERROR_29401033Directory Manager not supplied for source resolution.0-761093519IDS_ERROR_29411033Unable to compute the CRC for file [2].0-761093519IDS_ERROR_29421033BindImage action has not been executed on [2] file.0-761093519IDS_ERROR_29431033This version of Windows does not support deploying 64-bit packages. The script [2] is for a 64-bit package.0-761093519IDS_ERROR_29441033GetProductAssignmentType failed.0-761093519IDS_ERROR_29451033Installation of ComPlus App [2] failed with error [3].0-761093519IDS_ERROR_31033Info [1]. 0-761093519IDS_ERROR_301033Source file not found: [2]. Verify that the file exists and that you can access it.0-761093519IDS_ERROR_30011033The patches in this list contain incorrect sequencing information: [2][3][4][5][6][7][8][9][10][11][12][13][14][15][16].0-761093519IDS_ERROR_30021033Patch [2] contains invalid sequencing information. 0-761093519IDS_ERROR_311033Error reading from file: [3]. {{ System error [2].}} Verify that the file exists and that you can access it.0-761093519IDS_ERROR_321033Error writing to file: [3]. {{ System error [2].}} Verify that you have access to that directory.0-761093519IDS_ERROR_331033Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it.0-761093519IDS_ERROR_341033Cannot create the directory [2]. A file with this name already exists. Please rename or remove the file and click Retry, or click Cancel to exit.0-761093519IDS_ERROR_351033The volume [2] is currently unavailable. Please select another.0-761093519IDS_ERROR_361033The specified path [2] is unavailable.0-761093519IDS_ERROR_371033Unable to write to the specified folder [2].0-761093519IDS_ERROR_381033A network error occurred while attempting to read from the file [2]0-761093519IDS_ERROR_391033An error occurred while attempting to create the directory [2]0-761093519IDS_ERROR_41033Internal Error [1]. [2]{, [3]}{, [4]}0-761093519IDS_ERROR_401033A network error occurred while attempting to create the directory [2]0-761093519IDS_ERROR_411033A network error occurred while attempting to open the source file cabinet [2].0-761093519IDS_ERROR_421033The specified path is too long [2].0-761093519IDS_ERROR_431033The Installer has insufficient privileges to modify the file [2].0-761093519IDS_ERROR_441033A portion of the path [2] exceeds the length allowed by the system.0-761093519IDS_ERROR_451033The path [2] contains words that are not valid in folders.0-761093519IDS_ERROR_461033The path [2] contains an invalid character.0-761093519IDS_ERROR_471033[2] is not a valid short file name.0-761093519IDS_ERROR_481033Error getting file security: [3] GetLastError: [2]0-761093519IDS_ERROR_491033Invalid Drive: [2]0-761093519IDS_ERROR_51033{{Disk full: }}0-761093519IDS_ERROR_501033Could not create key [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel.0-761093519IDS_ERROR_511033Could not open key: [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel.0-761093519IDS_ERROR_521033Could not delete value [2] from key [3]. {{ System error [4].}} Verify that you have sufficient access to that key, or contact your support personnel.0-761093519IDS_ERROR_531033Could not delete key [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel.0-761093519IDS_ERROR_541033Could not read value [2] from key [3]. {{ System error [4].}} Verify that you have sufficient access to that key, or contact your support personnel.0-761093519IDS_ERROR_551033Could not write value [2] to key [3]. {{ System error [4].}} Verify that you have sufficient access to that key, or contact your support personnel.0-761093519IDS_ERROR_561033Could not get value names for key [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel.0-761093519IDS_ERROR_571033Could not get sub key names for key [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel.0-761093519IDS_ERROR_581033Could not read security information for key [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel.0-761093519IDS_ERROR_591033Could not increase the available registry space. [2] KB of free registry space is required for the installation of this application.0-761093519IDS_ERROR_61033Action [Time]: [1]. [2]0-761093519IDS_ERROR_601033Another installation is in progress. You must complete that installation before continuing this one.0-761093519IDS_ERROR_611033Error accessing secured data. Please make sure the Windows Installer is configured properly and try the installation again.0-761093519IDS_ERROR_621033User [2] has previously initiated an installation for product [3]. That user will need to run that installation again before using that product. Your current installation will now continue.0-761093519IDS_ERROR_631033User [2] has previously initiated an installation for product [3]. That user will need to run that installation again before using that product.0-761093519IDS_ERROR_641033Out of disk space -- Volume: '[2]'; required space: [3] KB; available space: [4] KB. Free some disk space and retry.0-761093519IDS_ERROR_651033Are you sure you want to cancel?0-761093519IDS_ERROR_661033The file [2][3] is being held in use{ by the following process: Name: [4], ID: [5], Window Title: [6]}. Close that application and retry.0-761093519IDS_ERROR_671033The product [2] is already installed, preventing the installation of this product. The two products are incompatible.0-761093519IDS_ERROR_681033Out of disk space -- Volume: [2]; required space: [3] KB; available space: [4] KB. If rollback is disabled, enough space is available. Click Cancel to quit, Retry to check available disk space again, or Ignore to continue without rollback.0-761093519IDS_ERROR_691033Could not access network location [2].0-761093519IDS_ERROR_71033[ProductName]0-761093519IDS_ERROR_701033The following applications should be closed before continuing the installation:0-761093519IDS_ERROR_711033Could not find any previously installed compliant products on the machine for installing this product.0-761093519IDS_ERROR_721033The key [2] is not valid. Verify that you entered the correct key.0-761093519IDS_ERROR_731033The installer must restart your system before configuration of [2] can continue. Click Yes to restart now or No if you plan to restart later.0-761093519IDS_ERROR_741033You must restart your system for the configuration changes made to [2] to take effect. Click Yes to restart now or No if you plan to restart later.0-761093519IDS_ERROR_751033An installation for [2] is currently suspended. You must undo the changes made by that installation to continue. Do you want to undo those changes?0-761093519IDS_ERROR_761033A previous installation for this product is in progress. You must undo the changes made by that installation to continue. Do you want to undo those changes?0-761093519IDS_ERROR_771033No valid source could be found for product [2]. The Windows Installer cannot continue.0-761093519IDS_ERROR_781033Installation operation completed successfully.0-761093519IDS_ERROR_791033Installation operation failed.0-761093519IDS_ERROR_81033{[2]}{, [3]}{, [4]}0-761093519IDS_ERROR_801033Product: [2] -- [3]0-761093519IDS_ERROR_811033You may either restore your computer to its previous state or continue the installation later. Would you like to restore?0-761093519IDS_ERROR_821033An error occurred while writing installation information to disk. Check to make sure enough disk space is available, and click Retry, or Cancel to end the installation.0-761093519IDS_ERROR_831033One or more of the files required to restore your computer to its previous state could not be found. Restoration will not be possible.0-761093519IDS_ERROR_841033The path [2] is not valid. Please specify a valid path.0-761093519IDS_ERROR_851033Out of memory. Shut down other applications before retrying.0-761093519IDS_ERROR_861033There is no disk in drive [2]. Please insert one and click Retry, or click Cancel to go back to the previously selected volume.0-761093519IDS_ERROR_871033There is no disk in drive [2]. Please insert one and click Retry, or click Cancel to return to the browse dialog and select a different volume.0-761093519IDS_ERROR_881033The folder [2] does not exist. Please enter a path to an existing folder.0-761093519IDS_ERROR_891033You have insufficient privileges to read this folder.0-761093519IDS_ERROR_91033Message type: [1], Argument: [2]0-761093519IDS_ERROR_901033A valid destination folder for the installation could not be determined.0-761093519IDS_ERROR_911033Error attempting to read from the source installation database: [2].0-761093519IDS_ERROR_921033Scheduling reboot operation: Renaming file [2] to [3]. Must reboot to complete operation.0-761093519IDS_ERROR_931033Scheduling reboot operation: Deleting file [2]. Must reboot to complete operation.0-761093519IDS_ERROR_941033Module [2] failed to register. HRESULT [3]. Contact your support personnel.0-761093519IDS_ERROR_951033Module [2] failed to unregister. HRESULT [3]. Contact your support personnel.0-761093519IDS_ERROR_961033Failed to cache package [2]. Error: [3]. Contact your support personnel.0-761093519IDS_ERROR_971033Could not register font [2]. Verify that you have sufficient permissions to install fonts, and that the system supports this font.0-761093519IDS_ERROR_981033Could not unregister font [2]. Verify that you have sufficient permissions to remove fonts.0-761093519IDS_ERROR_991033Could not create shortcut [2]. Verify that the destination folder exists and that you can access it.0-761093519IDS_INSTALLDIR1033[INSTALLDIR]0-761093519IDS_INSTALLSHIELD1033InstallShield0-761093519IDS_INSTALLSHIELD_FORMATTED1033{&MSSWhiteSerif8}InstallShield0-761093519IDS_ISSCRIPT_VERSION_MISSING1033The InstallScript engine is missing from this machine. If available, please run ISScript.msi, or contact your support personnel for further assistance.0-761093519IDS_ISSCRIPT_VERSION_OLD1033The InstallScript engine on this machine is older than the version required to run this setup. If available, please install the latest version of ISScript.msi, or contact your support personnel for further assistance.0-761093519IDS_NEXT1033&Next >0-761093519IDS_OK1033OK0-761093519IDS_PREREQUISITE_SETUP_BROWSE1033Open [ProductName]'s original [SETUPEXENAME]0-761093519IDS_PREREQUISITE_SETUP_INVALID1033This executable file does not appear to be the original executable file for [ProductName]. Without using the original [SETUPEXENAME] to install additional dependencies, [ProductName] may not work correctly. Would you like to find the original [SETUPEXENAME]?0-761093519IDS_PREREQUISITE_SETUP_SEARCH1033This installation may require additional dependencies. Without its dependencies, [ProductName] may not work correctly. Would you like to find the original [SETUPEXENAME]?0-761093519IDS_PREVENT_DOWNGRADE_EXIT1033A newer version of this application is already installed on this computer. If you wish to install this version, please uninstall the newer version first. Click OK to exit the wizard.0-761093519IDS_PRINT_BUTTON1033&Print0-761093519IDS_PRODUCTNAME_INSTALLSHIELD1033[ProductName] - InstallShield Wizard0-761093519IDS_PROGMSG_IIS_CREATEAPPPOOL1033Creating application pool %s0-761093519IDS_PROGMSG_IIS_CREATEAPPPOOLS1033Creating application Pools...0-761093519IDS_PROGMSG_IIS_CREATEVROOT1033Creating IIS virtual directory %s0-761093519IDS_PROGMSG_IIS_CREATEVROOTS1033Creating IIS virtual directories...0-761093519IDS_PROGMSG_IIS_CREATEWEBSERVICEEXTENSION1033Creating web service extension0-761093519IDS_PROGMSG_IIS_CREATEWEBSERVICEEXTENSIONS1033Creating web service extensions...0-761093519IDS_PROGMSG_IIS_CREATEWEBSITE1033Creating IIS website %s0-761093519IDS_PROGMSG_IIS_CREATEWEBSITES1033Creating IIS websites...0-761093519IDS_PROGMSG_IIS_EXTRACT1033Extracting information for IIS virtual directories...0-761093519IDS_PROGMSG_IIS_EXTRACTDONE1033Extracted information for IIS virtual directories...0-761093519IDS_PROGMSG_IIS_REMOVEAPPPOOL1033Removing application pool0-761093519IDS_PROGMSG_IIS_REMOVEAPPPOOLS1033Removing application pools...0-761093519IDS_PROGMSG_IIS_REMOVESITE1033Removing web site at port %d0-761093519IDS_PROGMSG_IIS_REMOVEVROOT1033Removing IIS virtual directory %s0-761093519IDS_PROGMSG_IIS_REMOVEVROOTS1033Removing IIS virtual directories...0-761093519IDS_PROGMSG_IIS_REMOVEWEBSERVICEEXTENSION1033Removing web service extension0-761093519IDS_PROGMSG_IIS_REMOVEWEBSERVICEEXTENSIONS1033Removing web service extensions...0-761093519IDS_PROGMSG_IIS_REMOVEWEBSITES1033Removing IIS websites...0-761093519IDS_PROGMSG_IIS_ROLLBACKAPPPOOLS1033Rolling back application pools...0-761093519IDS_PROGMSG_IIS_ROLLBACKVROOTS1033Rolling back virtual directory and web site changes...0-761093519IDS_PROGMSG_IIS_ROLLBACKWEBSERVICEEXTENSIONS1033Rolling back web service extensions...0-761093519IDS_PROGMSG_TEXTFILECHANGS_REPLACE1033Replacing %s with %s in %s...0-761093519IDS_PROGMSG_XML_COSTING1033Costing XML files...0-761093519IDS_PROGMSG_XML_CREATE_FILE1033Creating XML file %s...0-761093519IDS_PROGMSG_XML_FILES1033Performing XML file changes...0-761093519IDS_PROGMSG_XML_REMOVE_FILE1033Removing XML file %s...0-761093519IDS_PROGMSG_XML_ROLLBACK_FILES1033Rolling back XML file changes...0-761093519IDS_PROGMSG_XML_UPDATE_FILE1033Updating XML file %s...0-761093519IDS_SETUPEXE_EXPIRE_MSG1033This setup works until %s. The setup will now exit.0-761093519IDS_SETUPEXE_LAUNCH_COND_E1033This setup was built with an evaluation version of InstallShield and can only be launched from setup.exe.0-761093519IDS_SQLBROWSE_INTRO1033From the list of servers below, select the database server you would like to target.0-761093519IDS_SQLBROWSE_INTRO_DB1033From the list of catalog names below, select the database catalog you would like to target.0-761093519IDS_SQLBROWSE_INTRO_TEMPLATE1033[IS_SQLBROWSE_INTRO]0-761093519IDS_SQLLOGIN_BROWSE1033B&rowse...0-761093519IDS_SQLLOGIN_BROWSE_DB1033Br&owse...0-761093519IDS_SQLLOGIN_CATALOG1033&Name of database catalog:0-761093519IDS_SQLLOGIN_CONNECT1033Connect using:0-761093519IDS_SQLLOGIN_DESC1033Select database server and authentication method0-761093519IDS_SQLLOGIN_ID1033&Login ID:0-761093519IDS_SQLLOGIN_INTRO1033Select the database server to install to from the list below or click Browse to see a list of all database servers. You can also specify the way to authenticate your login using your current credentials or a SQL Login ID and Password.0-761093519IDS_SQLLOGIN_PSWD1033&Password:0-761093519IDS_SQLLOGIN_SERVER1033&Database Server:0-761093519IDS_SQLLOGIN_SERVER21033&Database server that you are installing to:0-761093519IDS_SQLLOGIN_SQL1033S&erver authentication using the Login ID and password below0-761093519IDS_SQLLOGIN_TITLE1033{&MSSansBold8}Database Server0-761093519IDS_SQLLOGIN_WIN1033&Windows authentication credentials of current user0-761093519IDS_SQLSCRIPT_INSTALLING1033Executing SQL Install Script...0-761093519IDS_SQLSCRIPT_UNINSTALLING1033Executing SQL Uninstall Script...0-761093519IDS_STANDARD_USE_SETUPEXE1033This installation cannot be run by directly launching the MSI package. You must run setup.exe.0-761093519IDS_SetupTips_Advertise1033Will be installed on first use. (Available only if the feature supports this option.)0-761093519IDS_SetupTips_AllInstalledLocal1033Will be completely installed to the local hard drive.0-761093519IDS_SetupTips_CustomSetup1033{&MSSansBold8}Custom Setup Tips0-761093519IDS_SetupTips_CustomSetupDescription1033Custom Setup allows you to selectively install program features.0-761093519IDS_SetupTips_IconInstallState1033The icon next to the feature name indicates the install state of the feature. Click the icon to drop down the install state menu for each feature.0-761093519IDS_SetupTips_InstallState1033This install state means the feature...0-761093519IDS_SetupTips_Network1033Will be installed to run from the network. (Available only if the feature supports this option.)0-761093519IDS_SetupTips_OK1033OK0-761093519IDS_SetupTips_SubFeaturesInstalledLocal1033Will have some subfeatures installed to the local hard drive. (Available only if the feature has subfeatures.)0-761093519IDS_SetupTips_WillNotBeInstalled1033Will not be installed.0-761093519IDS_UITEXT_Available1033Available0-761093519IDS_UITEXT_Bytes1033bytes0-761093519IDS_UITEXT_CompilingFeaturesCost1033Compiling cost for this feature...0-761093519IDS_UITEXT_Differences1033Differences0-761093519IDS_UITEXT_DiskSize1033Disk Size0-761093519IDS_UITEXT_FeatureCompletelyRemoved1033This feature will be completely removed.0-761093519IDS_UITEXT_FeatureContinueNetwork1033This feature will continue to be run from the network0-761093519IDS_UITEXT_FeatureFreeSpace1033This feature frees up [1] on your hard drive.0-761093519IDS_UITEXT_FeatureInstalledCD1033This feature, and all subfeatures, will be installed to run from the CD.0-761093519IDS_UITEXT_FeatureInstalledCD21033This feature will be installed to run from CD.0-761093519IDS_UITEXT_FeatureInstalledLocal1033This feature, and all subfeatures, will be installed on local hard drive.0-761093519IDS_UITEXT_FeatureInstalledLocal21033This feature will be installed on local hard drive.0-761093519IDS_UITEXT_FeatureInstalledNetwork1033This feature, and all subfeatures, will be installed to run from the network.0-761093519IDS_UITEXT_FeatureInstalledNetwork21033This feature will be installed to run from network.0-761093519IDS_UITEXT_FeatureInstalledRequired1033Will be installed when required.0-761093519IDS_UITEXT_FeatureInstalledWhenRequired1033This feature will be set to be installed when required.0-761093519IDS_UITEXT_FeatureInstalledWhenRequired21033This feature will be installed when required.0-761093519IDS_UITEXT_FeatureLocal1033This feature will be installed on the local hard drive.0-761093519IDS_UITEXT_FeatureLocal21033This feature will be installed on your local hard drive.0-761093519IDS_UITEXT_FeatureNetwork1033This feature will be installed to run from the network.0-761093519IDS_UITEXT_FeatureNetwork21033This feature will be available to run from the network.0-761093519IDS_UITEXT_FeatureNotAvailable1033This feature will not be available.0-761093519IDS_UITEXT_FeatureOnCD1033This feature will be installed to run from CD.0-761093519IDS_UITEXT_FeatureOnCD21033This feature will be available to run from CD.0-761093519IDS_UITEXT_FeatureRemainLocal1033This feature will remain on your local hard drive.0-761093519IDS_UITEXT_FeatureRemoveNetwork1033This feature will be removed from your local hard drive, but will be still available to run from the network.0-761093519IDS_UITEXT_FeatureRemovedCD1033This feature will be removed from your local hard drive but will still be available to run from CD.0-761093519IDS_UITEXT_FeatureRemovedUnlessRequired1033This feature will be removed from your local hard drive but will be set to be installed when required.0-761093519IDS_UITEXT_FeatureRequiredSpace1033This feature requires [1] on your hard drive.0-761093519IDS_UITEXT_FeatureRunFromCD1033This feature will continue to be run from the CD0-761093519IDS_UITEXT_FeatureSpaceFree1033This feature frees up [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures free up [4] on your hard drive.0-761093519IDS_UITEXT_FeatureSpaceFree21033This feature frees up [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures require [4] on your hard drive.0-761093519IDS_UITEXT_FeatureSpaceFree31033This feature requires [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures free up [4] on your hard drive.0-761093519IDS_UITEXT_FeatureSpaceFree41033This feature requires [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures require [4] on your hard drive.0-761093519IDS_UITEXT_FeatureUnavailable1033This feature will become unavailable.0-761093519IDS_UITEXT_FeatureUninstallNoNetwork1033This feature will be uninstalled completely, and you won't be able to run it from the network.0-761093519IDS_UITEXT_FeatureWasCD1033This feature was run from the CD but will be set to be installed when required.0-761093519IDS_UITEXT_FeatureWasCDLocal1033This feature was run from the CD but will be installed on the local hard drive.0-761093519IDS_UITEXT_FeatureWasOnNetworkInstalled1033This feature was run from the network but will be installed when required.0-761093519IDS_UITEXT_FeatureWasOnNetworkLocal1033This feature was run from the network but will be installed on the local hard drive.0-761093519IDS_UITEXT_FeatureWillBeUninstalled1033This feature will be uninstalled completely, and you won't be able to run it from CD.0-761093519IDS_UITEXT_Folder1033Fldr|New Folder0-761093519IDS_UITEXT_GB1033GB0-761093519IDS_UITEXT_KB1033KB0-761093519IDS_UITEXT_MB1033MB0-761093519IDS_UITEXT_Required1033Required0-761093519IDS_UITEXT_TimeRemaining1033Time remaining: {[1] min }{[2] sec}0-761093519IDS_UITEXT_Volume1033Volume0-761093519IDS__AgreeToLicense_01033I &do not accept the terms in the license agreement0-761093519IDS__AgreeToLicense_11033I &accept the terms in the license agreement0-761093519IDS__DatabaseFolder_ChangeFolder1033Click Next to install to this folder, or click Change to install to a different folder.0-761093519IDS__DatabaseFolder_DatabaseDir1033[DATABASEDIR]0-761093519IDS__DatabaseFolder_DatabaseFolder1033{&MSSansBold8}Database Folder0-761093519IDS__DestinationFolder_Change1033&Change...0-761093519IDS__DestinationFolder_ChangeFolder1033Click Next to install to this folder, or click Change to install to a different folder.0-761093519IDS__DestinationFolder_DestinationFolder1033{&MSSansBold8}Destination Folder0-761093519IDS__DestinationFolder_InstallTo1033Install [ProductName] to:0-761093519IDS__DisplayName_Custom1033Custom0-761093519IDS__DisplayName_Minimal1033Minimal0-761093519IDS__DisplayName_Typical1033Typical0-761093519IDS__IsAdminInstallBrowse_1110330-761093519IDS__IsAdminInstallBrowse_410330-761093519IDS__IsAdminInstallBrowse_810330-761093519IDS__IsAdminInstallBrowse_BrowseDestination1033Browse to the destination folder.0-761093519IDS__IsAdminInstallBrowse_ChangeDestination1033{&MSSansBold8}Change Current Destination Folder0-761093519IDS__IsAdminInstallBrowse_CreateFolder1033Create new folder|0-761093519IDS__IsAdminInstallBrowse_FolderName1033&Folder name:0-761093519IDS__IsAdminInstallBrowse_LookIn1033&Look in:0-761093519IDS__IsAdminInstallBrowse_UpOneLevel1033Up one level|0-761093519IDS__IsAdminInstallPointWelcome_ServerImage1033The InstallShield(R) Wizard will create a server image of [ProductName] at a specified network location. To continue, click Next.0-761093519IDS__IsAdminInstallPointWelcome_Wizard1033{&TahomaBold10}Welcome to the InstallShield Wizard for [ProductName]0-761093519IDS__IsAdminInstallPoint_Change1033&Change...0-761093519IDS__IsAdminInstallPoint_EnterNetworkLocation1033Enter the network location or click Change to browse to a location. Click Install to create a server image of [ProductName] at the specified network location or click Cancel to exit the wizard.0-761093519IDS__IsAdminInstallPoint_Install1033&Install0-761093519IDS__IsAdminInstallPoint_NetworkLocation1033&Network location:0-761093519IDS__IsAdminInstallPoint_NetworkLocationFormatted1033{&MSSansBold8}Network Location0-761093519IDS__IsAdminInstallPoint_SpecifyNetworkLocation1033Specify a network location for the server image of the product.0-761093519IDS__IsBrowseButton1033&Browse...0-761093519IDS__IsBrowseFolderDlg_1110330-761093519IDS__IsBrowseFolderDlg_410330-761093519IDS__IsBrowseFolderDlg_810330-761093519IDS__IsBrowseFolderDlg_BrowseDestFolder1033Browse to the destination folder.0-761093519IDS__IsBrowseFolderDlg_ChangeCurrentFolder1033{&MSSansBold8}Change Current Destination Folder0-761093519IDS__IsBrowseFolderDlg_CreateFolder1033Create New Folder|0-761093519IDS__IsBrowseFolderDlg_FolderName1033&Folder name:0-761093519IDS__IsBrowseFolderDlg_LookIn1033&Look in:0-761093519IDS__IsBrowseFolderDlg_OK1033OK0-761093519IDS__IsBrowseFolderDlg_UpOneLevel1033Up One Level|0-761093519IDS__IsBrowseForAccount1033Browse for a User Account0-761093519IDS__IsBrowseGroup1033Select a Group0-761093519IDS__IsBrowseUsernameTitle1033Select a User Name0-761093519IDS__IsCancelDlg_ConfirmCancel1033Are you sure you want to cancel [ProductName] installation?0-761093519IDS__IsCancelDlg_No1033&No0-761093519IDS__IsCancelDlg_Yes1033&Yes0-761093519IDS__IsConfirmPassword1033Con&firm password:0-761093519IDS__IsCreateNewUserTitle1033New User Information0-761093519IDS__IsCreateUserBrowse1033N&ew User Information...0-761093519IDS__IsCustomSelectionDlg_Change1033&Change...0-761093519IDS__IsCustomSelectionDlg_ClickFeatureIcon1033Click on an icon in the list below to change how a feature is installed.0-761093519IDS__IsCustomSelectionDlg_CustomSetup1033{&MSSansBold8}Custom Setup0-761093519IDS__IsCustomSelectionDlg_FeatureDescription1033Feature Description0-761093519IDS__IsCustomSelectionDlg_FeaturePath1033<selected feature path>0-761093519IDS__IsCustomSelectionDlg_FeatureSize1033Feature size0-761093519IDS__IsCustomSelectionDlg_Help1033&Help0-761093519IDS__IsCustomSelectionDlg_InstallTo1033Install to:0-761093519IDS__IsCustomSelectionDlg_MultilineDescription1033Multiline description of the currently selected item0-761093519IDS__IsCustomSelectionDlg_SelectFeatures1033Select the program features you want installed.0-761093519IDS__IsCustomSelectionDlg_Space1033&Space0-761093519IDS__IsDiskSpaceDlg_DiskSpace1033Disk space required for the installation exceeds available disk space.0-761093519IDS__IsDiskSpaceDlg_HighlightedVolumes1033The highlighted volumes do not have enough disk space available for the currently selected features. You can remove files from the highlighted volumes, choose to install fewer features onto local drives, or select different destination drives.0-761093519IDS__IsDiskSpaceDlg_Numbers1033{120}{70}{70}{70}{70}0-761093519IDS__IsDiskSpaceDlg_OK1033OK0-761093519IDS__IsDiskSpaceDlg_OutOfDiskSpace1033{&MSSansBold8}Out of Disk Space0-761093519IDS__IsDomainOrServer1033&Domain or server:0-761093519IDS__IsErrorDlg_Abort1033&Abort0-761093519IDS__IsErrorDlg_ErrorText1033<error text goes here><error text goes here><error text goes here><error text goes here><error text goes here><error text goes here><error text goes here><error text goes here><error text goes here><error text goes here><error text goes here>0-761093519IDS__IsErrorDlg_Ignore1033&Ignore0-761093519IDS__IsErrorDlg_InstallerInfo1033[ProductName] Installer Information0-761093519IDS__IsErrorDlg_NO1033&No0-761093519IDS__IsErrorDlg_OK1033&OK0-761093519IDS__IsErrorDlg_Retry1033&Retry0-761093519IDS__IsErrorDlg_Yes1033&Yes0-761093519IDS__IsExitDialog_Finish1033&Finish0-761093519IDS__IsExitDialog_InstallSuccess1033The InstallShield Wizard has successfully installed [ProductName]. Click Finish to exit the wizard.0-761093519IDS__IsExitDialog_LaunchProgram1033Launch the program0-761093519IDS__IsExitDialog_ShowReadMe1033Show the readme file0-761093519IDS__IsExitDialog_UninstallSuccess1033The InstallShield Wizard has successfully uninstalled [ProductName]. Click Finish to exit the wizard.0-761093519IDS__IsExitDialog_Update_InternetConnection1033Your Internet connection can be used to make sure that you have the latest updates.0-761093519IDS__IsExitDialog_Update_PossibleUpdates1033Some program files might have been updated since you purchased your copy of [ProductName].0-761093519IDS__IsExitDialog_Update_SetupFinished1033Setup has finished installing [ProductName].0-761093519IDS__IsExitDialog_Update_YesCheckForUpdates1033&Yes, check for program updates (Recommended) after the setup completes.0-761093519IDS__IsExitDialog_WizardCompleted1033{&TahomaBold10}InstallShield Wizard Completed0-761093519IDS__IsFatalError_ClickFinish1033Click Finish to exit the wizard.0-761093519IDS__IsFatalError_Finish1033&Finish0-761093519IDS__IsFatalError_KeepOrRestore1033You can either keep any existing installed elements on your system to continue this installation at a later time or you can restore your system to its original state prior to the installation.0-761093519IDS__IsFatalError_NotModified1033Your system has not been modified. To complete installation at another time, please run setup again.0-761093519IDS__IsFatalError_RestoreOrContinueLater1033Click Restore or Continue Later to exit the wizard.0-761093519IDS__IsFatalError_WizardCompleted1033{&TahomaBold10}InstallShield Wizard Completed0-761093519IDS__IsFatalError_WizardInterrupted1033The wizard was interrupted before [ProductName] could be completely installed.0-761093519IDS__IsFeatureDetailsDlg_DiskSpaceRequirements1033{&MSSansBold8}Disk Space Requirements0-761093519IDS__IsFeatureDetailsDlg_Numbers1033{120}{70}{70}{70}{70}0-761093519IDS__IsFeatureDetailsDlg_OK1033OK0-761093519IDS__IsFeatureDetailsDlg_SpaceRequired1033The disk space required for the installation of the selected features.0-761093519IDS__IsFeatureDetailsDlg_VolumesTooSmall1033The highlighted volumes do not have enough disk space available for the currently selected features. You can remove files from the highlighted volumes, choose to install fewer features onto local drives, or select different destination drives.0-761093519IDS__IsFilesInUse_ApplicationsUsingFiles1033The following applications are using files that need to be updated by this setup. Close these applications and click Retry to continue.0-761093519IDS__IsFilesInUse_Exit1033&Exit0-761093519IDS__IsFilesInUse_FilesInUse1033{&MSSansBold8}Files in Use0-761093519IDS__IsFilesInUse_FilesInUseMessage1033Some files that need to be updated are currently in use.0-761093519IDS__IsFilesInUse_Ignore1033&Ignore0-761093519IDS__IsFilesInUse_Retry1033&Retry0-761093519IDS__IsGroup1033&Group:0-761093519IDS__IsGroupLabel1033Gr&oup:0-761093519IDS__IsInitDlg_110330-761093519IDS__IsInitDlg_210330-761093519IDS__IsInitDlg_PreparingWizard1033[ProductName] Setup is preparing the InstallShield Wizard which will guide you through the program setup process. Please wait.0-761093519IDS__IsInitDlg_WelcomeWizard1033{&TahomaBold10}Welcome to the InstallShield Wizard for [ProductName]0-761093519IDS__IsLicenseDlg_LicenseAgreement1033{&MSSansBold8}License Agreement0-761093519IDS__IsLicenseDlg_ReadLicenseAgreement1033Please read the following license agreement carefully.0-761093519IDS__IsLogonInfoDescription1033Specify the user name and password of the user account that will logon to use this application. The user account must be in the form DOMAIN\Username.0-761093519IDS__IsLogonInfoTitle1033{&MSSansBold8}Logon Information0-761093519IDS__IsLogonInfoTitleDescription1033Specify a user name and password0-761093519IDS__IsLogonNewUserDescription1033Select the button below to specify information about a new user that will be created during the installation.0-761093519IDS__IsMaintenanceDlg_ChangeFeatures1033Change which program features are installed. This option displays the Custom Selection dialog in which you can change the way features are installed.0-761093519IDS__IsMaintenanceDlg_MaitenanceOptions1033Modify, repair, or remove the program.0-761093519IDS__IsMaintenanceDlg_Modify1033{&MSSansBold8}&Modify0-761093519IDS__IsMaintenanceDlg_ProgramMaintenance1033{&MSSansBold8}Program Maintenance0-761093519IDS__IsMaintenanceDlg_Remove1033{&MSSansBold8}&Remove0-761093519IDS__IsMaintenanceDlg_RemoveProductName1033Remove [ProductName] from your computer.0-761093519IDS__IsMaintenanceDlg_Repair1033{&MSSansBold8}Re&pair0-761093519IDS__IsMaintenanceDlg_RepairMessage1033Repair installation errors in the program. This option fixes missing or corrupt files, shortcuts, and registry entries.0-761093519IDS__IsMaintenanceWelcome_MaintenanceOptionsDescription1033The InstallShield(R) Wizard will allow you to modify, repair, or remove [ProductName]. To continue, click Next.0-761093519IDS__IsMaintenanceWelcome_WizardWelcome1033{&TahomaBold10}Welcome to the InstallShield Wizard for [ProductName]0-761093519IDS__IsMsiRMFilesInUse_ApplicationsUsingFiles1033The following applications are using files that need to be updated by this setup.0-761093519IDS__IsMsiRMFilesInUse_CloseRestart1033Automatically close and attempt to restart applications.0-761093519IDS__IsMsiRMFilesInUse_RebootAfter1033Do not close applications. (A reboot will be required.)0-761093519IDS__IsPatchDlg_PatchClickUpdate1033The InstallShield(R) Wizard will install the Patch for [ProductName] on your computer. To continue, click Update.0-761093519IDS__IsPatchDlg_PatchWizard1033[ProductName] Patch - InstallShield Wizard0-761093519IDS__IsPatchDlg_Update1033&Update >0-761093519IDS__IsPatchDlg_WelcomePatchWizard1033{&TahomaBold10}Welcome to the Patch for [ProductName]0-761093519IDS__IsProgressDlg_210330-761093519IDS__IsProgressDlg_Hidden1033(Hidden for now)0-761093519IDS__IsProgressDlg_HiddenTimeRemaining1033)Hidden for now)Estimated time remaining:0-761093519IDS__IsProgressDlg_InstallingProductName1033{&MSSansBold8}Installing [ProductName]0-761093519IDS__IsProgressDlg_ProgressDone1033Progress done0-761093519IDS__IsProgressDlg_SecHidden1033(Hidden for now)Sec.0-761093519IDS__IsProgressDlg_Status1033Status:0-761093519IDS__IsProgressDlg_Uninstalling1033{&MSSansBold8}Uninstalling [ProductName]0-761093519IDS__IsProgressDlg_UninstallingFeatures1033The program features you selected are being uninstalled.0-761093519IDS__IsProgressDlg_UninstallingFeatures21033The program features you selected are being installed.0-761093519IDS__IsProgressDlg_WaitUninstall1033Please wait while the InstallShield Wizard uninstalls [ProductName]. This may take several minutes.0-761093519IDS__IsProgressDlg_WaitUninstall21033Please wait while the InstallShield Wizard installs [ProductName]. This may take several minutes.0-761093519IDS__IsReadmeDlg_Cancel1033&Cancel0-761093519IDS__IsReadmeDlg_PleaseReadInfo1033Please read the following readme information carefully.0-761093519IDS__IsReadmeDlg_ReadMeInfo1033{&MSSansBold8}Readme Information0-761093519IDS__IsRegisterUserDlg_1610330-761093519IDS__IsRegisterUserDlg_Anyone1033&Anyone who uses this computer (all users)0-761093519IDS__IsRegisterUserDlg_CustomerInformation1033{&MSSansBold8}Customer Information0-761093519IDS__IsRegisterUserDlg_InstallFor1033Install this application for:0-761093519IDS__IsRegisterUserDlg_OnlyMe1033Only for &me ([USERNAME])0-761093519IDS__IsRegisterUserDlg_Organization1033&Organization:0-761093519IDS__IsRegisterUserDlg_PleaseEnterInfo1033Please enter your information.0-761093519IDS__IsRegisterUserDlg_SerialNumber1033&Serial Number:0-761093519IDS__IsRegisterUserDlg_Tahoma501033{\Tahoma8}{50}0-761093519IDS__IsRegisterUserDlg_Tahoma801033{\Tahoma8}{80}0-761093519IDS__IsRegisterUserDlg_UserName1033&User Name:0-761093519IDS__IsResumeDlg_ResumeSuspended1033The InstallShield(R) Wizard will complete the suspended installation of [ProductName] on your computer. To continue, click Next.0-761093519IDS__IsResumeDlg_Resuming1033{&TahomaBold10}Resuming the InstallShield Wizard for [ProductName]0-761093519IDS__IsResumeDlg_WizardResume1033The InstallShield(R) Wizard will complete the installation of [ProductName] on your computer. To continue, click Next.0-761093519IDS__IsSelectDomainOrServer1033Select a Domain or Server0-761093519IDS__IsSelectDomainUserInstructions1033Use the browse buttons to select a domain\server and a user name.0-761093519IDS__IsSetupComplete_ShowMsiLog1033Show the Windows Installer log0-761093519IDS__IsSetupTypeMinDlg_1310330-761093519IDS__IsSetupTypeMinDlg_AllFeatures1033All program features will be installed. (Requires the most disk space.)0-761093519IDS__IsSetupTypeMinDlg_ChooseFeatures1033Choose which program features you want installed and where they will be installed. Recommended for advanced users.0-761093519IDS__IsSetupTypeMinDlg_ChooseSetupType1033Choose the setup type that best suits your needs.0-761093519IDS__IsSetupTypeMinDlg_Complete1033{&MSSansBold8}&Complete0-761093519IDS__IsSetupTypeMinDlg_Custom1033{&MSSansBold8}Cu&stom0-761093519IDS__IsSetupTypeMinDlg_Minimal1033{&MSSansBold8}&Minimal0-761093519IDS__IsSetupTypeMinDlg_MinimumFeatures1033Minimum required features will be installed.0-761093519IDS__IsSetupTypeMinDlg_SelectSetupType1033Please select a setup type.0-761093519IDS__IsSetupTypeMinDlg_SetupType1033{&MSSansBold8}Setup Type0-761093519IDS__IsSetupTypeMinDlg_Typical1033{&MSSansBold8}&Typical0-761093519IDS__IsUserExit_ClickFinish1033Click Finish to exit the wizard.0-761093519IDS__IsUserExit_Finish1033&Finish0-761093519IDS__IsUserExit_KeepOrRestore1033You can either keep any existing installed elements on your system to continue this installation at a later time or you can restore your system to its original state prior to the installation.0-761093519IDS__IsUserExit_NotModified1033Your system has not been modified. To install this program at a later time, please run the installation again.0-761093519IDS__IsUserExit_RestoreOrContinue1033Click Restore or Continue Later to exit the wizard.0-761093519IDS__IsUserExit_WizardCompleted1033{&TahomaBold10}InstallShield Wizard Completed0-761093519IDS__IsUserExit_WizardInterrupted1033The wizard was interrupted before [ProductName] could be completely installed.0-761093519IDS__IsUserNameLabel1033&User name:0-761093519IDS__IsVerifyReadyDlg_BackOrCancel1033If you want to review or change any of your installation settings, click Back. Click Cancel to exit the wizard.0-761093519IDS__IsVerifyReadyDlg_ClickInstall1033Click Install to begin the installation.0-761093519IDS__IsVerifyReadyDlg_Company1033Company: [COMPANYNAME]0-761093519IDS__IsVerifyReadyDlg_CurrentSettings1033Current Settings:0-761093519IDS__IsVerifyReadyDlg_DestFolder1033Destination Folder:0-761093519IDS__IsVerifyReadyDlg_Install1033&Install0-761093519IDS__IsVerifyReadyDlg_Installdir1033[INSTALLDIR]0-761093519IDS__IsVerifyReadyDlg_ModifyReady1033{&MSSansBold8}Ready to Modify the Program0-761093519IDS__IsVerifyReadyDlg_ReadyInstall1033{&MSSansBold8}Ready to Install the Program0-761093519IDS__IsVerifyReadyDlg_ReadyRepair1033{&MSSansBold8}Ready to Repair the Program0-761093519IDS__IsVerifyReadyDlg_SelectedSetupType1033[SelectedSetupType]0-761093519IDS__IsVerifyReadyDlg_Serial1033Serial: [ISX_SERIALNUM]0-761093519IDS__IsVerifyReadyDlg_SetupType1033Setup Type:0-761093519IDS__IsVerifyReadyDlg_UserInfo1033User Information:0-761093519IDS__IsVerifyReadyDlg_UserName1033Name: [USERNAME]0-761093519IDS__IsVerifyReadyDlg_WizardReady1033The wizard is ready to begin installation.0-761093519IDS__IsVerifyRemoveAllDlg_ChoseRemoveProgram1033You have chosen to remove the program from your system.0-761093519IDS__IsVerifyRemoveAllDlg_ClickBack1033If you want to review or change any settings, click Back.0-761093519IDS__IsVerifyRemoveAllDlg_ClickRemove1033Click Remove to remove [ProductName] from your computer. After removal, this program will no longer be available for use.0-761093519IDS__IsVerifyRemoveAllDlg_Remove1033&Remove0-761093519IDS__IsVerifyRemoveAllDlg_RemoveProgram1033{&MSSansBold8}Remove the Program0-761093519IDS__IsWelcomeDlg_InstallProductName1033The InstallShield(R) Wizard will install [ProductName] on your computer. To continue, click Next.0-761093519IDS__IsWelcomeDlg_WarningCopyright1033WARNING: This program is protected by copyright law and international treaties.0-761093519IDS__IsWelcomeDlg_WelcomeProductName1033{&TahomaBold10}Welcome to the InstallShield Wizard for [ProductName]0-761093519IDS__TargetReq_DESC_COLOR1033The color settings of your system are not adequate for running [ProductName].0-761093519IDS__TargetReq_DESC_OS1033The operating system is not adequate for running [ProductName].0-761093519IDS__TargetReq_DESC_PROCESSOR1033The processor is not adequate for running [ProductName].0-761093519IDS__TargetReq_DESC_RAM1033The amount of RAM is not adequate for running [ProductName].0-761093519IDS__TargetReq_DESC_RESOLUTION1033The screen resolution is not adequate for running [ProductName].0-761093519ID_STRING11033http://kylin.io01965168496ID_STRING21033kylinolap01965175470IIDS_UITEXT_FeatureUninstalled1033This feature will remain uninstalled.0-761093519
- - - Name - Value - -
UniqueIdCB478353-6AB6-479E-BC05-7D0D66F9E327
- - - UpgradedImage_ - Name - MsiPath - Order - Flags - IgnoreMissingFiles -
- - - UpgradeItem - ObjectSetupPath - ISReleaseFlags - ISAttributes -
- - - Name - MsiPath - Family -
- - - Directory_ - Name - Value -
- - - File_ - Name - Value -
- - - Name - Value -
- - - Registry_ - Name - Value -
- - - ISRelease_ - ISProductConfiguration_ - Name - Value -
- - - Shortcut_ - Name - Value -
- - - ISXmlElement - ISXmlFile_ - ISXmlElement_Parent - XPath - Content - ISAttributes -
- - - ISXmlElementAttrib - ISXmlElement_ - Name - Value - ISAttributes -
- - - ISXmlFile - FileName - Component_ - Directory - ISAttributes - SelectionNamespaces - Encoding -
- - - Signature_ - Parent - Element - Attribute - ISAttributes -
- - - Name - Data - ISBuildSourcePath - ISIconIndex - -
ARPPRODUCTICON.exe<ISProductFolder>\redist\Language Independent\OS Independent\setupicon.ico0
- - - IniFile - FileName - DirProperty - Section - Key - Value - Action - Component_ -
- - - Signature_ - FileName - Section - Key - Field - Type -
- - - Action - Condition - Sequence - ISComments - ISAttributes -
AllocateRegistrySpaceNOT Installed1550AllocateRegistrySpace - AppSearch400AppSearch - BindImage4300BindImage - CCPSearchCCP_TEST500CCPSearch - CostFinalize1000CostFinalize - CostInitialize800CostInitialize - CreateFolders3700CreateFolders - CreateShortcuts4500CreateShortcuts - DeleteServicesVersionNT2000DeleteServices - DuplicateFiles4210DuplicateFiles - FileCost900FileCost - FindRelatedProductsNOT ISSETUPDRIVEN420FindRelatedProducts - ISPreventDowngradeISFOUNDNEWERPRODUCTVERSION450ISPreventDowngrade - ISRunSetupTypeAddLocalEventNot Installed And Not ISRUNSETUPTYPEADDLOCALEVENT1050ISRunSetupTypeAddLocalEvent - ISSelfRegisterCosting2201 - ISSelfRegisterFiles5601 - ISSelfRegisterFinalize6601 - ISUnSelfRegisterFiles2202 - InstallFiles4000InstallFiles - InstallFinalize6600InstallFinalize - InstallInitialize1501InstallInitialize - InstallODBC5400InstallODBC - InstallServicesVersionNT5800InstallServices - InstallValidate1400InstallValidate - IsolateComponents950IsolateComponents - LaunchConditionsNot Installed410LaunchConditions - MigrateFeatureStates1010MigrateFeatureStates - MoveFiles3800MoveFiles - MsiConfigureServicesVersionMsi >= "5.00"5850MSI5 MsiConfigureServices - MsiPublishAssemblies6250MsiPublishAssemblies - MsiUnpublishAssemblies1750MsiUnpublishAssemblies - PatchFiles4090PatchFiles - ProcessComponents1600ProcessComponents - PublishComponents6200PublishComponents - PublishFeatures6300PublishFeatures - PublishProduct6400PublishProduct - RMCCPSearchNot CCP_SUCCESS And CCP_TEST600RMCCPSearch - RegisterClassInfo4600RegisterClassInfo - RegisterComPlus5700RegisterComPlus - RegisterExtensionInfo4700RegisterExtensionInfo - RegisterFonts5300RegisterFonts - RegisterMIMEInfo4900RegisterMIMEInfo - RegisterProduct6100RegisterProduct - RegisterProgIdInfo4800RegisterProgIdInfo - RegisterTypeLibraries5500RegisterTypeLibraries - RegisterUser6000RegisterUser - RemoveDuplicateFiles3400RemoveDuplicateFiles - RemoveEnvironmentStrings3300RemoveEnvironmentStrings - RemoveExistingProducts1410RemoveExistingProducts - RemoveFiles3500RemoveFiles - RemoveFolders3600RemoveFolders - RemoveIniValues3100RemoveIniValues - RemoveODBC2400RemoveODBC - RemoveRegistryValues2600RemoveRegistryValues - RemoveShortcuts3200RemoveShortcuts - ResolveSourceNot Installed850ResolveSource - ScheduleRebootISSCHEDULEREBOOT6410ScheduleReboot - SelfRegModules5600SelfRegModules - SelfUnregModules2200SelfUnregModules - SetARPINSTALLLOCATION1100SetARPINSTALLLOCATION - SetAllUsersProfileNTVersionNT = 400970 - SetODBCFolders1200SetODBCFolders - StartServicesVersionNT5900StartServices - StopServicesVersionNT1900StopServices - UnpublishComponents1700UnpublishComponents - UnpublishFeatures1800UnpublishFeatures - UnregisterClassInfo2700UnregisterClassInfo - UnregisterComPlus2100UnregisterComPlus - UnregisterExtensionInfo2800UnregisterExtensionInfo - UnregisterFonts2500UnregisterFonts - UnregisterMIMEInfo3000UnregisterMIMEInfo - UnregisterProgIdInfo2900UnregisterProgIdInfo - UnregisterTypeLibraries2300UnregisterTypeLibraries - ValidateProductID700ValidateProductID - WriteEnvironmentStrings5200WriteEnvironmentStrings - WriteIniValues5100WriteIniValues - WriteRegistryValues5000WriteRegistryValues - setAllUsersProfile2KVersionNT >= 500980 - setUserProfileNTVersionNT960 -
- - - Property - Value - - - - - - - - - - - - - - - - - - - - - - - - -
ActiveLanguage1033Comments - CurrentMedia -UwBpAG4AZwBsAGUASQBtAGEAZwBlAAEARQB4AHAAcgBlAHMAcwA= - DefaultProductConfigurationExpressEnableSwidtag1ISCompilerOption_CompileBeforeBuild1ISCompilerOption_Debug0ISCompilerOption_IncludePath - ISCompilerOption_LibraryPath - ISCompilerOption_MaxErrors50ISCompilerOption_MaxWarnings50ISCompilerOption_OutputPath<ISProjectDataFolder>\Script FilesISCompilerOption_PreProcessor_ISSCRIPT_NEW_STYLE_DLG_DEFSISCompilerOption_WarningLevel3ISCompilerOption_WarningsAsErrors1ISThemeInstallShield Blue.themeISUSLock{B4B2C8A9-3B91-47A4-B5EC-E69E29ECDE43}ISUSSignature{D702AAE5-6160-4879-A83E-FA2E1EFB02E7}ISVisitedViewsviewAssistant,viewAppV,viewISToday,viewUI,viewBillboards,viewRealSetupDesign,viewShortcuts,viewProject,viewSupportFiles,viewRelease,viewCustomActions,viewSetupTypes,viewUpgradePaths,viewDesignPatches,viewSetupDesign,viewAppFilesLimited1LockPermissionMode1MsiExecCmdLineOptions - MsiLogFile - OnUpgrade0Owner - PatchFamilyMyPatchFamily1PatchSequence1.0.0SaveAsSchema - SccEnabled0SccPath - SchemaVersion774TypeMSIE
- - - Action - Condition - Sequence - ISComments - ISAttributes -
AppSearch400AppSearch - CCPSearchCCP_TEST500CCPSearch - CostFinalize1000CostFinalize - CostInitialize800CostInitialize - ExecuteAction1300ExecuteAction - FileCost900FileCost - FindRelatedProducts430FindRelatedProducts - ISPreventDowngradeISFOUNDNEWERPRODUCTVERSION450ISPreventDowngrade - InstallWelcomeNot Installed1210InstallWelcome - IsolateComponents950IsolateComponents - LaunchConditionsNot Installed410LaunchConditions - MaintenanceWelcomeInstalled And Not RESUME And Not Preselected And Not PATCH1230MaintenanceWelcome - MigrateFeatureStates1200MigrateFeatureStates - PatchWelcomeInstalled And PATCH And Not IS_MAJOR_UPGRADE1205Patch Panel - RMCCPSearchNot CCP_SUCCESS And CCP_TEST600RMCCPSearch - ResolveSourceNot Installed990ResolveSource - SetAllUsersProfileNTVersionNT = 400970 - SetupCompleteError-3SetupCompleteError - SetupCompleteSuccess-1SetupCompleteSuccess - SetupInitialization420SetupInitialization - SetupInterrupted-2SetupInterrupted - SetupProgress1240SetupProgress - SetupResumeInstalled And (RESUME Or Preselected) And Not PATCH1220SetupResume - ValidateProductID700ValidateProductID - setAllUsersProfile2KVersionNT >= 500980 - setUserProfileNTVersionNT960 -
- - - Component_Shared - Component_Application -
- - - Condition - Description -
- - - Property - Order - Value - Text -
- - - Property - Order - Value - Text - Binary_ -
- - - LockObject - Table - Domain - User - Permission -
- - - ContentType - Extension_ - CLSID -
- - - DiskId - LastSequence - DiskPrompt - Cabinet - VolumeLabel - Source -
- - - FileKey - Component_ - SourceName - DestName - SourceFolder - DestFolder - Options -
- - - Component_ - Feature_ - File_Manifest - File_Application - Attributes -
- - - Component_ - Name - Value -
- - - DigitalCertificate - CertData -
- - - Table - SignObject - DigitalCertificate_ - Hash -
- - - Component - Flags - Sequence - ReferenceComponents -
- - - MsiEmbeddedChainer - Condition - CommandLine - Source - Type -
- - - MsiEmbeddedUI - FileName - Attributes - MessageFilter - Data - ISBuildSourcePath -
- - - File_ - Options - HashPart1 - HashPart2 - HashPart3 - HashPart4 -
- - - MsiLockPermissionsEx - LockObject - Table - SDDLText - Condition -
- - - PackageCertificate - DigitalCertificate_ -
- - - PatchCertificate - DigitalCertificate_ -
- - - PatchConfiguration_ - Company - Property - Value -
- - - File_ - Assembly_ -
- - - Assembly - Name - Value -
- - - PatchConfiguration_ - PatchFamily - Target - Sequence - Supersede -
- - - MsiServiceConfig - Name - Event - ConfigType - Argument - Component_ -
- - - MsiServiceConfigFailureActions - Name - Event - ResetPeriod - RebootMessage - Command - Actions - DelayActions - Component_ -
- - - MsiShortcutProperty - Shortcut_ - PropertyKey - PropVariantValue -
- - - Driver_ - Attribute - Value -
- - - DataSource - Component_ - Description - DriverDescription - Registration -
- - - Driver - Component_ - Description - File_ - File_Setup -
- - - DataSource_ - Attribute - Value -
- - - Translator - Component_ - Description - File_ - File_Setup -
- - - File_ - Sequence - PatchSize - Attributes - Header - StreamRef_ - ISBuildSourcePath -
- - - PatchId - Media_ -
- - - ProgId - ProgId_Parent - Class_ - Description - Icon_ - IconIndex - ISAttributes -
- - - Property - Value - ISComments -
ALLUSERS1 - ARPINSTALLLOCATION - ARPPRODUCTICONARPPRODUCTICON.exe - ARPSIZE - ARPURLINFOABOUT##ID_STRING1## - AgreeToLicenseNo - ApplicationUsersAllUsers - DWUSINTERVAL30 - DWUSLINKCECCA7A8CE8C00CF0EACC7B83EBC978F3ECB478FFE7CF0EFCE9CE03FCE9C50BFDEEBE0988EAC - DefaultUIFontExpressDefault - DialogCaptionInstallShield for Windows Installer - DiskPrompt[1] - DiskSerial1234-5678 - DisplayNameCustom##IDS__DisplayName_Custom## - DisplayNameMinimal##IDS__DisplayName_Minimal## - DisplayNameTypical##IDS__DisplayName_Typical## - Display_IsBitmapDlg1 - ErrorDialogSetupError - INSTALLLEVEL200 - ISCHECKFORPRODUCTUPDATES1 - ISENABLEDWUSFINISHDIALOG - ISSHOWMSILOG - ISVROOT_PORT_NO0 - IS_COMPLUS_PROGRESSTEXT_COST##IDS_COMPLUS_PROGRESSTEXT_COST## - IS_COMPLUS_PROGRESSTEXT_INSTALL##IDS_COMPLUS_PROGRESSTEXT_INSTALL## - IS_COMPLUS_PROGRESSTEXT_UNINSTALL##IDS_COMPLUS_PROGRESSTEXT_UNINSTALL## - IS_PREVENT_DOWNGRADE_EXIT##IDS_PREVENT_DOWNGRADE_EXIT## - IS_PROGMSG_TEXTFILECHANGS_REPLACE##IDS_PROGMSG_TEXTFILECHANGS_REPLACE## - IS_PROGMSG_XML_COSTING##IDS_PROGMSG_XML_COSTING## - IS_PROGMSG_XML_CREATE_FILE##IDS_PROGMSG_XML_CREATE_FILE## - IS_PROGMSG_XML_FILES##IDS_PROGMSG_XML_FILES## - IS_PROGMSG_XML_REMOVE_FILE##IDS_PROGMSG_XML_REMOVE_FILE## - IS_PROGMSG_XML_ROLLBACK_FILES##IDS_PROGMSG_XML_ROLLBACK_FILES## - IS_PROGMSG_XML_UPDATE_FILE##IDS_PROGMSG_XML_UPDATE_FILE## - IS_SQLSERVER_AUTHENTICATION0 - IS_SQLSERVER_DATABASE - IS_SQLSERVER_PASSWORD - IS_SQLSERVER_SERVER - IS_SQLSERVER_USERNAMEsa - InstallChoiceAR - LAUNCHPROGRAM1 - LAUNCHREADME1 - Manufacturer##COMPANY_NAME## - PIDKEY - PIDTemplate12345<###-%%%%%%%>@@@@@ - PROGMSG_IIS_CREATEAPPPOOL##IDS_PROGMSG_IIS_CREATEAPPPOOL## - PROGMSG_IIS_CREATEAPPPOOLS##IDS_PROGMSG_IIS_CREATEAPPPOOLS## - PROGMSG_IIS_CREATEVROOT##IDS_PROGMSG_IIS_CREATEVROOT## - PROGMSG_IIS_CREATEVROOTS##IDS_PROGMSG_IIS_CREATEVROOTS## - PROGMSG_IIS_CREATEWEBSERVICEEXTENSION##IDS_PROGMSG_IIS_CREATEWEBSERVICEEXTENSION## - PROGMSG_IIS_CREATEWEBSERVICEEXTENSIONS##IDS_PROGMSG_IIS_CREATEWEBSERVICEEXTENSIONS## - PROGMSG_IIS_CREATEWEBSITE##IDS_PROGMSG_IIS_CREATEWEBSITE## - PROGMSG_IIS_CREATEWEBSITES##IDS_PROGMSG_IIS_CREATEWEBSITES## - PROGMSG_IIS_EXTRACT##IDS_PROGMSG_IIS_EXTRACT## - PROGMSG_IIS_EXTRACTDONE##IDS_PROGMSG_IIS_EXTRACTDONE## - PROGMSG_IIS_EXTRACTDONEz##IDS_PROGMSG_IIS_EXTRACTDONE## - PROGMSG_IIS_EXTRACTzDONE##IDS_PROGMSG_IIS_EXTRACTDONE## - PROGMSG_IIS_REMOVEAPPPOOL##IDS_PROGMSG_IIS_REMOVEAPPPOOL## - PROGMSG_IIS_REMOVEAPPPOOLS##IDS_PROGMSG_IIS_REMOVEAPPPOOLS## - PROGMSG_IIS_REMOVESITE##IDS_PROGMSG_IIS_REMOVESITE## - PROGMSG_IIS_REMOVEVROOT##IDS_PROGMSG_IIS_REMOVEVROOT## - PROGMSG_IIS_REMOVEVROOTS##IDS_PROGMSG_IIS_REMOVEVROOTS## - PROGMSG_IIS_REMOVEWEBSERVICEEXTENSION##IDS_PROGMSG_IIS_REMOVEWEBSERVICEEXTENSION## - PROGMSG_IIS_REMOVEWEBSERVICEEXTENSIONS##IDS_PROGMSG_IIS_REMOVEWEBSERVICEEXTENSIONS## - PROGMSG_IIS_REMOVEWEBSITES##IDS_PROGMSG_IIS_REMOVEWEBSITES## - PROGMSG_IIS_ROLLBACKAPPPOOLS##IDS_PROGMSG_IIS_ROLLBACKAPPPOOLS## - PROGMSG_IIS_ROLLBACKVROOTS##IDS_PROGMSG_IIS_ROLLBACKVROOTS## - PROGMSG_IIS_ROLLBACKWEBSERVICEEXTENSIONS##IDS_PROGMSG_IIS_ROLLBACKWEBSERVICEEXTENSIONS## - ProductCode{C8B1B296-2F8B-423F-97D5-429C9B6D2AE6} - ProductNameKylinODBCDriver (x64) - ProductVersion0.6.1000 - ProgressType0install - ProgressType1Installing - ProgressType2installed - ProgressType3installs - RebootYesNoYes - ReinstallFileVersiono - ReinstallModeTextomus - ReinstallRepairr - RestartManagerOptionCloseRestart - SERIALNUMBER - SERIALNUMVALSUCCESSRETVAL1 - SecureCustomPropertiesISFOUNDNEWERPRODUCTVERSION;USERNAME;COMPANYNAME;ISX_SERIALNUM;SUPPORTDIR - SelectedSetupType##IDS__DisplayName_Typical## - SetupTypeTypical - UpgradeCode{F1865753-4A38-4EE2-A414-70BCB2A625D8} - _IsMaintenanceChange - _IsSetupTypeMinTypical -
- - - ComponentId - Qualifier - Component_ - AppData - Feature_ -
- - - Property - Order - Value - X - Y - Width - Height - Text - Help - ISControlId -
AgreeToLicense1No01529115##IDS__AgreeToLicense_0## - AgreeToLicense2Yes0029115##IDS__AgreeToLicense_1## - ApplicationUsers1AllUsers1729014##IDS__IsRegisterUserDlg_Anyone## - ApplicationUsers2OnlyCurrentUser12329014##IDS__IsRegisterUserDlg_OnlyMe## - RestartManagerOption1CloseRestart6933114##IDS__IsMsiRMFilesInUse_CloseRestart## - RestartManagerOption2Reboot62133114##IDS__IsMsiRMFilesInUse_RebootAfter## - _IsMaintenance1Change0029014##IDS__IsMaintenanceDlg_Modify## - _IsMaintenance2Reinstall06029014##IDS__IsMaintenanceDlg_Repair## - _IsMaintenance3Remove012029014##IDS__IsMaintenanceDlg_Remove## - _IsSetupTypeMin1Typical1626414##IDS__IsSetupTypeMinDlg_Typical## -
- - - Signature_ - Root - Key - Name - Type -
- - - Registry - Root - Key - Name - Value - Component_ - ISAttributes - - - - - - - -
Registry12SOFTWARE\ODBC\ODBCINST.INI\KylinODBCDriverDir[INSTALLDIR]ISX_DEFAULTCOMPONENT10Registry22SOFTWARE\ODBC\ODBCINST.INI\ODBC DriversKylinODBCDriverInstalledISX_DEFAULTCOMPONENT10Registry32SOFTWARE\ODBC\ODBCINST.INI\KylinODBCDriverDriver[INSTALLDIR]driver.dllISX_DEFAULTCOMPONENT10Registry42SOFTWARE\ODBC\ODBCINST.INI\KylinODBCDriverSetup[INSTALLDIR]driver.dllISX_DEFAULTCOMPONENT10Registry52SOFTWARE\ODBC\ODBCINST.INI\KylinODBCDriverLogLevel#1ISX_DEFAULTCOMPONENT10Registry62SOFTWARE\ODBC\ODBCINST.INI\KylinODBCDriverUsageCount#1ISX_DEFAULTCOMPONENT10Registry72SOFTWARE\ODBC\ODBCINST.INIISX_DEFAULTCOMPONENT11
- - - FileKey - Component_ - FileName - DirProperty - InstallMode -
- - - RemoveIniFile - FileName - DirProperty - Section - Key - Value - Action - Component_ -
- - - RemoveRegistry - Root - Key - Name - Component_ -
- - - ReserveKey - Component_ - ReserveFolder - ReserveLocal - ReserveSource -
- - - SFPCatalog - Catalog - Dependency -
- - - File_ - Cost -
- - - ServiceControl - Name - Event - Arguments - Wait - Component_ -
- - - ServiceInstall - Name - DisplayName - ServiceType - StartType - ErrorControl - LoadOrderGroup - Dependencies - StartName - Password - Arguments - Component_ - Description -
- - - Shortcut - Directory_ - Name - Component_ - Target - Arguments - Description - Hotkey - Icon_ - IconIndex - ShowCmd - WkDir - DisplayResourceDLL - DisplayResourceId - DescriptionResourceDLL - DescriptionResourceId - ISComments - ISShortcutName - ISAttributes -
- - - Signature - FileName - MinVersion - MaxVersion - MinSize - MaxSize - MinDate - MaxDate - Languages -
- - - TextStyle - FaceName - Size - Color - StyleBits - - - - - - - -
Arial8Arial8 - Arial9Arial9 - ArialBlue10Arial1016711680 - ArialBlueStrike10Arial10167116808CourierNew8Courier New8 - CourierNew9Courier New9 - ExpressDefaultTahoma8 - MSGothic9MS Gothic9 - MSSGreySerif8MS Sans Serif88421504 - MSSWhiteSerif8Tahoma816777215 - MSSansBold8Tahoma81MSSansSerif8MS Sans Serif8 - MSSansSerif9MS Sans Serif9 - Tahoma10Tahoma10 - Tahoma8Tahoma8 - Tahoma9Tahoma9 - TahomaBold10Tahoma101TahomaBold8Tahoma81Times8Times New Roman8 - Times9Times New Roman9 - TimesItalic12Times New Roman122TimesItalicBlue10Times New Roman10167116802TimesRed16Times New Roman16255 - VerdanaBold14Verdana131
- - - LibID - Language - Component_ - Version - Description - Directory_ - Feature_ - Cost -
- - - Key - Text - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AbsentPath - GB##IDS_UITEXT_GB##KB##IDS_UITEXT_KB##MB##IDS_UITEXT_MB##MenuAbsent##IDS_UITEXT_FeatureNotAvailable##MenuAdvertise##IDS_UITEXT_FeatureInstalledWhenRequired2##MenuAllCD##IDS_UITEXT_FeatureInstalledCD##MenuAllLocal##IDS_UITEXT_FeatureInstalledLocal##MenuAllNetwork##IDS_UITEXT_FeatureInstalledNetwork##MenuCD##IDS_UITEXT_FeatureInstalledCD2##MenuLocal##IDS_UITEXT_FeatureInstalledLocal2##MenuNetwork##IDS_UITEXT_FeatureInstalledNetwork2##NewFolder##IDS_UITEXT_Folder##SelAbsentAbsent##IDS_UITEXT_GB##SelAbsentAdvertise##IDS_UITEXT_FeatureInstalledWhenRequired##SelAbsentCD##IDS_UITEXT_FeatureOnCD##SelAbsentLocal##IDS_UITEXT_FeatureLocal##SelAbsentNetwork##IDS_UITEXT_FeatureNetwork##SelAdvertiseAbsent##IDS_UITEXT_FeatureUnavailable##SelAdvertiseAdvertise##IDS_UITEXT_FeatureInstalledRequired##SelAdvertiseCD##IDS_UITEXT_FeatureOnCD2##SelAdvertiseLocal##IDS_UITEXT_FeatureLocal2##SelAdvertiseNetwork##IDS_UITEXT_FeatureNetwork2##SelCDAbsent##IDS_UITEXT_FeatureWillBeUninstalled##SelCDAdvertise##IDS_UITEXT_FeatureWasCD##SelCDCD##IDS_UITEXT_FeatureRunFromCD##SelCDLocal##IDS_UITEXT_FeatureWasCDLocal##SelChildCostNeg##IDS_UITEXT_FeatureFreeSpace##SelChildCostPos##IDS_UITEXT_FeatureRequiredSpace##SelCostPending##IDS_UITEXT_CompilingFeaturesCost##SelLocalAbsent##IDS_UITEXT_FeatureCompletelyRemoved##SelLocalAdvertise##IDS_UITEXT_FeatureRemovedUnlessRequired##SelLocalCD##IDS_UITEXT_FeatureRemovedCD##SelLocalLocal##IDS_UITEXT_FeatureRemainLocal##SelLocalNetwork##IDS_UITEXT_FeatureRemoveNetwork##SelNetworkAbsent##IDS_UITEXT_FeatureUninstallNoNetwork##SelNetworkAdvertise##IDS_UITEXT_FeatureWasOnNetworkInstalled##SelNetworkLocal##IDS_UITEXT_FeatureWasOnNetworkLocal##SelNetworkNetwork##IDS_UITEXT_FeatureContinueNetwork##SelParentCostNegNeg##IDS_UITEXT_FeatureSpaceFree##SelParentCostNegPos##IDS_UITEXT_FeatureSpaceFree2##SelParentCostPosNeg##IDS_UITEXT_FeatureSpaceFree3##SelParentCostPosPos##IDS_UITEXT_FeatureSpaceFree4##TimeRemaining##IDS_UITEXT_TimeRemaining##VolumeCostAvailable##IDS_UITEXT_Available##VolumeCostDifference##IDS_UITEXT_Differences##VolumeCostRequired##IDS_UITEXT_Required##VolumeCostSize##IDS_UITEXT_DiskSize##VolumeCostVolume##IDS_UITEXT_Volume##bytes##IDS_UITEXT_Bytes##
- - - UpgradeCode - VersionMin - VersionMax - Language - Attributes - Remove - ActionProperty - ISDisplayName - -
{00000000-0000-0000-0000-000000000000}***ALL_VERSIONS***2ISFOUNDNEWERPRODUCTVERSIONISPreventDowngrade
- - - Extension_ - Verb - Sequence - Command - Argument -
- - - Table - Column - Nullable - MinValue - MaxValue - KeyTable - KeyColumn - Category - Set - Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ActionTextActionNIdentifierName of action to be described.ActionTextDescriptionYTextLocalized description displayed in progress dialog and log when action is executing.ActionTextTemplateYTemplateOptional localized format template used to format action data records for display during action execution.AdminExecuteSequenceActionNIdentifierName of action to invoke, either in the engine or the handler DLL.AdminExecuteSequenceConditionYConditionOptional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.AdminExecuteSequenceISAttributesYThis is used to store MM Custom Action TypesAdminExecuteSequenceISCommentsYTextAuthor’s comments on this Sequence.AdminExecuteSequenceSequenceY-432767Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action.AdminUISequenceActionNIdentifierName of action to invoke, either in the engine or the handler DLL.AdminUISequenceConditionYConditionOptional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.AdminUISequenceISAttributesYThis is used to store MM Custom Action TypesAdminUISequenceISCommentsYTextAuthor’s comments on this Sequence.AdminUISequenceSequenceY-432767Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action.AdvtExecuteSequenceActionNIdentifierName of action to invoke, either in the engine or the handler DLL.AdvtExecuteSequenceConditionYConditionOptional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.AdvtExecuteSequenceISAttributesYThis is used to store MM Custom Action TypesAdvtExecuteSequenceISCommentsYTextAuthor’s comments on this Sequence.AdvtExecuteSequenceSequenceY-432767Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action.AdvtUISequenceActionNIdentifierName of action to invoke, either in the engine or the handler DLL.AdvtUISequenceConditionYConditionOptional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.AdvtUISequenceISAttributesYThis is used to store MM Custom Action TypesAdvtUISequenceISCommentsYTextAuthor’s comments on this Sequence.AdvtUISequenceSequenceY-432767Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action.AppIdActivateAtStorageY01 - AppIdAppIdNGuid - AppIdDllSurrogateYText - AppIdLocalServiceYText - AppIdRemoteServerNameYFormatted - AppIdRunAsInteractiveUserY01 - AppIdServiceParametersYText - AppSearchPropertyNIdentifierThe property associated with a SignatureAppSearchSignature_NISXmlLocator;Signature1IdentifierThe Signature_ represents a unique file signature and is also the foreign key in the Signature, RegLocator, IniLocator, CompLocator and the DrLocator tables.BBControlAttributesY02147483647A 32-bit word that specifies the attribute flags to be applied to this control.BBControlBBControlNIdentifierName of the control. This name must be unique within a billboard, but can repeat on different billboard.BBControlBillboard_NBillboard1IdentifierExternal key to the Billboard table, name of the billboard.BBControlHeightN032767Height of the bounding rectangle of the control.BBControlTextYTextA string used to set the initial text contained within a control (if appropriate).BBControlTypeNIdentifierThe type of the control.BBControlWidthN032767Width of the bounding rectangle of the control.BBControlXN032767Horizontal coordinate of the upper left corner of the bounding rectangle of the control.BBControlYN032767Vertical coordinate of the upper left corner of the bounding rectangle of the control.BillboardActionYIdentifierThe name of an action. The billboard is displayed during the progress messages received from this action.BillboardBillboardNIdentifierName of the billboard.BillboardFeature_NFeature1IdentifierAn external key to the Feature Table. The billboard is shown only if this feature is being installed.BillboardOrderingY032767A positive integer. If there is more than one billboard corresponding to an action they will be shown in the order defined by this column.BinaryDataYBinaryBinary stream. The binary icon data in PE (.DLL or .EXE) or icon (.ICO) format.BinaryISBuildSourcePathYTextFull path to the ICO or EXE file.BinaryNameNIdentifierUnique key identifying the binary data.BindImageFile_NFile1IdentifierThe index into the File table. This must be an executable file.BindImagePathYPathsA list of ; delimited paths that represent the paths to be searched for the import DLLS. The list is usually a list of properties each enclosed within square brackets [] .CCPSearchSignature_NSignature1IdentifierThe Signature_ represents a unique file signature and is also the foreign key in the Signature, RegLocator, IniLocator, CompLocator and the DrLocator tables.CheckBoxPropertyNIdentifierA named property to be tied to the item.CheckBoxValueYFormattedThe value string associated with the item.ClassAppId_YAppId1GuidOptional AppID containing DCOM information for associated application (string GUID).ClassArgumentYFormattedoptional argument for LocalServers.ClassAttributesY32767Class registration attributes.ClassCLSIDNGuidThe CLSID of an OLE factory.ClassComponent_NComponent1IdentifierRequired foreign key into the Component Table, specifying the component for which to return a path when called through LocateComponent.ClassContextNIdentifierThe numeric server context for this server. CLSCTX_xxxxClassDefInprocHandlerYText1;2;3Optional default inproc handler. Only optionally provided if Context=CLSCTX_LOCAL_SERVER. Typically "ole32.dll" or "mapi32.dll"ClassDescriptionYTextLocalized description for the Class.ClassFeature_NFeature1IdentifierRequired foreign key into the Feature Table, specifying the feature to validate or install in order for the CLSID factory to be operational.ClassFileTypeMaskYTextOptional string containing information for the HKCRthis CLSID) key. If multiple patterns exist, they must be delimited by a semicolon, and numeric subkeys will be generated: 0,1,2...ClassIconIndexY-3276732767Optional icon index.ClassIcon_YIcon1IdentifierOptional foreign key into the Icon Table, specifying the icon file associated with this CLSID. Will be written under the DefaultIcon key.ClassProgId_DefaultYProgId1TextOptional ProgId associated with this CLSID.ComboBoxOrderN132767A positive integer used to determine the ordering of the items within one list. The integers do not have to be consecutive.ComboBoxPropertyNIdentifierA named property to be tied to this item. All the items tied to the same property become part of the same combobox.ComboBoxTextYFormattedThe visible text to be assigned to the item. Optional. If this entry or the entire column is missing, the text is the same as the value.ComboBoxValueNFormattedThe value string associated with this item. Selecting the line will set the associated property to this value.CompLocatorComponentIdNGuidA string GUID unique to this component, version, and language.CompLocatorSignature_NSignature1IdentifierThe table key. The Signature_ represents a unique file signature and is also the foreign key in the Signature table.CompLocatorTypeY01A boolean value that determines if the registry value is a filename or a directory location.ComplusComponent_NComponent1IdentifierForeign key referencing Component that controls the ComPlus component.ComplusExpTypeY032767ComPlus component attributes.ComponentAttributesNRemote execution option, one of irsEnumComponentComponentNIdentifierPrimary key used to identify a particular component record.ComponentComponentIdYGuidA string GUID unique to this component, version, and language.ComponentConditionYConditionA conditional statement that will disable this component if the specified condition evaluates to the 'True' state. If a component is disabled, it will not be installed, regardless of the 'Action' state associated with the component.ComponentDirectory_NDirectory1IdentifierRequired key of a Directory table record. This is actually a property name whose value contains the actual path, set either by the AppSearch action or with the default setting obtained from the Directory table.ComponentISAttributesYThis is used to store Installshield custom properties of a component.ComponentISCommentsYTextUser Comments.ComponentISDotNetInstallerArgsCommitYTextArguments passed to the key file of the component if if implements the .NET Installer classComponentISDotNetInstallerArgsInstallYTextArguments passed to the key file of the component if if implements the .NET Installer classComponentISDotNetInstallerArgsRollbackYTextArguments passed to the key file of the component if if implements the .NET Installer classComponentISDotNetInstallerArgsUninstallYTextArguments passed to the key file of the component if if implements the .NET Installer classComponentISRegFileToMergeAtBuildYTextPath and File name of a .REG file to merge into the component at build time.ComponentISScanAtBuildFileYTextFile used by the Dot Net scanner to populate dependant assemblies' File_Application field.ComponentKeyPathYFile;ODBCDataSource;Registry1IdentifierEither the primary key into the File table, Registry table, or ODBCDataSource table. This extract path is stored when the component is installed, and is used to detect the presence of the component and to return the path to it.ConditionConditionYConditionExpression evaluated to determine if Level in the Feature table is to change.ConditionFeature_NFeature1IdentifierReference to a Feature entry in Feature table.ConditionLevelN032767New selection Level to set in Feature table if Condition evaluates to TRUE.ControlAttributesY02147483647A 32-bit word that specifies the attribute flags to be applied to this control.ControlBinary_YBinary1IdentifierExternal key to the Binary table.ControlControlNIdentifierName of the control. This name must be unique within a dialog, but can repeat on different dialogs.ControlControl_NextYControl2IdentifierThe name of an other control on the same dialog. This link defines the tab order of the controls. The links have to form one or more cycles!ControlDialog_NDialog1IdentifierExternal key to the Dialog table, name of the dialog.ControlHeightN032767Height of the bounding rectangle of the control.ControlHelpYTextThe help strings used with the button. The text is optional.ControlISBuildSourcePathYTextFull path to .rtf file for scrollable text controlControlISControlIdYA number used to represent the control ID of the Control, Used in Dialog exportControlISWindowStyleY02147483647A 32-bit word that specifies non-MSI window styles to be applied to this control.ControlPropertyYIdentifierThe name of a defined property to be linked to this control.ControlTextYFormattedA string used to set the initial text contained within a control (if appropriate).ControlTypeNIdentifierThe type of the control.ControlWidthN032767Width of the bounding rectangle of the control.ControlXN032767Horizontal coordinate of the upper left corner of the bounding rectangle of the control.ControlYN032767Vertical coordinate of the upper left corner of the bounding rectangle of the control.ControlConditionActionNDefault;Disable;Enable;Hide;ShowThe desired action to be taken on the specified control.ControlConditionConditionNConditionA standard conditional statement that specifies under which conditions the action should be triggered.ControlConditionControl_NControl2IdentifierA foreign key to the Control table, name of the control.ControlConditionDialog_NDialog1IdentifierA foreign key to the Dialog table, name of the dialog.ControlEventArgumentNFormattedA value to be used as a modifier when triggering a particular event.ControlEventConditionYConditionA standard conditional statement that specifies under which conditions an event should be triggered.ControlEventControl_NControl2IdentifierA foreign key to the Control table, name of the controlControlEventDialog_NDialog1IdentifierA foreign key to the Dialog table, name of the dialog.ControlEventEventNFormattedAn identifier that specifies the type of the event that should take place when the user interacts with control specified by the first two entries.ControlEventOrderingY02147483647An integer used to order several events tied to the same control. Can be left blank.CreateFolderComponent_NComponent1IdentifierForeign key into the Component table.CreateFolderDirectory_NDirectory1IdentifierPrimary key, could be foreign key into the Directory table.CustomActionActionNIdentifierPrimary key, name of action, normally appears in sequence table unless private use.CustomActionExtendedTypeY02147483647The numeric custom action type info flags.CustomActionISCommentsYTextAuthor’s comments for this custom action.CustomActionSourceYCustomSourceThe table reference of the source of the code.CustomActionTargetYISDLLWrapper;ISInstallScriptAction1FormattedExcecution parameter, depends on the type of custom actionCustomActionTypeN132767The numeric custom action type, consisting of source location, code type, entry, option flags.DialogAttributesY02147483647A 32-bit word that specifies the attribute flags to be applied to this dialog.DialogControl_CancelYControl2IdentifierDefines the cancel control. Hitting escape or clicking on the close icon on the dialog is equivalent to pushing this button.DialogControl_DefaultYControl2IdentifierDefines the default control. Hitting return is equivalent to pushing this button.DialogControl_FirstNControl2IdentifierDefines the control that has the focus when the dialog is created.DialogDialogNIdentifierName of the dialog.DialogHCenteringN0100Horizontal position of the dialog on a 0-100 scale. 0 means left end, 100 means right end of the screen, 50 center.DialogHeightN032767Height of the bounding rectangle of the dialog.DialogISCommentsYTextAuthor’s comments for this dialog.DialogISResourceIdYA Number the Specifies the Dialog ID to be used in Dialog ExportDialogISWindowStyleYA 32-bit word that specifies non-MSI window styles to be applied to this control. This is only used in Script Based Setups.DialogTextStyle_YIdentifierForeign Key into TextStyle table, only used in Script Based Projects.DialogTitleYFormattedA text string specifying the title to be displayed in the title bar of the dialog's window.DialogVCenteringN0100Vertical position of the dialog on a 0-100 scale. 0 means top end, 100 means bottom end of the screen, 50 center.DialogWidthN032767Width of the bounding rectangle of the dialog.DirectoryDefaultDirNTextThe default sub-path under parent's path.DirectoryDirectoryNIdentifierUnique identifier for directory entry, primary key. If a property by this name is defined, it contains the full path to the directory.DirectoryDirectory_ParentYDirectory1IdentifierReference to the entry in this table specifying the default parent directory. A record parented to itself or with a Null parent represents a root of the install tree.DirectoryISAttributesY0;1;2;3;4;5;6;7This is used to store Installshield custom properties of a directory. Currently the only one is Shortcut.DirectoryISDescriptionYTextDescription of folderDirectoryISFolderNameYTextThis is used in Pro projects because the pro identifier used in the tree wasn't necessarily unique.DrLocatorDepthY032767The depth below the path to which the Signature_ is recursively searched. If absent, the depth is assumed to be 0.DrLocatorParentYIdentifierThe parent file signature. It is also a foreign key in the Signature table. If null and the Path column does not expand to a full path, then all the fixed drives of the user system are searched using the Path.DrLocatorPathYAnyPathThe path on the user system. This is a either a subpath below the value of the Parent or a full path. The path may contain properties enclosed within [ ] that will be expanded.DrLocatorSignature_NSignature1IdentifierThe Signature_ represents a unique file signature and is also the foreign key in the Signature table.DuplicateFileComponent_NComponent1IdentifierForeign key referencing Component that controls the duplicate file.DuplicateFileDestFolderYIdentifierName of a property whose value is assumed to resolve to the full pathname to a destination folder.DuplicateFileDestNameYTextFilename to be given to the duplicate file.DuplicateFileFileKeyNIdentifierPrimary key used to identify a particular file entryDuplicateFileFile_NFile1IdentifierForeign key referencing the source file to be duplicated.EnvironmentComponent_NComponent1IdentifierForeign key into the Component table referencing component that controls the installing of the environmental value.EnvironmentEnvironmentNIdentifierUnique identifier for the environmental variable settingEnvironmentNameNTextThe name of the environmental value.EnvironmentValueYFormattedThe value to set in the environmental settings.ErrorErrorN032767Integer error number, obtained from header file IError(...) macros.ErrorMessageYTemplateError formatting template, obtained from user ed. or localizers.EventMappingAttributeNIdentifierThe name of the control attribute, that is set when this event is received.EventMappingControl_NControl2IdentifierA foreign key to the Control table, name of the control.EventMappingDialog_NDialog1IdentifierA foreign key to the Dialog table, name of the Dialog.EventMappingEventNIdentifierAn identifier that specifies the type of the event that the control subscribes to.ExtensionComponent_NComponent1IdentifierRequired foreign key into the Component Table, specifying the component for which to return a path when called through LocateComponent.ExtensionExtensionNTextThe extension associated with the table row.ExtensionFeature_NFeature1IdentifierRequired foreign key into the Feature Table, specifying the feature to validate or install in order for the CLSID factory to be operational.ExtensionMIME_YMIME1TextOptional Context identifier, typically "type/format" associated with the extensionExtensionProgId_YProgId1TextOptional ProgId associated with this extension.FeatureAttributesN0;1;2;4;5;6;8;9;10;16;17;18;20;21;22;24;25;26;32;33;34;36;37;38;48;49;50;52;53;54Feature attributesFeatureDescriptionYTextLonger descriptive text describing a visible feature item.FeatureDirectory_YDirectory1UpperCaseThe name of the Directory that can be configured by the UI. A non-null value will enable the browse button.FeatureDisplayY032767Numeric sort order, used to force a specific display ordering.FeatureFeatureNIdentifierPrimary key used to identify a particular feature record.FeatureFeature_ParentYFeature1IdentifierOptional key of a parent record in the same table. If the parent is not selected, then the record will not be installed. Null indicates a root item.FeatureISCommentsYCommentsFeatureISFeatureCabNameYName of CAB used when compressing CABs by Feature. Used to override build generated name for CAB file.FeatureISProFeatureNameYTextThe name of the feature used by pro projects. This doesn't have to be unique.FeatureISReleaseFlagsYRelease Flags that specify whether this feature will be built in a particular release.FeatureLevelN032767The install level at which record will be initially selected. An install level of 0 will disable an item and prevent its display.FeatureTitleYTextShort text identifying a visible feature item.FeatureComponentsComponent_NComponent1IdentifierForeign key into Component table.FeatureComponentsFeature_NFeature1IdentifierForeign key into Feature table.FileAttributesY032767Integer containing bit flags representing file attributes (with the decimal value of each bit position in parentheses)FileComponent_NComponent1IdentifierForeign key referencing Component that controls the file.FileFileNIdentifierPrimary key, non-localized token, must match identifier in cabinet. For uncompressed files, this field is ignored.FileFileNameNTextFile name used for installation. This may contain a "short name|long name" pair. It may be just a long name, hence it cannot be of the Filename data type.FileFileSizeN02147483647Size of file in bytes (long integer).FileISAttributesY02147483647This field contains the following attributes: UseSystemSettings(0x1)FileISBuildSourcePathYTextFull path, the category is of Text instead of Path because of potential use of path variables.FileISComponentSubFolder_YIdentifierForeign key referencing component subfolder containing this file. Only for Pro.FileLanguageYLanguageList of decimal language Ids, comma-separated if more than one.FileSequenceN132767Sequence with respect to the media images; order must track cabinet order.FileVersionYFile1VersionVersion string for versioned files; Blank for unversioned files.FileSFPCatalogFile_NFile1IdentifierFile associated with the catalogFileSFPCatalogSFPCatalog_NSFPCatalog1TextCatalog associated with the fileFontFile_NFile1IdentifierPrimary key, foreign key into File table referencing font file.FontFontTitleYTextFont name.ISAssistantTagDataY - ISAssistantTagTagN - ISBillBoardColorY - ISBillBoardDisplayNameY - ISBillBoardDurationN032767 - ISBillBoardEffectN032767 - ISBillBoardFontY - ISBillBoardISBillboardN - ISBillBoardOriginN032767 - ISBillBoardSequenceN-3276732767 - ISBillBoardStyleY - ISBillBoardTargetN032767 - ISBillBoardTitleY - ISBillBoardXN032767 - ISBillBoardYN032767 - ISChainPackageDisplayNameYTextDisplay name for the chained package. Used only in the IDE.ISChainPackageISReleaseFlagsY - ISChainPackageInstallConditionYCondition - ISChainPackageInstallPropertiesYFormatted - ISChainPackageOptionsNInteger - ISChainPackageOrderNInteger - ISChainPackagePackageNIdentifier - ISChainPackageProductCodeY - ISChainPackageRemoveConditionYCondition - ISChainPackageRemovePropertiesYFormatted - ISChainPackageSourcePathY - ISChainPackageDataDataYBinaryBinary stream. The binary icon data in PE (.DLL or .EXE) or icon (.ICO) format.ISChainPackageDataFileNIdentifier - ISChainPackageDataFilePathNFormatted - ISChainPackageDataISBuildSourcePathYTextFull path to the ICO or EXE file.ISChainPackageDataOptionsY - ISChainPackageDataPackage_NISChainPackage1Identifier - ISClrWrapAction_NCustomAction1IdentifierForeign key into CustomAction tableISClrWrapNameNTextProperty associated with this ActionISClrWrapValueYTextValue associated with this PropertyISComCatalogAttributeISComCatalogObject_NISComCatalogObject1IdentifierForeign key into the ISComCatalogObject table.ISComCatalogAttributeItemNameNTextThe named attribute for a catalog object.ISComCatalogAttributeItemValueYTextA value associated with the attribute defined in the ItemName column.ISComCatalogCollectionCollectionNameNTextA catalog collection name.ISComCatalogCollectionISComCatalogCollectionNIdentifierA unique key for the ISComCatalogCollection table.ISComCatalogCollectionISComCatalogObject_NISComCatalogObject1IdentifierForeign key into the ISComCatalogObject table.ISComCatalogCollectionObjectsISComCatalogCollection_NISComCatalogCollection1IdentifierA unique key for the ISComCatalogCollection table.ISComCatalogCollectionObjectsISComCatalogObject_NISComCatalogObject1IdentifierForeign key into the ISComCatalogObject table.ISComCatalogObjectDisplayNameNThe display name of a catalog object.ISComCatalogObjectISComCatalogObjectNIdentifierA unique key for the ISComCatalogObject table.ISComPlusApplicationComponent_NComponent1IdentifierForeign key into the Component table that a COM+ application belongs to.ISComPlusApplicationComputerNameYTextComputer name that a COM+ application belongs to.ISComPlusApplicationDepFilesYTextList of the dependent files.ISComPlusApplicationISAttributesYInstallShield custom attributes associated with a COM+ application.ISComPlusApplicationISComCatalogObject_NISComCatalogObject1IdentifierForeign key into the ISComCatalogObject table.ISComPlusApplicationDLLAlterDLLYTextAlternate filename of the COM+ application component. Will be used for a .NET serviced component.ISComPlusApplicationDLLCLSIDNTextCLSID of the COM+ application component.ISComPlusApplicationDLLDLLYTextFilename of the COM+ application component.ISComPlusApplicationDLLISComCatalogObject_NISComCatalogObject1IdentifierForeign key into the ISComCatalogObject table.ISComPlusApplicationDLLISComPlusApplicationDLLNIdentifierA unique key for the ISComPlusApplicationDLL table.ISComPlusApplicationDLLISComPlusApplication_NISComPlusApplication1IdentifierForeign key into the ISComPlusApplication table.ISComPlusApplicationDLLProgIdYTextProgId of the COM+ application component.ISComPlusProxyComponent_YComponent1IdentifierForeign key into the Component table that a COM+ application proxy belongs to.ISComPlusProxyDepFilesYTextList of the dependent files.ISComPlusProxyISAttributesYInstallShield custom attributes associated with a COM+ application proxy.ISComPlusProxyISComPlusApplication_NISComPlusApplication1IdentifierForeign key into the ISComPlusApplication table that a COM+ application proxy belongs to.ISComPlusProxyISComPlusProxyNIdentifierA unique key for the ISComPlusProxy table.ISComPlusProxyDepFileFile_NFile1IdentifierForeign key into the File table.ISComPlusProxyDepFileISComPlusApplication_NISComPlusApplication1IdentifierForeign key into the ISComPlusApplication table.ISComPlusProxyDepFileISPathYTextFull path of the dependent file.ISComPlusProxyFileFile_NFile1IdentifierForeign key into the File table.ISComPlusProxyFileISComPlusApplicationDLL_NISComPlusApplicationDLL1IdentifierForeign key into the ISComPlusApplicationDLL table.ISComPlusServerDepFileFile_NFile1IdentifierForeign key into the File table.ISComPlusServerDepFileISComPlusApplication_NISComPlusApplication1IdentifierForeign key into the ISComPlusApplication table.ISComPlusServerDepFileISPathYTextFull path of the dependent file.ISComPlusServerFileFile_NFile1IdentifierForeign key into the File table.ISComPlusServerFileISComPlusApplicationDLL_NISComPlusApplicationDLL1IdentifierForeign key into the ISComPlusApplicationDLL table.ISComponentExtendedComponent_NComponent1IdentifierPrimary key used to identify a particular component record.ISComponentExtendedFTPLocationYTextFTP LocationISComponentExtendedFilterPropertyNIdentifierProperty to set if you want to filter a componentISComponentExtendedHTTPLocationYTextHTTP LocationISComponentExtendedLanguageYTextLanguageISComponentExtendedMiscellaneousYTextMiscellaneousISComponentExtendedOSYbitwise addition of OSsISComponentExtendedPlatformsYbitwise addition of Platforms.ISCustomActionReferenceAction_NCustomAction1IdentifierForeign key into theICustomAction table.ISCustomActionReferenceDescriptionYTextContents of the file speciifed in ISCAReferenceFilePath. This column is only used by MSI.ISCustomActionReferenceFileTypeYTextfile type of the file specified ISCAReferenceFilePath. This column is only used by MSI.ISCustomActionReferenceISCAReferenceFilePathYTextFull path, the category is of Text instead of Path because of potential use of path variables. This column only exists in ISM.ISDIMDependencyISDIMReference_NIdentifierThis is the primary key to the ISDIMDependency tableISDIMDependencyRequiredBuildVersionYTextthe build version identifying the required DIMISDIMDependencyRequiredMajorVersionYTextthe major version identifying the required DIMISDIMDependencyRequiredMinorVersionYTextthe minor version identifying the required DIMISDIMDependencyRequiredRevisionVersionYTextthe revision version identifying the required DIMISDIMDependencyRequiredUUIDNTextthe UUID identifying the required DIMISDIMReferenceISBuildSourcePathYTextFull path, the category is of Text instead of Path because of potential use of path variables.ISDIMReferenceISDIMReferenceNISDIMDependency1IdentifierThis is the primary key to the ISDIMReference tableISDIMReferenceDependenciesISDIMDependency_NISDIMDependency1IdentifierForeign key into ISDIMDependency table.ISDIMReferenceDependenciesISDIMReference_ParentNISDIMReference1IdentifierForeign key into ISDIMReference table.ISDIMVariableISDIMReference_NISDIMReference1IdentifierForeign key into ISDIMReference table.ISDIMVariableISDIMVariableNIdentifierThis is the primary key to the ISDIMVariable tableISDIMVariableNameNTextName of a variable defined in the .dim fileISDIMVariableNewValueYTextNew value that you want to override withISDIMVariableTypeYType of the variable. 0: Build Variable, 1: Runtime VariableISDLLWrapperEntryPointNTextThis is a foreign key to the target column in the CustomAction tableISDLLWrapperSourceNFormattedThis is column points to the source file for the DLLWrapper Custom ActionISDLLWrapperTargetNTextThe function signatureISDLLWrapperTypeYTypeISDRMFileFile_YFile1IdentifierForeign key into File table. A null value will cause a build warning.ISDRMFileISDRMFileNIdentifierUnique identifier for this item.ISDRMFileISDRMLicense_YISDRMLicense1IdentifierForeign key referencing License that packages this file.ISDRMFileShellNTextText indicating the activation shell used at runtime.ISDRMFileAttributeISDRMFile_NISDRMFile1IdentifierPrimary foreign key into ISDRMFile table.ISDRMFileAttributePropertyNTextThe name of the attributeISDRMFileAttributeValueYTextThe value of the attributeISDRMLicenseAttributesYNumberBitwise field used to specify binary attributes of this license.ISDRMLicenseDescriptionYTextAn internal description of this license.ISDRMLicenseISDRMLicenseNIdentifierUnique key identifying the license record.ISDRMLicenseLicenseNumberYTextThe license number.ISDRMLicenseProjectVersionYTextThe version of the project that this license is tied to.ISDRMLicenseRequestCodeYTextThe request code.ISDRMLicenseResponseCodeYTextThe response code.ISDependencyExcludeY - ISDependencyISDependencyY - ISDisk1FileDiskY-1;0;1Used to differentiate between disk1(1), last disk(-1), and other(0).ISDisk1FileISBuildSourcePathNTextFull path of file to be copied to Disk1 folderISDisk1FileISDisk1FileNIdentifierPrimary key for ISDisk1File tableISDynamicFileComponent_NComponent1IdentifierForeign key referencing Component that controls the file.ISDynamicFileExcludeFilesYTextWildcards for excluded files.ISDynamicFileISAttributesY0;1;2;3;4;5;6;7;8;9;10;11;12;13;14;15This is used to store Installshield custom properties of a dynamic filet. Currently the only one is SelfRegister.ISDynamicFileIncludeFilesYTextWildcards for included files.ISDynamicFileIncludeFlagsYInclude flags.ISDynamicFileSourceFolderNTextFull path, the category is of Text instead of Path because of potential use of path variables.ISFeatureDIMReferencesFeature_NFeature1IdentifierForeign key into Feature table.ISFeatureDIMReferencesISDIMReference_NISDIMReference1IdentifierForeign key into ISDIMReference table.ISFeatureMergeModuleExcludesFeature_NIdentifierForeign key into Feature table.ISFeatureMergeModuleExcludesLanguageNForeign key into ISMergeModule table.ISFeatureMergeModuleExcludesModuleIDNIdentifierForeign key into ISMergeModule table.ISFeatureMergeModulesFeature_NFeature1IdentifierForeign key into Feature table.ISFeatureMergeModulesISMergeModule_NISMergeModule1TextForeign key into ISMergeModule table.ISFeatureMergeModulesLanguage_NISMergeModule2Foreign key into ISMergeModule table.ISFeatureSetupPrerequisitesFeature_NFeature1IdentifierForeign key into Feature table.ISFeatureSetupPrerequisitesISSetupPrerequisites_NISSetupPrerequisites1 - ISFileManifestsFile_NIdentifierForeign key into File table.ISFileManifestsManifest_NIdentifierForeign key into File table.ISIISItemComponent_YComponent1IdentifierForeign key to Component table.ISIISItemDisplayNameYTextLocalizable Item Name.ISIISItemISIISItemNIdentifierPrimary key for each item.ISIISItemISIISItem_ParentYISIISItem1IdentifierThis record's parent record.ISIISItemTypeNIIS resource type.ISIISPropertyFriendlyNameYTextIIS property name.ISIISPropertyISAttributesYFlags.ISIISPropertyISIISItem_NISIISItem1IdentifierPrimary key for table, foreign key into ISIISItem.ISIISPropertyISIISPropertyNIdentifierPrimary key for table.ISIISPropertyMetaDataAttributesYIIS property attributes.ISIISPropertyMetaDataPropYIIS property ID.ISIISPropertyMetaDataTypeYIIS property data type.ISIISPropertyMetaDataUserTypeYIIS property user data type.ISIISPropertyMetaDataValueYTextIIS property value.ISIISPropertyOrderYOrder sequencing.ISIISPropertySchemaYTextIIS7 schema information.ISInstallScriptActionEntryPointNTextThis is a foreign key to the target column in the CustomAction tableISInstallScriptActionSourceNFormattedThis is column points to the source file for the DLLWrapper Custom ActionISInstallScriptActionTargetYTextThe function signatureISInstallScriptActionTypeYTypeISLanguageISLanguageNTextThis is the language ID.ISLanguageIncludedY0;1Specify whether this language should be included.ISLinkerLibraryISLinkerLibraryNIdentifierUnique identifier for the link library.ISLinkerLibraryLibraryNTextFull path of the object library (.obl file).ISLinkerLibraryOrderNOrder of the LibraryISLocalControlAttributesYA 32-bit word that specifies the attribute flags to be applied to this control.ISLocalControlBinary_YBinary1IdentifierExternal key to the Binary table.ISLocalControlControl_NControl2IdentifierName of the control. This name must be unique within a dialog, but can repeat on different dialogs.ISLocalControlDialog_NDialog1IdentifierExternal key to the Dialog table, name of the dialog.ISLocalControlHeightYHeight of the bounding rectangle of the control.ISLocalControlISBuildSourcePathYTextFull path to .rtf file for scrollable text controlISLocalControlISLanguage_NISLanguage1TextThis is a foreign key to the ISLanguage table.ISLocalControlWidthYWidth of the bounding rectangle of the control.ISLocalControlXYHorizontal coordinate of the upper left corner of the bounding rectangle of the control.ISLocalControlYYVertical coordinate of the upper left corner of the bounding rectangle of the control.ISLocalDialogAttributesYA 32-bit word that specifies the attribute flags to be applied to this dialog.ISLocalDialogDialog_YDialog1IdentifierName of the dialog.ISLocalDialogHeightN032767Height of the bounding rectangle of the dialog.ISLocalDialogISLanguage_YISLanguage1TextThis is a foreign key to the ISLanguage table.ISLocalDialogTextStyle_YIdentifierForeign Key into TextStyle table, only used in Script Based Projects.ISLocalDialogWidthN032767Width of the bounding rectangle of the dialog.ISLocalRadioButtonHeightN032767The height of the button.ISLocalRadioButtonISLanguage_NISLanguage1TextThis is a foreign key to the ISLanguage table.ISLocalRadioButtonOrderN132767RadioButton2A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive.ISLocalRadioButtonPropertyNRadioButton1IdentifierA named property to be tied to this radio button. All the buttons tied to the same property become part of the same group.ISLocalRadioButtonWidthN032767The width of the button.ISLocalRadioButtonXN032767The horizontal coordinate of the upper left corner of the bounding rectangle of the radio button.ISLocalRadioButtonYN032767The vertical coordinate of the upper left corner of the bounding rectangle of the radio button.ISLockPermissionsAttributesY-21474836472147483647Permissions attributes mask, 1==Deny access; 2==No inherit, 4==Ignore apply failures, 8==Target object is 64-bitISLockPermissionsDomainYTextDomain name for user whose permissions are being set.ISLockPermissionsLockObjectNIdentifierForeign key into CreateFolder, Registry, or File tableISLockPermissionsPermissionY-21474836472147483647Permission Access mask.ISLockPermissionsTableNIdentifierCreateFolder;File;RegistryReference to another table nameISLockPermissionsUserNTextUser for permissions to be set. This can be a property, hardcoded named, or SID stringISLogicalDiskCabinetYCabinetIf some or all of the files stored on the media are compressed in a cabinet, the name of that cabinet.ISLogicalDiskDiskIdN132767Primary key, integer to determine sort order for table.ISLogicalDiskDiskPromptYTextDisk name: the visible text actually printed on the disk. This will be used to prompt the user when this disk needs to be inserted.ISLogicalDiskISProductConfiguration_NISProductConfiguration1TextForeign key into the ISProductConfiguration table.ISLogicalDiskISRelease_NISRelease1TextForeign key into the ISRelease table.ISLogicalDiskLastSequenceN032767File sequence number for the last file for this media.ISLogicalDiskSourceYPropertyThe property defining the location of the cabinet file.ISLogicalDiskVolumeLabelYTextThe label attributed to the volume.ISLogicalDiskFeaturesFeature_YFeature1IdentifierRequired foreign key into the Feature Table,ISLogicalDiskFeaturesISAttributesYThis is used to store Installshield custom properties, like Compressed, etc.ISLogicalDiskFeaturesISLogicalDisk_N132767ISLogicalDisk1IdentifierForeign key into the ISLogicalDisk table.ISLogicalDiskFeaturesISProductConfiguration_NISProductConfiguration1TextForeign key into the ISProductConfiguration table.ISLogicalDiskFeaturesISRelease_NISRelease1TextForeign key into the ISRelease table.ISLogicalDiskFeaturesSequenceN032767File sequence number for the file for this media.ISMergeModuleDestinationYTextDestination.ISMergeModuleISAttributesYThis is used to store Installshield custom properties of a merge module.ISMergeModuleISMergeModuleNTextThe GUID identifying the merge module.ISMergeModuleLanguageNDefault decimal language of module.ISMergeModuleNameNTextName of the merge module.ISMergeModuleCfgValuesAttributesYAttributes (from configurable merge module)ISMergeModuleCfgValuesContextDataYTextContextData (from configurable merge module)ISMergeModuleCfgValuesDefaultValueYTextDefaultValue (from configurable merge module)ISMergeModuleCfgValuesDescriptionYTextDescription (from configurable merge module)ISMergeModuleCfgValuesDisplayNameYTextDisplayName (from configurable merge module)ISMergeModuleCfgValuesFormatNFormat (from configurable merge module)ISMergeModuleCfgValuesHelpKeywordYTextHelpKeyword (from configurable merge module)ISMergeModuleCfgValuesHelpLocationYTextHelpLocation (from configurable merge module)ISMergeModuleCfgValuesISMergeModule_NISMergeModule1TextThe module signature, a foreign key into the ISMergeModule tableISMergeModuleCfgValuesLanguage_NISMergeModule2Default decimal language of module.ISMergeModuleCfgValuesModuleConfiguration_NIdentifierIdentifier, foreign key into ModuleConfiguration table (ModuleConfiguration.Name)ISMergeModuleCfgValuesTypeYTextType (from configurable merge module)ISMergeModuleCfgValuesValueYTextValue for this item.ISObjectLanguageNText - ISObjectObjectNameNText - ISObjectPropertyIncludeInBuildYBoolean, 0 for false non 0 for trueISObjectPropertyObjectNameYISObject1Text - ISObjectPropertyPropertyYText - ISObjectPropertyValueYText - ISPatchConfigImagePatchConfiguration_YISPatchConfiguration1TextForeign key to the ISPatchConfigurationTableISPatchConfigImageUpgradedImage_NISUpgradedImage1TextForeign key to the ISUpgradedImageTableISPatchConfigurationAttributesYPatchConfiguration attributesISPatchConfigurationCanPCDifferNThis is determine whether Product Codes may differISPatchConfigurationCanPVDifferNThis is determine whether the Major Product Version may differISPatchConfigurationEnablePatchCacheNThis is determine whether to Enable Patch cacheingISPatchConfigurationFlagsNPatching API FlagsISPatchConfigurationIncludeWholeFilesNThis is determine whether to build a binary level patchISPatchConfigurationLeaveDecompressedNThis is determine whether to leave intermediate files devcompressed when finishedISPatchConfigurationMinMsiVersionNMinimum Required MSI VersionISPatchConfigurationNameNTextName of the Patch ConfigurationISPatchConfigurationOptimizeForSizeNThis is determine whether to Optimize for large filesISPatchConfigurationOutputPathNTextBuild LocationISPatchConfigurationPatchCacheDirYTextDirectory to recieve the Patch Cache informationISPatchConfigurationPatchGuidNTextUnique Patch IdentifierISPatchConfigurationPatchGuidsToReplaceYTextList Of Patch Guids to unregisterISPatchConfigurationTargetProductCodesNTextList Of target Product CodesISPatchConfigurationPropertyISPatchConfiguration_YISPatchConfiguration1TextName of the Patch ConfigurationISPatchConfigurationPropertyPropertyYTextName of the Patch Configuration Property valueISPatchConfigurationPropertyValueYTextValue of the Patch Configuration PropertyISPatchExternalFileFileKeyNTextFilekeyISPatchExternalFileFilePathNTextFilepathISPatchExternalFileISUpgradedImage_NISUpgradedImage1TextForeign key to the isupgraded image tableISPatchExternalFileNameNTextUniqu name to identify this record.ISPatchWholeFileComponentYTextComponent containing file keyISPatchWholeFileFileKeyNTextKey of file to be included as wholeISPatchWholeFileUpgradedImageNISUpgradedImage1TextForeign key to ISUpgradedImage TableISPathVariableISPathVariableNThe name of the path variable.ISPathVariableTestValueYTextThe test value of the path variable.ISPathVariableTypeN1;2;4;8The type of the path variable.ISPathVariableValueYTextThe value of the path variable.ISPowerShellWrapAction_NCustomAction1IdentifierForeign key into CustomAction tableISPowerShellWrapNameNTextProperty associated with this ActionISPowerShellWrapValueYTextValue associated with this PropertyISProductConfigurationGeneratePackageCodeYNumber0;1Indicates whether or not to generate a package code.ISProductConfigurationISProductConfigurationNTextThe name of the product configuration.ISProductConfigurationProductConfigurationFlagsYTextProduct configuration (release) flags.ISProductConfigurationInstanceISProductConfiguration_NISProductConfiguration1TextForeign key into the ISProductConfiguration table.ISProductConfigurationInstanceInstanceIdN032767Identifies the instance number of this instance. This value is stored in the Property InstanceId.ISProductConfigurationInstancePropertyNTextProduct Congiuration property nameISProductConfigurationInstanceValueNTextString value for property.ISProductConfigurationPropertyISProductConfiguration_NISProductConfiguration1TextForeign key into the ISProductConfiguration table.ISProductConfigurationPropertyPropertyNProperty1TextProduct Congiuration property nameISProductConfigurationPropertyValueYTextString value for property. Never null or empty.ISReleaseAttributesNBitfield holding boolean values for various release attributes.ISReleaseBuildLocationNTextBuild location.ISReleaseCDBrowserYTextDemoshield browser location.ISReleaseDefaultLanguageNTextDefault language for setup.ISReleaseDigitalPVKYTextDigital signing private key (.pvk) file.ISReleaseDigitalSPCYTextDigital signing Software Publisher Certificate (.spc) file.ISReleaseDigitalURLYTextDigital signing URL.ISReleaseDiskClusterSizeNDisk cluster size.ISReleaseDiskSizeNTextDisk size.ISReleaseDiskSizeUnitN0;1;2Disk size units (KB or MB).ISReleaseDiskSpanningN0;1;2Disk spanning (automatic, enforce size, etc.).ISReleaseDotNetBuildConfigurationYTextBuild Configuration for .NET solutions.ISReleaseISProductConfiguration_NISProductConfiguration1TextForeign key into the ISProductConfiguration table.ISReleaseISReleaseNTextThe name of the release.ISReleaseISSetupPrerequisiteLocationY0;1;2;3Location the Setup Prerequisites will be placed inISReleaseMediaLocationNTextMedia location on disk.ISReleaseMsiCommandLineYTextCommand line passed to the msi package from setup.exeISReleaseMsiSourceTypeN-14MSI media source type.ISReleasePackageNameNTextPackage name.ISReleasePasswordYTextPassword.ISReleasePlatformsNTextPlatforms supported (Intel, Alpha, etc.).ISReleaseReleaseFlagsYTextRelease flags.ISReleaseReleaseTypeN1;2;4Release type (single, uncompressed, etc.).ISReleaseSupportedLanguagesDataYTextLanguages supported (for component filtering).ISReleaseSupportedLanguagesUINTextUI languages supported.ISReleaseSupportedOSsNIndicate which operating systmes are supported.ISReleaseSynchMsiYTextMSI file to synchronize file keys and other data with (patch-like functionality).ISReleaseTypeN06Release type (CDROM, Network, etc.).ISReleaseURLLocationYTextMedia location via URL.ISReleaseVersionCopyrightYTextVersion stamp information.ISReleaseASPublishInfoISProductConfiguration_NISProductConfiguration1TextForeign key into the ISProductConfiguration table.ISReleaseASPublishInfoISRelease_NISRelease1TextForeign key into the ISRelease table.ISReleaseASPublishInfoPropertyYTextAS Repository property nameISReleaseASPublishInfoValueYTextAS Repository property valueISReleaseExtendedAttributesYBitfield holding boolean values for various release attributes.ISReleaseExtendedCertPasswordYTextDigital certificate passwordISReleaseExtendedDigitalCertificateDBaseNSYTextPath to cerificate database for Netscape digital signatureISReleaseExtendedDigitalCertificateIdNSYTextPath to cerificate ID for Netscape digital signatureISReleaseExtendedDigitalCertificatePasswordNSYTextPassword for Netscape digital signatureISReleaseExtendedDotNetBaseLanguageYTextBase Languge of .NET RedistISReleaseExtendedDotNetFxCmdLineYTextCommand Line to pass to DotNetFx.exeISReleaseExtendedDotNetLangPackCmdLineYTextCommand Line to pass to LangPack.exeISReleaseExtendedDotNetLangaugePacksYText.NET Redist language packs to includeISReleaseExtendedDotNetRedistLocationY03Location of .NET framework Redist (Web, SetupExe, Source, None)ISReleaseExtendedDotNetRedistURLYTextURL to .NET framework RedistISReleaseExtendedDotNetVersionY02Version of .NET framework Redist (1.0, 1.1)ISReleaseExtendedEngineLocationY02Location of msi engine (Web, SetupExe...)ISReleaseExtendedISEngineLocationY02Location of ISScript engine (Web, SetupExe...)ISReleaseExtendedISEngineURLYTextURL to InstallShield scripting engineISReleaseExtendedISProductConfiguration_NTextForeign key into the ISProductConfiguration table.ISReleaseExtendedISRelease_NTextThe name of the release.ISReleaseExtendedJSharpCmdLineYTextCommand Line to pass to vjredist.exeISReleaseExtendedJSharpRedistLocationY03Location of J# framework Redist (Web, SetupExe, Source, None)ISReleaseExtendedMsiEngineVersionYBitfield holding selected MSI engine versions included in this releaseISReleaseExtendedOneClickCabNameYTextFile name of generated cabfileISReleaseExtendedOneClickHtmlNameYTextFile name of generated html pageISReleaseExtendedOneClickTargetBrowserY02Target browser (IE, Netscape, both...)ISReleaseExtendedWebCabSizeY02147483647Size of the cabfileISReleaseExtendedWebLocalCachePathYTextDirectory to cache downloaded packageISReleaseExtendedWebTypeY02Type of web install (One Executable, Downloader...)ISReleaseExtendedWebURLYTextURL to .msi packageISReleaseExtendedWin9xMsiUrlYTextURL to Ansi MSI engineISReleaseExtendedWinMsi30UrlYTextURL to MSI 3.0 engineISReleaseExtendedWinNTMsiUrlYTextURL to Unicode MSI engineISReleasePropertyISProductConfiguration_NTextForeign key into ISProductConfiguration table.ISReleasePropertyISRelease_NTextForeign key into ISRelease table.ISReleasePropertyNameNProperty nameISReleasePropertyValueNProperty valueISReleasePublishInfoDescriptionYTextRepository item descriptionISReleasePublishInfoDisplayNameYTextRepository item display nameISReleasePublishInfoISAttributesYBitfield holding various attributesISReleasePublishInfoISProductConfiguration_NISProductConfiguration1TextForeign key into the ISProductConfiguration table.ISReleasePublishInfoISRelease_NISRelease1TextThe name of the release.ISReleasePublishInfoPublisherYTextRepository item publisherISReleasePublishInfoRepositoryYTextRepository which to publish the built merge moduleISSQLConnectionAttributesN - ISSQLConnectionAuthenticationN - ISSQLConnectionBatchSeparatorY - ISSQLConnectionCmdTimeoutY - ISSQLConnectionCommentsY - ISSQLConnectionDatabaseN - ISSQLConnectionISSQLConnectionNIdentifierPrimary key used to identify a particular ISSQLConnection record.ISSQLConnectionOrderN - ISSQLConnectionPasswordN - ISSQLConnectionScriptVersion_ColumnY - ISSQLConnectionScriptVersion_TableY - ISSQLConnectionServerN - ISSQLConnectionUserNameN - ISSQLConnectionDBServerISSQLConnectionDBServerNIdentifierPrimary key used to identify a particular ISSQLConnectionDBServer record.ISSQLConnectionDBServerISSQLConnection_NISSQLConnection1IdentifierForeign key into ISSQLConnection table.ISSQLConnectionDBServerISSQLDBMetaData_NISSQLDBMetaData1IdentifierForeign key into ISSQLDBMetaData table.ISSQLConnectionDBServerOrderN - ISSQLConnectionScriptISSQLConnection_NISSQLConnection1IdentifierForeign key into ISSQLConnection table.ISSQLConnectionScriptISSQLScriptFile_NISSQLScriptFile1IdentifierForeign key into ISSQLScriptFile table.ISSQLConnectionScriptOrderN - ISSQLDBMetaDataAdoCxnAdditionalY - ISSQLDBMetaDataAdoCxnDatabaseY - ISSQLDBMetaDataAdoCxnDriverY - ISSQLDBMetaDataAdoCxnNetLibraryY - ISSQLDBMetaDataAdoCxnPasswordY - ISSQLDBMetaDataAdoCxnPortY - ISSQLDBMetaDataAdoCxnServerY - ISSQLDBMetaDataAdoCxnUserIDY - ISSQLDBMetaDataAdoCxnWindowsSecurityY - ISSQLDBMetaDataAdoDriverNameY - ISSQLDBMetaDataCreateDbCmdY - ISSQLDBMetaDataCreateTableCmdY - ISSQLDBMetaDataDisplayNameY - ISSQLDBMetaDataDsnODBCNameY - ISSQLDBMetaDataISAttributesY - ISSQLDBMetaDataISSQLDBMetaDataNIdentifierPrimary key used to identify a particular ISSQLDBMetaData record.ISSQLDBMetaDataInsertRecordCmdY - ISSQLDBMetaDataLocalInstanceNamesY - ISSQLDBMetaDataQueryDatabasesCmdY - ISSQLDBMetaDataScriptVersion_ColumnY - ISSQLDBMetaDataScriptVersion_ColumnTypeY - ISSQLDBMetaDataScriptVersion_TableY - ISSQLDBMetaDataSelectTableCmdY - ISSQLDBMetaDataSwitchDbCmdY - ISSQLDBMetaDataTestDatabaseCmdY - ISSQLDBMetaDataTestTableCmdY - ISSQLDBMetaDataTestTableCmd2Y - ISSQLDBMetaDataVersionBeginTokenY - ISSQLDBMetaDataVersionEndTokenY - ISSQLDBMetaDataVersionInfoCmdY - ISSQLDBMetaDataWinAuthentUserIdY - ISSQLRequirementAttributesN - ISSQLRequirementISSQLConnectionDBServer_YISSQLConnectionDBServer1IdentifierForeign key into ISSQLConnectionDBServer table.ISSQLRequirementISSQLConnection_NISSQLConnection1IdentifierForeign key into ISSQLConnection table.ISSQLRequirementISSQLRequirementNIdentifierPrimary key used to identify a particular ISSQLRequirement record.ISSQLRequirementMajorVersionY - ISSQLRequirementServicePackLevelY - ISSQLScriptErrorAttributesN - ISSQLScriptErrorErrHandlingN - ISSQLScriptErrorErrNumberN - ISSQLScriptErrorISSQLScriptFile_YISSQLScriptFile1IdentifierForeign key into ISSQLScriptFile tableISSQLScriptErrorMessageYTextCustom end-user message. Reserved for future use.ISSQLScriptFileAttributesN - ISSQLScriptFileCommentsYTextCommentsISSQLScriptFileComponent_NComponent1IdentifierForeign key referencing Component that controls the SQL script.ISSQLScriptFileConditionYConditionA conditional statement that will disable this script if the specified condition evaluates to the 'False' state. If a script is disabled, it will not be installed regardless of the 'Action' state associated with the component.ISSQLScriptFileDisplayNameYTextDisplay name for the SQL script file.ISSQLScriptFileErrorHandlingN - ISSQLScriptFileISBuildSourcePathYTextFull path, the category is of Text instead of Path because of potential use of path variables.ISSQLScriptFileISSQLScriptFileNIdentifierThis is the primary key to the ISSQLScriptFile tableISSQLScriptFileInstallTextYTextFeedback end-user text at installISSQLScriptFileSchedulingN - ISSQLScriptFileUninstallTextYTextFeedback end-user text at UninstallISSQLScriptFileVersionYTextSchema Version (#####.#####.#####.#####)ISSQLScriptImportAttributesN - ISSQLScriptImportAuthenticationN - ISSQLScriptImportDatabaseY - ISSQLScriptImportExcludeTablesY - ISSQLScriptImportISSQLScriptFile_NISSQLScriptFile1IdentifierForeign key into ISSQLScriptFile table.ISSQLScriptImportIncludeTablesY - ISSQLScriptImportPasswordY - ISSQLScriptImportServerY - ISSQLScriptImportUserNameY - ISSQLScriptReplaceAttributesN - ISSQLScriptReplaceISSQLScriptFile_NISSQLScriptFile1IdentifierForeign key into ISSQLScriptFile table.ISSQLScriptReplaceISSQLScriptReplaceNIdentifierPrimary key used to identify a particular ISSQLScriptReplace record.ISSQLScriptReplaceReplaceY - ISSQLScriptReplaceSearchY - ISScriptFileISScriptFileNTextThis is the full path of the script file. The path portion may be expressed in path variable form.ISSelfRegCmdLineY - ISSelfRegCostY - ISSelfRegFileKeyNFile1IdentifierForeign key to the file tableISSelfRegOrderY - ISSetupFileFileNameYTextThis is the file name to use when streaming the file to the support files locationISSetupFileISSetupFileNIdentifierThis is the primary key to the ISSetupFile tableISSetupFileLanguageYTextFour digit language identifier. 0 for Language NeutralISSetupFilePathYTextLink to the source file on the build machineISSetupFileSplashYShortBoolean value indication whether his setup file entry belongs in the Splasc Screen sectionISSetupFileStreamYBinaryBinary stream. The bits to stream to the support locationISSetupPrerequisitesISBuildSourcePathY - ISSetupPrerequisitesISReleaseFlagsYRelease Flags that specify whether this prereq will be included in a particular release.ISSetupPrerequisitesISSetupLocationY0;1;2 - ISSetupPrerequisitesISSetupPrerequisitesN - ISSetupPrerequisitesOrderY - ISSetupTypeCommentsYTextUser Comments.ISSetupTypeDescriptionYTextLonger descriptive text describing a visible feature item.ISSetupTypeDisplayN032767Numeric sort order, used to force a specific display ordering.ISSetupTypeDisplay_NameYFormattedA string used to set the initial text contained within a control (if appropriate).ISSetupTypeISSetupTypeNIdentifierPrimary key used to identify a particular feature record.ISSetupTypeFeaturesFeature_NFeature1IdentifierForeign key into Feature table.ISSetupTypeFeaturesISSetupType_NISSetupType1IdentifierForeign key into ISSetupType table.ISStoragesISBuildSourcePathYPath to the file to stream into sub-storageISStoragesNameNName of the sub-storage keyISStringCommentYTextCommentISStringEncodedYEncoding for multi-byte strings.ISStringISLanguage_NTextThis is a foreign key to the ISLanguage table.ISStringISStringNTextString id.ISStringTimeStampYTime/DateTime Stamp. MSI's Time/Date column type is just an int, with bits packed in a certain order.ISStringValueYTextreal string value.ISSwidtagPropertyNameNIdentifierProperty nameISSwidtagPropertyValueNTextProperty valueISTargetImageFlagsYrelative order of the target imageISTargetImageIgnoreMissingFilesNIf true, ignore missing source files when creating patchISTargetImageMsiPathNTextPath to the target imageISTargetImageNameNIdentifierName of the TargetImageISTargetImageOrderNrelative order of the target imageISTargetImageUpgradedImage_NISUpgradedImage1Textforeign key to the upgraded Image tableISUpgradeMsiItemISAttributesN0;1 - ISUpgradeMsiItemISReleaseFlagsY - ISUpgradeMsiItemObjectSetupPathNTextThe path to the setup you want to upgrade.ISUpgradeMsiItemUpgradeItemNTextThe name of the Upgrade Item.ISUpgradedImageFamilyNTextName of the image familyISUpgradedImageMsiPathNTextPath to the upgraded imageISUpgradedImageNameNIdentifierName of the UpgradedImageISVirtualDirectoryDirectory_NDirectory1IdentifierForeign key into Directory table.ISVirtualDirectoryNameNIdentifierProperty nameISVirtualDirectoryValueNProperty valueISVirtualFileFile_NFile1IdentifierForeign key into File table.ISVirtualFileNameNIdentifierProperty nameISVirtualFileValueNProperty valueISVirtualPackageNameNIdentifierProperty nameISVirtualPackageValueNProperty valueISVirtualRegistryNameNIdentifierProperty nameISVirtualRegistryRegistry_NRegistry1IdentifierForeign key into Registry table.ISVirtualRegistryValueNProperty valueISVirtualReleaseISProductConfiguration_NTextForeign key into ISProductConfiguration table.ISVirtualReleaseISRelease_NTextForeign key into ISRelease table.ISVirtualReleaseNameNProperty nameISVirtualReleaseValueNProperty valueISVirtualShortcutNameNIdentifierProperty nameISVirtualShortcutShortcut_NShortcut1IdentifierForeign key into Shortcut table.ISVirtualShortcutValueNProperty valueISXmlElementContentYTextElement contentsISXmlElementISAttributesYNumberInternal XML element attributesISXmlElementISXmlElementNIdentifierPrimary key, non-localized, internal token for Xml elementISXmlElementISXmlElement_ParentYISXmlElement1IdentifierForeign key into ISXMLElement table.ISXmlElementISXmlFile_NISXmlFile1IdentifierForeign key into XmlFile table.ISXmlElementXPathYTextXPath fragment including any operatorsISXmlElementAttribISAttributesYNumberInternal XML elementattib attributesISXmlElementAttribISXmlElementAttribNIdentifierPrimary key, non-localized, internal token for Xml element attributeISXmlElementAttribISXmlElement_NISXmlElement1IdentifierForeign key into ISXMLElement table.ISXmlElementAttribNameYTextLocalized attribute nameISXmlElementAttribValueYTextLocalized attribute valueISXmlFileComponent_NComponent1IdentifierForeign key into Component table.ISXmlFileDirectoryNIdentifierForeign key into Directory table.ISXmlFileEncodingYTextXML File EncodingISXmlFileFileNameNTextLocalized XML file nameISXmlFileISAttributesYNumberInternal XML file attributesISXmlFileISXmlFileNIdentifierPrimary key, non-localized,internal token for Xml fileISXmlFileSelectionNamespacesYTextSelection namespacesISXmlLocatorAttributeYThe name of an attribute within the XML element.ISXmlLocatorElementYXPath query that will locate an element in an XML file.ISXmlLocatorISAttributesY0;1;2 - ISXmlLocatorParentYIdentifierThe parent file signature. It is also a foreign key in the Signature table.ISXmlLocatorSignature_NIdentifierThe Signature_ represents a unique file signature and is also the foreign key in the Signature, RegLocator, IniLocator, ISXmlLocator, CompLocator and the DrLocator tables.IconDataYBinaryBinary stream. The binary icon data in PE (.DLL or .EXE) or icon (.ICO) format.IconISBuildSourcePathYTextFull path to the ICO or EXE file.IconISIconIndexY-3276732767Optional icon index to be extracted.IconNameNIdentifierPrimary key. Name of the icon file.IniFileActionN0;1;3The type of modification to be made, one of iifEnumIniFileComponent_NComponent1IdentifierForeign key into the Component table referencing component that controls the installing of the .INI value.IniFileDirPropertyYIdentifierForeign key into the Directory table denoting the directory where the .INI file is.IniFileFileNameNTextThe .INI file name in which to write the informationIniFileIniFileNIdentifierPrimary key, non-localized token.IniFileKeyNFormattedThe .INI file key below Section.IniFileSectionNFormattedThe .INI file Section.IniFileValueNFormattedThe value to be written.IniLocatorFieldY032767The field in the .INI line. If Field is null or 0 the entire line is read.IniLocatorFileNameNTextThe .INI file name.IniLocatorKeyNTextKey value (followed by an equals sign in INI file).IniLocatorSectionNTextSection name within in file (within square brackets in INI file).IniLocatorSignature_NSignature1IdentifierThe table key. The Signature_ represents a unique file signature and is also the foreign key in the Signature table.IniLocatorTypeY02An integer value that determines if the .INI value read is a filename or a directory location or to be used as is w/o interpretation.InstallExecuteSequenceActionNIdentifierName of action to invoke, either in the engine or the handler DLL.InstallExecuteSequenceConditionYConditionOptional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.InstallExecuteSequenceISAttributesYThis is used to store MM Custom Action TypesInstallExecuteSequenceISCommentsYTextAuthor’s comments on this Sequence.InstallExecuteSequenceSequenceY-432767Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action.InstallShieldPropertyNIdentifierName of property, uppercase if settable by launcher or loader.InstallShieldValueYTextString value for property.InstallUISequenceActionNIdentifierName of action to invoke, either in the engine or the handler DLL.InstallUISequenceConditionYConditionOptional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.InstallUISequenceISAttributesYThis is used to store MM Custom Action TypesInstallUISequenceISCommentsYTextAuthor’s comments on this Sequence.InstallUISequenceSequenceY-432767Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action.IsolatedComponentComponent_ApplicationNComponent1IdentifierKey to Component table item for applicationIsolatedComponentComponent_SharedNComponent1IdentifierKey to Component table item to be isolatedLaunchConditionConditionNConditionExpression which must evaluate to TRUE in order for install to commence.LaunchConditionDescriptionNTextLocalizable text to display when condition fails and install must abort.ListBoxOrderN132767A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive.ListBoxPropertyNIdentifierA named property to be tied to this item. All the items tied to the same property become part of the same listbox.ListBoxTextYTextThe visible text to be assigned to the item. Optional. If this entry or the entire column is missing, the text is the same as the value.ListBoxValueNFormattedThe value string associated with this item. Selecting the line will set the associated property to this value.ListViewBinary_YBinary1IdentifierThe name of the icon to be displayed with the icon. The binary information is looked up from the Binary Table.ListViewOrderN132767A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive.ListViewPropertyNIdentifierA named property to be tied to this item. All the items tied to the same property become part of the same listview.ListViewTextYTextThe visible text to be assigned to the item. Optional. If this entry or the entire column is missing, the text is the same as the value.ListViewValueNTextThe value string associated with this item. Selecting the line will set the associated property to this value.LockPermissionsDomainYTextDomain name for user whose permissions are being set. (usually a property)LockPermissionsLockObjectNIdentifierForeign key into Registry or File tableLockPermissionsPermissionY-21474836472147483647Permission Access mask. Full Control = 268435456 (GENERIC_ALL = 0x10000000)LockPermissionsTableNIdentifierDirectory;File;RegistryReference to another table nameLockPermissionsUserNTextUser for permissions to be set. (usually a property)MIMECLSIDYClass1GuidOptional associated CLSID.MIMEContentTypeNTextPrimary key. Context identifier, typically "type/format".MIMEExtension_NExtension1TextOptional associated extension (without dot)MediaCabinetYCabinetIf some or all of the files stored on the media are compressed in a cabinet, the name of that cabinet.MediaDiskIdN132767Primary key, integer to determine sort order for table.MediaDiskPromptYTextDisk name: the visible text actually printed on the disk. This will be used to prompt the user when this disk needs to be inserted.MediaLastSequenceN032767File sequence number for the last file for this media.MediaSourceYPropertyThe property defining the location of the cabinet file.MediaVolumeLabelYTextThe label attributed to the volume.MoveFileComponent_NComponent1IdentifierIf this component is not "selected" for installation or removal, no action will be taken on the associated MoveFile entryMoveFileDestFolderNIdentifierName of a property whose value is assumed to resolve to the full path to the destination directoryMoveFileDestNameYTextName to be given to the original file after it is moved or copied. If blank, the destination file will be given the same name as the source fileMoveFileFileKeyNIdentifierPrimary key that uniquely identifies a particular MoveFile recordMoveFileOptionsN01Integer value specifying the MoveFile operating mode, one of imfoEnumMoveFileSourceFolderYIdentifierName of a property whose value is assumed to resolve to the full path to the source directoryMoveFileSourceNameYTextName of the source file(s) to be moved or copied. Can contain the '*' or '?' wildcards.MsiAssemblyAttributesYAssembly attributesMsiAssemblyComponent_NComponent1IdentifierForeign key into Component table.MsiAssemblyFeature_NFeature1IdentifierForeign key into Feature table.MsiAssemblyFile_ApplicationYFile1IdentifierForeign key into File table, denoting the application context for private assemblies. Null for global assemblies.MsiAssemblyFile_ManifestYFile1IdentifierForeign key into the File table denoting the manifest file for the assembly.MsiAssemblyNameComponent_NComponent1IdentifierForeign key into Component table.MsiAssemblyNameNameNTextThe name part of the name-value pairs for the assembly name.MsiAssemblyNameValueNTextThe value part of the name-value pairs for the assembly name.MsiDigitalCertificateCertDataNBinaryA certificate context blob for a signer certificateMsiDigitalCertificateDigitalCertificateNMsiPackageCertificate2IdentifierA unique identifier for the rowMsiDigitalSignatureDigitalCertificate_NMsiDigitalCertificate1IdentifierForeign key to MsiDigitalCertificate table identifying the signer certificateMsiDigitalSignatureHashYBinaryThe encoded hash blob from the digital signatureMsiDigitalSignatureSignObjectNTextForeign key to Media tableMsiDigitalSignatureTableNIdentifierReference to another table name (only Media table is supported)MsiDriverPackagesComponentNComponent1IdentifierPrimary key used to identify a particular component record.MsiDriverPackagesFlagsNDriver package flagsMsiDriverPackagesReferenceComponentsY - MsiDriverPackagesSequenceYInstallation sequence numberMsiEmbeddedChainerCommandLineYFormatted - MsiEmbeddedChainerConditionYCondition - MsiEmbeddedChainerMsiEmbeddedChainerNIdentifier - MsiEmbeddedChainerSourceNCustomSource - MsiEmbeddedChainerTypeYInteger2;18;50 - MsiEmbeddedUIAttributesN03IntegerInformation about the data in the Data column.MsiEmbeddedUIDataYBinaryThis column contains binary information.MsiEmbeddedUIFileNameNFilenameThe name of the file that receives the binary information in the Data column.MsiEmbeddedUIISBuildSourcePathYText - MsiEmbeddedUIMessageFilterY0234913791IntegerSpecifies the types of messages that are sent to the user interface DLL. This column is only relevant for rows with the msidbEmbeddedUI attribute.MsiEmbeddedUIMsiEmbeddedUINIdentifierThe primary key for the table.MsiFileHashFile_NFile1IdentifierPrimary key, foreign key into File table referencing file with this hashMsiFileHashHashPart1NSize of file in bytes (long integer).MsiFileHashHashPart2NSize of file in bytes (long integer).MsiFileHashHashPart3NSize of file in bytes (long integer).MsiFileHashHashPart4NSize of file in bytes (long integer).MsiFileHashOptionsN032767Various options and attributes for this hash.MsiLockPermissionsExConditionYFormattedExpression which must evaluate to TRUE in order for this set of permissions to be appliedMsiLockPermissionsExLockObjectNIdentifierForeign key into Registry, File, CreateFolder, or ServiceInstall tableMsiLockPermissionsExMsiLockPermissionsExNIdentifierPrimary key, non-localized tokenMsiLockPermissionsExSDDLTextNFormattedSDDLTextString to indicate permissions to be applied to the LockObjectMsiLockPermissionsExTableNIdentifierCreateFolder;File;Registry;ServiceInstallReference to another table nameMsiPackageCertificateDigitalCertificate_NIdentifierA foreign key to the digital certificate tableMsiPackageCertificatePackageCertificateNIdentifierA unique identifier for the rowMsiPatchCertificateDigitalCertificate_NMsiDigitalCertificate1IdentifierA foreign key to the digital certificate tableMsiPatchCertificatePatchCertificateNIdentifierA unique identifier for the rowMsiPatchMetadataCompanyYTextOptional company nameMsiPatchMetadataPatchConfiguration_NISPatchConfiguration1TextForeign key to the ISPatchConfiguration tableMsiPatchMetadataPropertyNTextName of the metadataMsiPatchMetadataValueYTextValue of the metadataMsiPatchOldAssemblyFileAssembly_YMsiPatchOldAssemblyName1 - MsiPatchOldAssemblyFileFile_NFile1 - MsiPatchOldAssemblyNameAssemblyN - MsiPatchOldAssemblyNameNameN - MsiPatchOldAssemblyNameValueY - MsiPatchSequencePatchConfiguration_NISPatchConfiguration1TextForeign key to the patch configuration tableMsiPatchSequencePatchFamilyNTextName of the family to which this patch belongsMsiPatchSequenceSequenceNVersionThe version of this patch in this familyMsiPatchSequenceSupersedeNIntegerSupersedeMsiPatchSequenceTargetYTextTarget product codes for this patch familyMsiServiceConfigArgumentYTextArgument(s) for service configuration. Value depends on the content of the ConfigType fieldMsiServiceConfigComponent_NComponent1IdentifierRequired foreign key into the Component Table that controls the configuration of the serviceMsiServiceConfigConfigTypeN-21474836472147483647Service Configuration OptionMsiServiceConfigEventN07Bit field: 0x1 = Install, 0x2 = Uninstall, 0x4 = ReinstallMsiServiceConfigMsiServiceConfigNIdentifierPrimary key, non-localized token.MsiServiceConfigNameNFormattedName of a service. /, \, comma and space are invalidMsiServiceConfigFailureActionsActionsYTextA list of integer actions separated by [~] delimiters: 0 = SC_ACTION_NONE, 1 = SC_ACTION_RESTART, 2 = SC_ACTION_REBOOT, 3 = SC_ACTION_RUN_COMMAND. Terminate with [~][~]MsiServiceConfigFailureActionsCommandYFormattedCommand line of the process to CreateProcess function to executeMsiServiceConfigFailureActionsComponent_NComponent1IdentifierRequired foreign key into the Component Table that controls the configuration of the serviceMsiServiceConfigFailureActionsDelayActionsYTextA list of delays (time in milli-seconds), separated by [~] delmiters, to wait before taking the corresponding Action. Terminate with [~][~]MsiServiceConfigFailureActionsEventN07Bit field: 0x1 = Install, 0x2 = Uninstall, 0x4 = ReinstallMsiServiceConfigFailureActionsMsiServiceConfigFailureActionsNIdentifierPrimary key, non-localized tokenMsiServiceConfigFailureActionsNameNFormattedName of a service. /, \, comma and space are invalidMsiServiceConfigFailureActionsRebootMessageYFormattedMessage to be broadcast to server users before rebootingMsiServiceConfigFailureActionsResetPeriodY02147483647Time in seconds after which to reset the failure count to zero. Leave blank if it should never be resetMsiShortcutPropertyMsiShortcutPropertyNIdentifierPrimary key, non-localized tokenMsiShortcutPropertyPropVariantValueNFormattedString representation of the value in the propertyMsiShortcutPropertyPropertyKeyNFormattedCanonical string representation of the Property Key being setMsiShortcutPropertyShortcut_NShortcut1IdentifierForeign key into the Shortcut tableODBCAttributeAttributeNTextName of ODBC driver attributeODBCAttributeDriver_NODBCDriver1IdentifierReference to ODBC driver in ODBCDriver tableODBCAttributeValueYTextValue for ODBC driver attributeODBCDataSourceComponent_NComponent1IdentifierReference to associated componentODBCDataSourceDataSourceNIdentifierPrimary key, non-localized.internal token for data sourceODBCDataSourceDescriptionNTextText used as registered name for data sourceODBCDataSourceDriverDescriptionNTextReference to driver description, may be existing driverODBCDataSourceRegistrationN01Registration option: 0=machine, 1=user, others t.b.d.ODBCDriverComponent_NComponent1IdentifierReference to associated componentODBCDriverDescriptionNTextText used as registered name for driver, non-localizedODBCDriverDriverNIdentifierPrimary key, non-localized.internal token for driverODBCDriverFile_NFile1IdentifierReference to key driver fileODBCDriverFile_SetupYFile1IdentifierOptional reference to key driver setup DLLODBCSourceAttributeAttributeNTextName of ODBC data source attributeODBCSourceAttributeDataSource_NODBCDataSource1IdentifierReference to ODBC data source in ODBCDataSource tableODBCSourceAttributeValueYTextValue for ODBC data source attributeODBCTranslatorComponent_NComponent1IdentifierReference to associated componentODBCTranslatorDescriptionNTextText used as registered name for translatorODBCTranslatorFile_NFile1IdentifierReference to key translator fileODBCTranslatorFile_SetupYFile1IdentifierOptional reference to key translator setup DLLODBCTranslatorTranslatorNIdentifierPrimary key, non-localized.internal token for translatorPatchAttributesN032767Integer containing bit flags representing patch attributesPatchFile_NFile1IdentifierPrimary key, non-localized token, foreign key to File table, must match identifier in cabinet.PatchHeaderYBinaryBinary stream. The patch header, used for patch validation.PatchISBuildSourcePathYTextFull path to patch header.PatchPatchSizeN02147483647Size of patch in bytes (long integer).PatchSequenceN032767Primary key, sequence with respect to the media images; order must track cabinet order.PatchStreamRef_YIdentifierExternal key into the MsiPatchHeaders table specifying the row that contains the patch header stream.PatchPackageMedia_N032767Foreign key to DiskId column of Media table. Indicates the disk containing the patch package.PatchPackagePatchIdNGuidA unique string GUID representing this patch.ProgIdClass_YClass1GuidThe CLSID of an OLE factory corresponding to the ProgId.ProgIdDescriptionYTextLocalized description for the Program identifier.ProgIdISAttributesYThis is used to store Installshield custom properties of a component, like ExtractIcon, etc.ProgIdIconIndexY-3276732767Optional icon index.ProgIdIcon_YIcon1IdentifierOptional foreign key into the Icon Table, specifying the icon file associated with this ProgId. Will be written under the DefaultIcon key.ProgIdProgIdNTextThe Program Identifier. Primary key.ProgIdProgId_ParentYProgId1TextThe Parent Program Identifier. If specified, the ProgId column becomes a version independent prog id.PropertyISCommentsYTextUser Comments.PropertyPropertyNIdentifierName of property, uppercase if settable by launcher or loader.PropertyValueYTextString value for property.PublishComponentAppDataYTextThis is localisable Application specific data that can be associated with a Qualified Component.PublishComponentComponentIdNGuidA string GUID that represents the component id that will be requested by the alien product.PublishComponentComponent_NComponent1IdentifierForeign key into the Component table.PublishComponentFeature_NFeature1IdentifierForeign key into the Feature table.PublishComponentQualifierNTextThis is defined only when the ComponentId column is an Qualified Component Id. This is the Qualifier for ProvideComponentIndirect.RadioButtonHeightN032767The height of the button.RadioButtonHelpYTextThe help strings used with the button. The text is optional.RadioButtonISControlIdYA number used to represent the control ID of the Control, Used in Dialog exportRadioButtonOrderN132767A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive.RadioButtonPropertyNIdentifierA named property to be tied to this radio button. All the buttons tied to the same property become part of the same group.RadioButtonTextYTextThe visible title to be assigned to the radio button.RadioButtonValueNFormattedThe value string associated with this button. Selecting the button will set the associated property to this value.RadioButtonWidthN032767The width of the button.RadioButtonXN032767The horizontal coordinate of the upper left corner of the bounding rectangle of the radio button.RadioButtonYN032767The vertical coordinate of the upper left corner of the bounding rectangle of the radio button.RegLocatorKeyNRegPathThe key for the registry value.RegLocatorNameYFormattedThe registry value name.RegLocatorRootN03The predefined root key for the registry value, one of rrkEnum.RegLocatorSignature_NSignature1IdentifierThe table key. The Signature_ represents a unique file signature and is also the foreign key in the Signature table. If the type is 0, the registry values refers a directory, and _Signature is not a foreign key.RegLocatorTypeY018An integer value that determines if the registry value is a filename or a directory location or to be used as is w/o interpretation.RegistryComponent_NComponent1IdentifierForeign key into the Component table referencing component that controls the installing of the registry value.RegistryISAttributesYThis is used to store Installshield custom properties of a registry item. Currently the only one is Automatic.RegistryKeyNRegPathThe key for the registry value.RegistryNameYFormattedThe registry value name.RegistryRegistryNIdentifierPrimary key, non-localized token.RegistryRootN-13The predefined root key for the registry value, one of rrkEnum.RegistryValueYTextThe registry value.RemoveFileComponent_NComponent1IdentifierForeign key referencing Component that controls the file to be removed.RemoveFileDirPropertyNIdentifierName of a property whose value is assumed to resolve to the full pathname to the folder of the file to be removed.RemoveFileFileKeyNIdentifierPrimary key used to identify a particular file entryRemoveFileFileNameYTextName of the file to be removed.RemoveFileInstallModeN1;2;3Installation option, one of iimEnum.RemoveIniFileActionN2;4The type of modification to be made, one of iifEnum.RemoveIniFileComponent_NComponent1IdentifierForeign key into the Component table referencing component that controls the deletion of the .INI value.RemoveIniFileDirPropertyYIdentifierForeign key into the Directory table denoting the directory where the .INI file is.RemoveIniFileFileNameNTextThe .INI file name in which to delete the informationRemoveIniFileKeyNFormattedThe .INI file key below Section.RemoveIniFileRemoveIniFileNIdentifierPrimary key, non-localized token.RemoveIniFileSectionNFormattedThe .INI file Section.RemoveIniFileValueYFormattedThe value to be deleted. The value is required when Action is iifIniRemoveTagRemoveRegistryComponent_NComponent1IdentifierForeign key into the Component table referencing component that controls the deletion of the registry value.RemoveRegistryKeyNRegPathThe key for the registry value.RemoveRegistryNameYFormattedThe registry value name.RemoveRegistryRemoveRegistryNIdentifierPrimary key, non-localized token.RemoveRegistryRootN-13The predefined root key for the registry value, one of rrkEnumReserveCostComponent_NComponent1IdentifierReserve a specified amount of space if this component is to be installed.ReserveCostReserveFolderYIdentifierName of a property whose value is assumed to resolve to the full path to the destination directoryReserveCostReserveKeyNIdentifierPrimary key that uniquely identifies a particular ReserveCost recordReserveCostReserveLocalN02147483647Disk space to reserve if linked component is installed locally.ReserveCostReserveSourceN02147483647Disk space to reserve if linked component is installed to run from the source location.SFPCatalogCatalogYBinarySFP CatalogSFPCatalogDependencyYFormattedParent catalog - only used by SFPSFPCatalogSFPCatalogNFilenameFile name for the catalog.SelfRegCostY032767The cost of registering the module.SelfRegFile_NFile1IdentifierForeign key into the File table denoting the module that needs to be registered.ServiceControlArgumentsYFormattedArguments for the service. Separate by [~].ServiceControlComponent_NComponent1IdentifierRequired foreign key into the Component Table that controls the startup of the serviceServiceControlEventN0187Bit field: Install: 0x1 = Start, 0x2 = Stop, 0x8 = Delete, Uninstall: 0x10 = Start, 0x20 = Stop, 0x80 = DeleteServiceControlNameNFormattedName of a service. /, \, comma and space are invalidServiceControlServiceControlNIdentifierPrimary key, non-localized token.ServiceControlWaitY01Boolean for whether to wait for the service to fully startServiceInstallArgumentsYFormattedArguments to include in every start of the service, passed to WinMainServiceInstallComponent_NComponent1IdentifierRequired foreign key into the Component Table that controls the startup of the serviceServiceInstallDependenciesYFormattedOther services this depends on to start. Separate by [~], and end with [~][~]ServiceInstallDescriptionYTextDescription of service.ServiceInstallDisplayNameYFormattedExternal Name of the ServiceServiceInstallErrorControlN-21474836472147483647Severity of error if service fails to startServiceInstallLoadOrderGroupYFormattedLoadOrderGroupServiceInstallNameNFormattedInternal Name of the ServiceServiceInstallPasswordYFormattedpassword to run service with. (with StartName)ServiceInstallServiceInstallNIdentifierPrimary key, non-localized token.ServiceInstallServiceTypeN-21474836472147483647Type of the serviceServiceInstallStartNameYFormattedUser or object name to run service asServiceInstallStartTypeN04Type of the serviceShortcutArgumentsYFormattedThe command-line arguments for the shortcut.ShortcutComponent_NComponent1IdentifierForeign key into the Component table denoting the component whose selection gates the the shortcut creation/deletion.ShortcutDescriptionYTextThe description for the shortcut.ShortcutDescriptionResourceDLLYFormattedThis field contains a Formatted string value for the full path to the language neutral file that contains the MUI manifest.ShortcutDescriptionResourceIdY032767The description name index for the shortcut.ShortcutDirectory_NDirectory1IdentifierForeign key into the Directory table denoting the directory where the shortcut file is created.ShortcutDisplayResourceDLLYFormattedThis field contains a Formatted string value for the full path to the language neutral file that contains the MUI manifest.ShortcutDisplayResourceIdY032767The display name index for the shortcut.ShortcutHotkeyY032767The hotkey for the shortcut. It has the virtual-key code for the key in the low-order byte, and the modifier flags in the high-order byte.ShortcutISAttributesYThis is used to store Installshield custom properties of a shortcut. Mainly used in pro project types.ShortcutISCommentsYTextAuthor’s comments on this Shortcut.ShortcutISShortcutNameYTextA non-unique name for the shortcut. Mainly used by pro pro project types.ShortcutIconIndexY-3276732767The icon index for the shortcut.ShortcutIcon_YIcon1IdentifierForeign key into the File table denoting the external icon file for the shortcut.ShortcutNameNTextThe name of the shortcut to be created.ShortcutShortcutNIdentifierPrimary key, non-localized token.ShortcutShowCmdY1;3;7The show command for the application window.The following values may be used.ShortcutTargetNShortcutThe shortcut target. This is usually a property that is expanded to a file or a folder that the shortcut points to.ShortcutWkDirYIdentifierName of property defining location of working directory.SignatureFileNameNTextThe name of the file. This may contain a "short name|long name" pair.SignatureLanguagesYLanguageThe languages supported by the file.SignatureMaxDateY02147483647The maximum creation date of the file.SignatureMaxSizeY02147483647The maximum size of the file.SignatureMaxVersionYTextThe maximum version of the file.SignatureMinDateY02147483647The minimum creation date of the file.SignatureMinSizeY02147483647The minimum size of the file.SignatureMinVersionYTextThe minimum version of the file.SignatureSignatureNIdentifierThe table key. The Signature represents a unique file signature.TextStyleColorY016777215A long integer indicating the color of the string in the RGB format (Red, Green, Blue each 0-255, RGB = R + 256*G + 256^2*B).TextStyleFaceNameNTextA string indicating the name of the font used. Required. The string must be at most 31 characters long.TextStyleSizeN032767The size of the font used. This size is given in our units (1/12 of the system font height). Assuming that the system font is set to 12 point size, this is equivalent to the point size.TextStyleStyleBitsY015A combination of style bits.TextStyleTextStyleNIdentifierName of the style. The primary key of this table. This name is embedded in the texts to indicate a style change.TypeLibComponent_NComponent1IdentifierRequired foreign key into the Component Table, specifying the component for which to return a path when called through LocateComponent.TypeLibCostY02147483647The cost associated with the registration of the typelib. This column is currently optional.TypeLibDescriptionYText - TypeLibDirectory_YDirectory1IdentifierOptional. The foreign key into the Directory table denoting the path to the help file for the type library.TypeLibFeature_NFeature1IdentifierRequired foreign key into the Feature Table, specifying the feature to validate or install in order for the type library to be operational.TypeLibLanguageN032767The language of the library.TypeLibLibIDNGuidThe GUID that represents the library.TypeLibVersionY02147483647The version of the library. The major version is in the upper 8 bits of the short integer. The minor version is in the lower 8 bits.UITextKeyNIdentifierA unique key that identifies the particular string.UITextTextYTextThe localized version of the string.UpgradeActionPropertyNUpperCaseThe property to set when a product in this set is found.UpgradeAttributesN02147483647The attributes of this product set.UpgradeISDisplayNameYISUpgradeMsiItem1 - UpgradeLanguageYLanguageA comma-separated list of languages for either products in this set or products not in this set.UpgradeRemoveYFormattedThe list of features to remove when uninstalling a product from this set. The default is "ALL".UpgradeUpgradeCodeNGuidThe UpgradeCode GUID belonging to the products in this set.UpgradeVersionMaxYTextThe maximum ProductVersion of the products in this set. The set may or may not include products with this particular version.UpgradeVersionMinYTextThe minimum ProductVersion of the products in this set. The set may or may not include products with this particular version.VerbArgumentYFormattedOptional value for the command arguments.VerbCommandYFormattedThe command text.VerbExtension_NExtension1TextThe extension associated with the table row.VerbSequenceY032767Order within the verbs for a particular extension. Also used simply to specify the default verb.VerbVerbNTextThe verb for the command._ValidationCategoryY"Text";"Formatted";"Template";"Condition";"Guid";"Path";"Version";"Language";"Identifier";"Binary";"UpperCase";"LowerCase";"Filename";"Paths";"AnyPath";"WildCardFilename";"RegPath";"KeyFormatted";"CustomSource";"Property";"Cabinet";"Shortcut";"URL";"DefaultDir"String category_ValidationColumnNIdentifierName of column_ValidationDescriptionYTextDescription of column_ValidationKeyColumnY132Column to which foreign key connects_ValidationKeyTableYIdentifierFor foreign key, Name of table to which data must link_ValidationMaxValueY-21474836472147483647Maximum value allowed_ValidationMinValueY-21474836472147483647Minimum value allowed_ValidationNullableNY;N;@Whether the column is nullable_ValidationSetYTextSet of values that are permitted_ValidationTableNIdentifierName of table
-
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + + + 1252 + Installation Database + KylinODBCDriver (x64) + ##ID_STRING2## + Installer,MSI,Database + Contact: Your local administrator + + Administrator + {1809C804-80E8-4406-B079-E2492C4FC13E} + + 06/21/1999 21:00 + 07/15/2000 00:50 + 200 + 0 + + InstallShield Express + 1 + + + + Action + Description + Template + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Advertise##IDS_ACTIONTEXT_Advertising## + AllocateRegistrySpace##IDS_ACTIONTEXT_AllocatingRegistry####IDS_ACTIONTEXT_FreeSpace##AppSearch##IDS_ACTIONTEXT_SearchInstalled####IDS_ACTIONTEXT_PropertySignature##BindImage##IDS_ACTIONTEXT_BindingExes####IDS_ACTIONTEXT_File##CCPSearch##IDS_ACTIONTEXT_UnregisterModules## + CostFinalize##IDS_ACTIONTEXT_ComputingSpace3## + CostInitialize##IDS_ACTIONTEXT_ComputingSpace## + CreateFolders##IDS_ACTIONTEXT_CreatingFolders####IDS_ACTIONTEXT_Folder##CreateShortcuts##IDS_ACTIONTEXT_CreatingShortcuts####IDS_ACTIONTEXT_Shortcut##DeleteServices##IDS_ACTIONTEXT_DeletingServices####IDS_ACTIONTEXT_Service##DuplicateFiles##IDS_ACTIONTEXT_CreatingDuplicate####IDS_ACTIONTEXT_FileDirectorySize##FileCost##IDS_ACTIONTEXT_ComputingSpace2## + FindRelatedProducts##IDS_ACTIONTEXT_SearchForRelated####IDS_ACTIONTEXT_FoundApp##GenerateScript##IDS_ACTIONTEXT_GeneratingScript####IDS_ACTIONTEXT_1##ISLockPermissionsCost##IDS_ACTIONTEXT_ISLockPermissionsCost## + ISLockPermissionsInstall##IDS_ACTIONTEXT_ISLockPermissionsInstall## + InstallAdminPackage##IDS_ACTIONTEXT_CopyingNetworkFiles####IDS_ACTIONTEXT_FileDirSize##InstallFiles##IDS_ACTIONTEXT_CopyingNewFiles####IDS_ACTIONTEXT_FileDirSize2##InstallODBC##IDS_ACTIONTEXT_InstallODBC## + InstallSFPCatalogFile##IDS_ACTIONTEXT_InstallingSystemCatalog####IDS_ACTIONTEXT_FileDependencies##InstallServices##IDS_ACTIONTEXT_InstallServices####IDS_ACTIONTEXT_Service2##InstallValidate##IDS_ACTIONTEXT_Validating## + LaunchConditions##IDS_ACTIONTEXT_EvaluateLaunchConditions## + MigrateFeatureStates##IDS_ACTIONTEXT_MigratingFeatureStates####IDS_ACTIONTEXT_Application##MoveFiles##IDS_ACTIONTEXT_MovingFiles####IDS_ACTIONTEXT_FileDirSize3##PatchFiles##IDS_ACTIONTEXT_PatchingFiles####IDS_ACTIONTEXT_FileDirSize4##ProcessComponents##IDS_ACTIONTEXT_UpdateComponentRegistration## + PublishComponents##IDS_ACTIONTEXT_PublishingQualifiedComponents####IDS_ACTIONTEXT_ComponentIDQualifier##PublishFeatures##IDS_ACTIONTEXT_PublishProductFeatures####IDS_ACTIONTEXT_FeatureColon##PublishProduct##IDS_ACTIONTEXT_PublishProductInfo## + RMCCPSearch##IDS_ACTIONTEXT_SearchingQualifyingProducts## + RegisterClassInfo##IDS_ACTIONTEXT_RegisterClassServer####IDS_ACTIONTEXT_ClassId##RegisterComPlus##IDS_ACTIONTEXT_RegisteringComPlus####IDS_ACTIONTEXT_AppIdAppTypeRSN##RegisterExtensionInfo##IDS_ACTIONTEXT_RegisterExtensionServers####IDS_ACTIONTEXT_Extension2##RegisterFonts##IDS_ACTIONTEXT_RegisterFonts####IDS_ACTIONTEXT_Font##RegisterMIMEInfo##IDS_ACTIONTEXT_RegisterMimeInfo####IDS_ACTIONTEXT_ContentTypeExtension##RegisterProduct##IDS_ACTIONTEXT_RegisteringProduct####IDS_ACTIONTEXT_1b##RegisterProgIdInfo##IDS_ACTIONTEXT_RegisteringProgIdentifiers####IDS_ACTIONTEXT_ProgID2##RegisterTypeLibraries##IDS_ACTIONTEXT_RegisterTypeLibs####IDS_ACTIONTEXT_LibId##RegisterUser##IDS_ACTIONTEXT_RegUser####IDS_ACTIONTEXT_1c##RemoveDuplicateFiles##IDS_ACTIONTEXT_RemovingDuplicates####IDS_ACTIONTEXT_FileDir##RemoveEnvironmentStrings##IDS_ACTIONTEXT_UpdateEnvironmentStrings####IDS_ACTIONTEXT_NameValueAction2##RemoveExistingProducts##IDS_ACTIONTEXT_RemoveApps####IDS_ACTIONTEXT_AppCommandLine##RemoveFiles##IDS_ACTIONTEXT_RemovingFiles####IDS_ACTIONTEXT_FileDir2##RemoveFolders##IDS_ACTIONTEXT_RemovingFolders####IDS_ACTIONTEXT_Folder1##RemoveIniValues##IDS_ACTIONTEXT_RemovingIni####IDS_ACTIONTEXT_FileSectionKeyValue##RemoveODBC##IDS_ACTIONTEXT_RemovingODBC## + RemoveRegistryValues##IDS_ACTIONTEXT_RemovingRegistry####IDS_ACTIONTEXT_KeyName##RemoveShortcuts##IDS_ACTIONTEXT_RemovingShortcuts####IDS_ACTIONTEXT_Shortcut1##Rollback##IDS_ACTIONTEXT_RollingBack####IDS_ACTIONTEXT_1d##RollbackCleanup##IDS_ACTIONTEXT_RemovingBackup####IDS_ACTIONTEXT_File2##SelfRegModules##IDS_ACTIONTEXT_RegisteringModules####IDS_ACTIONTEXT_FileFolder##SelfUnregModules##IDS_ACTIONTEXT_UnregisterModules####IDS_ACTIONTEXT_FileFolder2##SetODBCFolders##IDS_ACTIONTEXT_InitializeODBCDirs## + StartServices##IDS_ACTIONTEXT_StartingServices####IDS_ACTIONTEXT_Service3##StopServices##IDS_ACTIONTEXT_StoppingServices####IDS_ACTIONTEXT_Service4##UnmoveFiles##IDS_ACTIONTEXT_RemovingMoved####IDS_ACTIONTEXT_FileDir3##UnpublishComponents##IDS_ACTIONTEXT_UnpublishQualified####IDS_ACTIONTEXT_ComponentIdQualifier2##UnpublishFeatures##IDS_ACTIONTEXT_UnpublishProductFeatures####IDS_ACTIONTEXT_Feature##UnpublishProduct##IDS_ACTIONTEXT_UnpublishingProductInfo## + UnregisterClassInfo##IDS_ACTIONTEXT_UnregisterClassServers####IDS_ACTIONTEXT_ClsID##UnregisterComPlus##IDS_ACTIONTEXT_UnregisteringComPlus####IDS_ACTIONTEXT_AppId##UnregisterExtensionInfo##IDS_ACTIONTEXT_UnregisterExtensionServers####IDS_ACTIONTEXT_Extension##UnregisterFonts##IDS_ACTIONTEXT_UnregisteringFonts####IDS_ACTIONTEXT_Font2##UnregisterMIMEInfo##IDS_ACTIONTEXT_UnregisteringMimeInfo####IDS_ACTIONTEXT_ContentTypeExtension2##UnregisterProgIdInfo##IDS_ACTIONTEXT_UnregisteringProgramIds####IDS_ACTIONTEXT_ProgID##UnregisterTypeLibraries##IDS_ACTIONTEXT_UnregTypeLibs####IDS_ACTIONTEXT_Libid2##WriteEnvironmentStrings##IDS_ACTIONTEXT_EnvironmentStrings####IDS_ACTIONTEXT_NameValueAction##WriteIniValues##IDS_ACTIONTEXT_WritingINI####IDS_ACTIONTEXT_FileSectionKeyValue2##WriteRegistryValues##IDS_ACTIONTEXT_WritingRegistry####IDS_ACTIONTEXT_KeyNameValue##
+ + + Action + Condition + Sequence + ISComments + ISAttributes +
CostFinalize1000CostFinalize + CostInitialize800CostInitialize + FileCost900FileCost + InstallAdminPackage3900InstallAdminPackage + InstallFiles4000InstallFiles + InstallFinalize6600InstallFinalize + InstallInitialize1500InstallInitialize + InstallValidate1400InstallValidate + ScheduleRebootISSCHEDULEREBOOT4010ScheduleReboot +
+ + + Action + Condition + Sequence + ISComments + ISAttributes +
AdminWelcome1010AdminWelcome + CostFinalize1000CostFinalize + CostInitialize800CostInitialize + ExecuteAction1300ExecuteAction + FileCost900FileCost + SetupCompleteError-3SetupCompleteError + SetupCompleteSuccess-1SetupCompleteSuccess + SetupInitialization50SetupInitialization + SetupInterrupted-2SetupInterrupted + SetupProgress1020SetupProgress +
+ + + Action + Condition + Sequence + ISComments + ISAttributes +
CostFinalize1000CostFinalize + CostInitialize800CostInitialize + CreateShortcuts4500CreateShortcuts + InstallFinalize6600InstallFinalize + InstallInitialize1500InstallInitialize + InstallValidate1400InstallValidate + MsiPublishAssemblies6250MsiPublishAssemblies + PublishComponents6200PublishComponents + PublishFeatures6300PublishFeatures + PublishProduct6400PublishProduct + RegisterClassInfo4600RegisterClassInfo + RegisterExtensionInfo4700RegisterExtensionInfo + RegisterMIMEInfo4900RegisterMIMEInfo + RegisterProgIdInfo4800RegisterProgIdInfo + RegisterTypeLibraries4910RegisterTypeLibraries + ScheduleRebootISSCHEDULEREBOOT6410ScheduleReboot +
+ + + Action + Condition + Sequence + ISComments + ISAttributes +
+ + + AppId + RemoteServerName + LocalService + ServiceParameters + DllSurrogate + ActivateAtStorage + RunAsInteractiveUser +
+ + + Property + Signature_ +
+ + + Billboard_ + BBControl + Type + X + Y + Width + Height + Attributes + Text +
+ + + Billboard + Feature_ + Action + Ordering +
+ + + Name + Data + ISBuildSourcePath + + + + + + + + + + + + + + + + + + + + + +
ISExpHlp.dll<ISRedistPlatformDependentFolder>\ISExpHlp.dllISSELFREG.DLL<ISRedistPlatformDependentFolder>\isregsvr.dllNewBinary1<ISProductFolder>\Support\Themes\InstallShield Blue Theme\banner.jpgNewBinary10<ISProductFolder>\Redist\Language Independent\OS Independent\CompleteSetupIco.ibdNewBinary11<ISProductFolder>\Redist\Language Independent\OS Independent\CustomSetupIco.ibdNewBinary12<ISProductFolder>\Redist\Language Independent\OS Independent\DestIcon.ibdNewBinary13<ISProductFolder>\Redist\Language Independent\OS Independent\NetworkInstall.icoNewBinary14<ISProductFolder>\Redist\Language Independent\OS Independent\DontInstall.icoNewBinary15<ISProductFolder>\Redist\Language Independent\OS Independent\Install.icoNewBinary16<ISProductFolder>\Redist\Language Independent\OS Independent\InstallFirstUse.icoNewBinary17<ISProductFolder>\Redist\Language Independent\OS Independent\InstallPartial.icoNewBinary18<ISProductFolder>\Redist\Language Independent\OS Independent\InstallStateMenu.icoNewBinary2<ISProductFolder>\Redist\Language Independent\OS Independent\New.ibdNewBinary3<ISProductFolder>\Redist\Language Independent\OS Independent\Up.ibdNewBinary4<ISProductFolder>\Redist\Language Independent\OS Independent\WarningIcon.ibdNewBinary5<ISProductFolder>\Support\Themes\InstallShield Blue Theme\welcome.jpgNewBinary6<ISProductFolder>\Redist\Language Independent\OS Independent\CustomSetupIco.ibdNewBinary7<ISProductFolder>\Redist\Language Independent\OS Independent\ReinstIco.ibdNewBinary8<ISProductFolder>\Redist\Language Independent\OS Independent\RemoveIco.ibdNewBinary9<ISProductFolder>\Redist\Language Independent\OS Independent\SetupIcon.ibdSetAllUsers.dll<ISRedistPlatformDependentFolder>\SetAllUsers.dll
+ + + File_ + Path +
+ + + Signature_ +
+ + + Property + Value + + + +
ISCHECKFORPRODUCTUPDATES1LAUNCHPROGRAM1LAUNCHREADME1
+ + + CLSID + Context + Component_ + ProgId_Default + Description + AppId_ + FileTypeMask + Icon_ + IconIndex + DefInprocHandler + Argument + Feature_ + Attributes +
+ + + Property + Order + Value + Text +
+ + + Signature_ + ComponentId + Type +
+ + + Component_ + ExpType +
+ + + Component + ComponentId + Directory_ + Attributes + Condition + KeyPath + ISAttributes + ISComments + ISScanAtBuildFile + ISRegFileToMergeAtBuild + ISDotNetInstallerArgsInstall + ISDotNetInstallerArgsCommit + ISDotNetInstallerArgsUninstall + ISDotNetInstallerArgsRollback + + + + + + +
Driver.Primary_Output{5204EBED-0C2D-42E6-A263-05882561C7A2}INSTALLDIR258driver.primary_output17/LogFile=/LogFile=/LogFile=/LogFile=ISX_DEFAULTCOMPONENT{9806D254-29D4-494C-A795-09140E548EA6}ProgramFiles64Folder217/LogFile=/LogFile=/LogFile=/LogFile=ISX_DEFAULTCOMPONENT1{56A2C727-C742-4136-B85C-4514B22712EA}INSTALLDIR25817/LogFile=/LogFile=/LogFile=/LogFile=ISX_DEFAULTCOMPONENT2{163E96A1-9F46-4929-9654-D397527601B1}EBAY125817/LogFile=/LogFile=/LogFile=/LogFile=ISX_DEFAULTCOMPONENT5{21148F8E-655E-4192-AEA8-C1ED9429592A}INSTALLDIR25817/LogFile=/LogFile=/LogFile=/LogFile=ISX_DEFAULTCOMPONENT8{5A4A395F-20F6-4E32-89A3-2C5C7D390DD5}DATABASEDIR25817/LogFile=/LogFile=/LogFile=/LogFile=
+ + + Feature_ + Level + Condition +
+ + + Dialog_ + Control + Type + X + Y + Width + Height + Attributes + Property + Text + Control_Next + Help + ISWindowStyle + ISControlId + ISBuildSourcePath + Binary_ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AdminChangeFolderBannerBitmap003744410NewBinary1AdminChangeFolderBannerLineLine044374010 + AdminChangeFolderBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 + AdminChangeFolderBranding2Text3228501365537##IDS_INSTALLSHIELD##0 + AdminChangeFolderCancelPushButton30124366173##IDS_CANCEL##ComboText0 + AdminChangeFolderComboDirectoryCombo216427780458755TARGETDIR##IDS__IsAdminInstallBrowse_4##Up0 + AdminChangeFolderComboTextText215099143##IDS__IsAdminInstallBrowse_LookIn##Combo0 + AdminChangeFolderDlgDescText21232922565539##IDS__IsAdminInstallBrowse_BrowseDestination##0 + AdminChangeFolderDlgLineLine48234326010 + AdminChangeFolderDlgTitleText1362922565539##IDS__IsAdminInstallBrowse_ChangeDestination##0 + AdminChangeFolderListDirectoryList2190332977TARGETDIR##IDS__IsAdminInstallBrowse_8##TailText0 + AdminChangeFolderNewFolderPushButton3356619193670019List##IDS__IsAdminInstallBrowse_CreateFolder##0NewBinary2AdminChangeFolderOKPushButton23024366173##IDS_OK##Cancel0 + AdminChangeFolderTailPathEdit21207332173TARGETDIR##IDS__IsAdminInstallBrowse_11##OK0 + AdminChangeFolderTailTextText2119399133##IDS__IsAdminInstallBrowse_FolderName##Tail0 + AdminChangeFolderUpPushButton3106619193670019NewFolder##IDS__IsAdminInstallBrowse_UpOneLevel##0NewBinary3AdminNetworkLocationBackPushButton16424366173##IDS_BACK##InstallNow0 + AdminNetworkLocationBannerBitmap003744410NewBinary1AdminNetworkLocationBannerLineLine044374010 + AdminNetworkLocationBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 + AdminNetworkLocationBranding2Text3228501365537##IDS_INSTALLSHIELD##0 + AdminNetworkLocationBrowsePushButton28612466173##IDS__IsAdminInstallPoint_Change##Back0 + AdminNetworkLocationCancelPushButton30124366173##IDS_CANCEL##SetupPathEdit0 + AdminNetworkLocationDlgDescText21232922565539##IDS__IsAdminInstallPoint_SpecifyNetworkLocation##0 + AdminNetworkLocationDlgLineLine48234326010 + AdminNetworkLocationDlgTextText215132640131075##IDS__IsAdminInstallPoint_EnterNetworkLocation##0 + AdminNetworkLocationDlgTitleText1362922565539##IDS__IsAdminInstallPoint_NetworkLocationFormatted##0 + AdminNetworkLocationInstallNowPushButton23024366173##IDS__IsAdminInstallPoint_Install##Cancel0 + AdminNetworkLocationLBBrowseText2190100103##IDS__IsAdminInstallPoint_NetworkLocation##0 + AdminNetworkLocationSetupPathEditPathEdit21102330173TARGETDIRBrowse0 + AdminWelcomeBackPushButton16424366171##IDS_BACK##Next0 + AdminWelcomeCancelPushButton30124366173##IDS_CANCEL##Back0 + AdminWelcomeDlgLineLine0234326010 + AdminWelcomeImageBitmap0037423410NewBinary5AdminWelcomeNextPushButton23024366173##IDS_NEXT##Cancel0 + AdminWelcomeTextLine1Text135822545196611##IDS__IsAdminInstallPointWelcome_Wizard##0 + AdminWelcomeTextLine2Text1355522845196611##IDS__IsAdminInstallPointWelcome_ServerImage##0 + CancelSetupIconIcon1515242452428810NewBinary4CancelSetupNoPushButton1355766173##IDS__IsCancelDlg_No##Yes0 + CancelSetupTextText481519430131075##IDS__IsCancelDlg_ConfirmCancel##0 + CancelSetupYesPushButton625766173##IDS__IsCancelDlg_Yes##No0 + CustomSetupBackPushButton16424366173##IDS_BACK##Next0 + CustomSetupBannerBitmap003744410NewBinary1CustomSetupBannerLineLine044374010 + CustomSetupBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 + CustomSetupBranding2Text3228501365537##IDS_INSTALLSHIELD##0 + CustomSetupCancelPushButton30124366173##IDS_CANCEL##Tree0 + CustomSetupChangeFolderPushButton30120366173##IDS__IsCustomSelectionDlg_Change##Help0 + CustomSetupDetailsPushButton9324366173##IDS__IsCustomSelectionDlg_Space##Back0 + CustomSetupDlgDescText17232922565539##IDS__IsCustomSelectionDlg_SelectFeatures##0 + CustomSetupDlgLineLine48234326010 + CustomSetupDlgTextText951360103##IDS__IsCustomSelectionDlg_ClickFeatureIcon##0 + CustomSetupDlgTitleText962922565539##IDS__IsCustomSelectionDlg_CustomSetup##0 + CustomSetupFeatureGroupGroupBox235671311201##IDS__IsCustomSelectionDlg_FeatureDescription##0 + CustomSetupHelpPushButton2224366173##IDS__IsCustomSelectionDlg_Help##Details0 + CustomSetupInstallLabelText8190360103##IDS__IsCustomSelectionDlg_InstallTo##0 + CustomSetupItemDescriptionText24180120503##IDS__IsCustomSelectionDlg_MultilineDescription##0 + CustomSetupLocationText8203291203##IDS__IsCustomSelectionDlg_FeaturePath##0 + CustomSetupNextPushButton23024366173##IDS_NEXT##Cancel0 + CustomSetupSizeText241133120503##IDS__IsCustomSelectionDlg_FeatureSize##0 + CustomSetupTreeSelectionTree8702201187_BrowsePropertyChangeFolder0 + CustomSetupTipsBannerBitmap003744410NewBinary1CustomSetupTipsBannerLineLine044374010 + CustomSetupTipsBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 + CustomSetupTipsBranding2Text3228501365537##IDS_INSTALLSHIELD##0 + CustomSetupTipsDlgDescText21232922565539##IDS_SetupTips_CustomSetupDescription##0 + CustomSetupTipsDlgLineLine48234326010 + CustomSetupTipsDlgTitleText1362922565539##IDS_SetupTips_CustomSetup##0 + CustomSetupTipsDontInstallIcon21155242452428810NewBinary14CustomSetupTipsDontInstallTextText60155300203##IDS_SetupTips_WillNotBeInstalled##0 + CustomSetupTipsFirstInstallTextText60180300203##IDS_SetupTips_Advertise##0 + CustomSetupTipsInstallIcon21105242452428810NewBinary15CustomSetupTipsInstallFirstUseIcon21180242452428810NewBinary16CustomSetupTipsInstallPartialIcon21130242452428810NewBinary17CustomSetupTipsInstallStateMenuIcon2152242452428810NewBinary18CustomSetupTipsInstallStateTextText2191300103##IDS_SetupTips_InstallState##00 + CustomSetupTipsInstallTextText60105300203##IDS_SetupTips_AllInstalledLocal##0 + CustomSetupTipsMenuTextText5052300363##IDS_SetupTips_IconInstallState##0 + CustomSetupTipsNetworkInstallIcon21205242452428810NewBinary13CustomSetupTipsNetworkInstallTextText60205300203##IDS_SetupTips_Network##0 + CustomSetupTipsOKPushButton30124366173##IDS_SetupTips_OK##0 + CustomSetupTipsPartialTextText60130300203##IDS_SetupTips_SubFeaturesInstalledLocal##0 + CustomerInformationBackPushButton16424366173##IDS_BACK##Next0 + CustomerInformationBannerBitmap003744410NewBinary1CustomerInformationBannerLineLine044374010 + CustomerInformationBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 + CustomerInformationBranding2Text3228501365537##IDS_INSTALLSHIELD##0 + CustomerInformationCancelPushButton30124366173##IDS_CANCEL##NameLabel0 + CustomerInformationCompanyEditEdit21100237173COMPANYNAME##IDS__IsRegisterUserDlg_Tahoma80##SerialLabel0 + CustomerInformationCompanyLabelText218975103##IDS__IsRegisterUserDlg_Organization##CompanyEdit0 + CustomerInformationDlgDescText21232922565539##IDS__IsRegisterUserDlg_PleaseEnterInfo##0 + CustomerInformationDlgLineLine48234326010 + CustomerInformationDlgRadioGroupTextText21161300142##IDS__IsRegisterUserDlg_InstallFor##0 + CustomerInformationDlgTitleText1362922565539##IDS__IsRegisterUserDlg_CustomerInformation##0 + CustomerInformationNameEditEdit2163237173USERNAME##IDS__IsRegisterUserDlg_Tahoma50##CompanyLabel0 + CustomerInformationNameLabelText215275103##IDS__IsRegisterUserDlg_UserName##NameEdit0 + CustomerInformationNextPushButton23024366173##IDS_NEXT##Cancel0 + CustomerInformationRadioGroupRadioButtonGroup63170300502ApplicationUsers##IDS__IsRegisterUserDlg_16##Back0 + CustomerInformationSerialLabelText21127109102##IDS__IsRegisterUserDlg_SerialNumber##SerialNumber0 + CustomerInformationSerialNumberMaskedEdit21138237172ISX_SERIALNUMRadioGroup0 + DatabaseFolderBackPushButton16424366173##IDS_BACK##Next0 + DatabaseFolderBannerBitmap003744410NewBinary1DatabaseFolderBannerLineLine044374010 + DatabaseFolderBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 + DatabaseFolderBranding2Text3228501365537##IDS_INSTALLSHIELD##0 + DatabaseFolderCancelPushButton30124366173##IDS_CANCEL##ChangeFolder0 + DatabaseFolderChangeFolderPushButton3016566173##IDS_CHANGE##Back0 + DatabaseFolderDatabaseFolderIcon2152242452428810NewBinary12DatabaseFolderDlgDescText21232922565539##IDS__DatabaseFolder_ChangeFolder##0 + DatabaseFolderDlgLineLine48234326010 + DatabaseFolderDlgTitleText1362922565539##IDS__DatabaseFolder_DatabaseFolder##0 + DatabaseFolderLocLabelText575229010131075##IDS_DatabaseFolder_InstallDatabaseTo##0 + DatabaseFolderLocationText5765240403_BrowseProperty##IDS__DatabaseFolder_DatabaseDir##0 + DatabaseFolderNextPushButton23024366173##IDS_NEXT##Cancel0 + DestinationFolderBackPushButton16424366173##IDS_BACK##Next0 + DestinationFolderBannerBitmap003744410NewBinary1DestinationFolderBannerLineLine044374010 + DestinationFolderBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 + DestinationFolderBranding2Text3228501365537##IDS_INSTALLSHIELD##0 + DestinationFolderCancelPushButton30124366173##IDS_CANCEL##ChangeFolder0 + DestinationFolderChangeFolderPushButton3016566173##IDS__DestinationFolder_Change##Back0 + DestinationFolderDestFolderIcon2152242452428810NewBinary12DestinationFolderDlgDescText21232922565539##IDS__DestinationFolder_ChangeFolder##0 + DestinationFolderDlgLineLine48234326010 + DestinationFolderDlgTitleText1362922565539##IDS__DestinationFolder_DestinationFolder##0 + DestinationFolderLocLabelText575229010131075##IDS__DestinationFolder_InstallTo##0 + DestinationFolderLocationText5765240403_BrowseProperty##IDS_INSTALLDIR##0 + DestinationFolderNextPushButton23024366173##IDS_NEXT##Cancel0 + DiskSpaceRequirementsBannerBitmap003744410NewBinary1DiskSpaceRequirementsBannerLineLine044374010 + DiskSpaceRequirementsBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 + DiskSpaceRequirementsBranding2Text3228501365537##IDS_INSTALLSHIELD##0 + DiskSpaceRequirementsDlgDescText17232922565539##IDS__IsFeatureDetailsDlg_SpaceRequired##0 + DiskSpaceRequirementsDlgLineLine48234326010 + DiskSpaceRequirementsDlgTextText10185358413##IDS__IsFeatureDetailsDlg_VolumesTooSmall##0 + DiskSpaceRequirementsDlgTitleText962922565539##IDS__IsFeatureDetailsDlg_DiskSpaceRequirements##0 + DiskSpaceRequirementsListVolumeCostList855358125393223##IDS__IsFeatureDetailsDlg_Numbers##0 + DiskSpaceRequirementsOKPushButton30124366173##IDS__IsFeatureDetailsDlg_OK##0 + FilesInUseBannerBitmap003744410NewBinary1FilesInUseBannerLineLine044374010 + FilesInUseBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 + FilesInUseBranding2Text3228501365537##IDS_INSTALLSHIELD##0 + FilesInUseDlgDescText21232922565539##IDS__IsFilesInUse_FilesInUseMessage##0 + FilesInUseDlgLineLine48234326010 + FilesInUseDlgTextText2151348333##IDS__IsFilesInUse_ApplicationsUsingFiles##0 + FilesInUseDlgTitleText1362922565539##IDS__IsFilesInUse_FilesInUse##0 + FilesInUseExitPushButton30124366173##IDS__IsFilesInUse_Exit##List0 + FilesInUseIgnorePushButton23024366173##IDS__IsFilesInUse_Ignore##Exit0 + FilesInUseListListBox21873311357FileInUseProcessRetry0 + FilesInUseRetryPushButton16424366173##IDS__IsFilesInUse_Retry##Ignore0 + InstallChangeFolderBannerBitmap003744410NewBinary1InstallChangeFolderBannerLineLine044374010 + InstallChangeFolderBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 + InstallChangeFolderBranding2Text3228501365537##IDS_INSTALLSHIELD##0 + InstallChangeFolderCancelPushButton30124366173##IDS_CANCEL##ComboText0 + InstallChangeFolderComboDirectoryCombo2164277804128779_BrowseProperty##IDS__IsBrowseFolderDlg_4##Up0 + InstallChangeFolderComboTextText215099143##IDS__IsBrowseFolderDlg_LookIn##Combo0 + InstallChangeFolderDlgDescText21232922565539##IDS__IsBrowseFolderDlg_BrowseDestFolder##0 + InstallChangeFolderDlgLineLine48234326010 + InstallChangeFolderDlgTitleText1362922565539##IDS__IsBrowseFolderDlg_ChangeCurrentFolder##0 + InstallChangeFolderListDirectoryList21903329715_BrowseProperty##IDS__IsBrowseFolderDlg_8##TailText0 + InstallChangeFolderNewFolderPushButton3356619193670019List##IDS__IsBrowseFolderDlg_CreateFolder##0NewBinary2InstallChangeFolderOKPushButton23024366173##IDS__IsBrowseFolderDlg_OK##Cancel0 + InstallChangeFolderTailPathEdit212073321715_BrowseProperty##IDS__IsBrowseFolderDlg_11##OK0 + InstallChangeFolderTailTextText2119399133##IDS__IsBrowseFolderDlg_FolderName##Tail0 + InstallChangeFolderUpPushButton3106619193670019NewFolder##IDS__IsBrowseFolderDlg_UpOneLevel##0NewBinary3InstallWelcomeBackPushButton16424366171##IDS_BACK##Copyright0 + InstallWelcomeCancelPushButton30124366173##IDS_CANCEL##Back0 + InstallWelcomeCopyrightText1351442287365539##IDS__IsWelcomeDlg_WarningCopyright##Next0 + InstallWelcomeDlgLineLine0234374010 + InstallWelcomeImageBitmap0037423410NewBinary5InstallWelcomeNextPushButton23024366173##IDS_NEXT##Cancel0 + InstallWelcomeTextLine1Text135822545196611##IDS__IsWelcomeDlg_WelcomeProductName##0 + InstallWelcomeTextLine2Text1355522845196611##IDS__IsWelcomeDlg_InstallProductName##0 + LicenseAgreementAgreeRadioButtonGroup8190291403AgreeToLicenseBack0 + LicenseAgreementBackPushButton16424366173##IDS_BACK##Next0 + LicenseAgreementBannerBitmap003744410NewBinary1LicenseAgreementBannerLineLine044374010 + LicenseAgreementBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 + LicenseAgreementBranding2Text3228501365537##IDS_INSTALLSHIELD##0 + LicenseAgreementCancelPushButton30124366173##IDS_CANCEL##ISPrintButton0 + LicenseAgreementDlgDescText21232922565539##IDS__IsLicenseDlg_ReadLicenseAgreement##0 + LicenseAgreementDlgLineLine48234326010 + LicenseAgreementDlgTitleText1362922565539##IDS__IsLicenseDlg_LicenseAgreement##0 + LicenseAgreementISPrintButtonPushButton30118865173##IDS_PRINT_BUTTON##Agree0 + LicenseAgreementMemoScrollableText85535813070<ISProductFolder>\Redist\0409\Eula.rtf + LicenseAgreementNextPushButton23024366173##IDS_NEXT##Cancel0 + MaintenanceTypeBackPushButton16424366173##IDS_BACK##Next0 + MaintenanceTypeBannerBitmap003744410NewBinary1MaintenanceTypeBannerLineLine044374010 + MaintenanceTypeBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 + MaintenanceTypeBranding2Text3228501365537##IDS_INSTALLSHIELD##0 + MaintenanceTypeCancelPushButton30124366173##IDS_CANCEL##RadioGroup0 + MaintenanceTypeDlgDescText21232922565539##IDS__IsMaintenanceDlg_MaitenanceOptions##0 + MaintenanceTypeDlgLineLine48234326010 + MaintenanceTypeDlgTitleText1362922565539##IDS__IsMaintenanceDlg_ProgramMaintenance##0 + MaintenanceTypeIco1Icon3575242452428810NewBinary6MaintenanceTypeIco2Icon35135242452428810NewBinary7MaintenanceTypeIco3Icon35195242452428810NewBinary8MaintenanceTypeNextPushButton23024366173##IDS_NEXT##Cancel0 + MaintenanceTypeRadioGroupRadioButtonGroup21552901703_IsMaintenanceBack0 + MaintenanceTypeText1Text8072260353##IDS__IsMaintenanceDlg_ChangeFeatures##0 + MaintenanceTypeText2Text80135260353##IDS__IsMaintenanceDlg_RepairMessage##0 + MaintenanceTypeText3Text8019226035131075##IDS__IsMaintenanceDlg_RemoveProductName##0 + MaintenanceWelcomeBackPushButton16424366171##IDS_BACK##Next0 + MaintenanceWelcomeCancelPushButton30124366173##IDS_CANCEL##Back0 + MaintenanceWelcomeDlgLineLine0234374010 + MaintenanceWelcomeImageBitmap0037423410NewBinary5MaintenanceWelcomeNextPushButton23024366173##IDS_NEXT##Cancel0 + MaintenanceWelcomeTextLine1Text135822545196611##IDS__IsMaintenanceWelcome_WizardWelcome##0 + MaintenanceWelcomeTextLine2Text1355522850196611##IDS__IsMaintenanceWelcome_MaintenanceOptionsDescription##0 + MsiRMFilesInUseBannerBitmap003744410NewBinary1MsiRMFilesInUseBannerLineLine044374010 + MsiRMFilesInUseBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 + MsiRMFilesInUseBranding2Text3228501365537##IDS_INSTALLSHIELD##0 + MsiRMFilesInUseCancelPushButton30124366173##IDS_CANCEL##Restart0 + MsiRMFilesInUseDlgDescText21232922565539##IDS__IsFilesInUse_FilesInUseMessage##0 + MsiRMFilesInUseDlgLineLine48234326010 + MsiRMFilesInUseDlgTextText2151348143##IDS__IsMsiRMFilesInUse_ApplicationsUsingFiles##0 + MsiRMFilesInUseDlgTitleText1362922565539##IDS__IsFilesInUse_FilesInUse##0 + MsiRMFilesInUseListListBox21663311303FileInUseProcessOK0 + MsiRMFilesInUseOKPushButton23024366173##IDS_OK##Cancel0 + MsiRMFilesInUseRestartRadioButtonGroup19187343403RestartManagerOptionList0 + OutOfSpaceBannerBitmap003744410NewBinary1OutOfSpaceBannerLineLine044374010 + OutOfSpaceBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 + OutOfSpaceBranding2Text3228501365537##IDS_INSTALLSHIELD##0 + OutOfSpaceDlgDescText21232922565539##IDS__IsDiskSpaceDlg_DiskSpace##0 + OutOfSpaceDlgLineLine48234326010 + OutOfSpaceDlgTextText2151326433##IDS__IsDiskSpaceDlg_HighlightedVolumes##0 + OutOfSpaceDlgTitleText1362922565539##IDS__IsDiskSpaceDlg_OutOfDiskSpace##0 + OutOfSpaceListVolumeCostList2195332120393223##IDS__IsDiskSpaceDlg_Numbers##0 + OutOfSpaceResumePushButton30124366173##IDS__IsDiskSpaceDlg_OK##0 + PatchWelcomeBackPushButton16424366171##IDS_BACK##Next0 + PatchWelcomeCancelPushButton30124366173##IDS_CANCEL##Back0 + PatchWelcomeDlgLineLine0234374010 + PatchWelcomeImageBitmap0037423410NewBinary5PatchWelcomeNextPushButton23024366173##IDS__IsPatchDlg_Update##Cancel0 + PatchWelcomeTextLine1Text135822545196611##IDS__IsPatchDlg_WelcomePatchWizard##0 + PatchWelcomeTextLine2Text1355422845196611##IDS__IsPatchDlg_PatchClickUpdate##0 + ReadmeInformationBackPushButton16424366171048579##IDS_BACK##Next0 + ReadmeInformationBannerBitmap00374443DlgTitle0NewBinary1ReadmeInformationBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##00 + ReadmeInformationBranding2Text3228501365537##IDS_INSTALLSHIELD##00 + ReadmeInformationCancelPushButton30124366171048579##IDS__IsReadmeDlg_Cancel##Readme0 + ReadmeInformationDlgDescText21232321665539##IDS__IsReadmeDlg_PleaseReadInfo##Back00 + ReadmeInformationDlgLineLine482343260300 + ReadmeInformationDlgTitleText1361931365539##IDS__IsReadmeDlg_ReadMeInfo##DlgDesc0 + ReadmeInformationNextPushButton23024366171048579##IDS_NEXT##Cancel0 + ReadmeInformationReadmeScrollableText10553531663Banner0<ISProductFolder>\Redist\0409\Readme.rtf + ReadyToInstallBackPushButton16424366173##IDS_BACK##GroupBox10 + ReadyToInstallBannerBitmap003744410NewBinary1ReadyToInstallBannerLineLine044374010 + ReadyToInstallBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 + ReadyToInstallBranding2Text3228501365537##IDS_INSTALLSHIELD##0 + ReadyToInstallCancelPushButton30124366173##IDS_CANCEL##Back0 + ReadyToInstallCompanyNameTextText3819821193##IDS__IsVerifyReadyDlg_Company##SerialNumberText0 + ReadyToInstallCurrentSettingsTextText198081103##IDS__IsVerifyReadyDlg_CurrentSettings##InstallNow0 + ReadyToInstallDlgDescText21232922565539##IDS__IsVerifyReadyDlg_WizardReady##0 + ReadyToInstallDlgLineLine482343260100 + ReadyToInstallDlgText1Text2154330243##IDS__IsVerifyReadyDlg_BackOrCancel##0 + ReadyToInstallDlgText2Text2199330202##IDS__IsRegisterUserDlg_InstallFor##0 + ReadyToInstallDlgTitleText1362922565538##IDS__IsVerifyReadyDlg_ModifyReady##0 + ReadyToInstallDlgTitle2Text1362922565538##IDS__IsVerifyReadyDlg_ReadyRepair##0 + ReadyToInstallDlgTitle3Text1362922565538##IDS__IsVerifyReadyDlg_ReadyInstall##0 + ReadyToInstallGroupBox1Text199233013365541SetupTypeText10 + ReadyToInstallInstallNowPushButton23024366178388611##IDS__IsVerifyReadyDlg_Install##InstallPerMachine0 + ReadyToInstallInstallPerMachinePushButton63123248178388610##IDS__IsRegisterUserDlg_Anyone##InstallPerUser0 + ReadyToInstallInstallPerUserPushButton63143248172##IDS__IsRegisterUserDlg_OnlyMe##Cancel0 + ReadyToInstallSerialNumberTextText3821130693##IDS__IsVerifyReadyDlg_Serial##CurrentSettingsText0 + ReadyToInstallSetupTypeText1Text2397306133##IDS__IsVerifyReadyDlg_SetupType##SetupTypeText20 + ReadyToInstallSetupTypeText2Text37114306143##IDS__IsVerifyReadyDlg_SelectedSetupType##TargetFolderText10 + ReadyToInstallTargetFolderText1Text24136306113##IDS__IsVerifyReadyDlg_DestFolder##TargetFolderText20 + ReadyToInstallTargetFolderText2Text37151306133##IDS__IsVerifyReadyDlg_Installdir##UserInformationText0 + ReadyToInstallUserInformationTextText23171306133##IDS__IsVerifyReadyDlg_UserInfo##UserNameText0 + ReadyToInstallUserNameTextText3818430693##IDS__IsVerifyReadyDlg_UserName##CompanyNameText0 + ReadyToRemoveBackPushButton16424366173##IDS_BACK##RemoveNow0 + ReadyToRemoveBannerBitmap003744410NewBinary1ReadyToRemoveBannerLineLine044374010 + ReadyToRemoveBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 + ReadyToRemoveBranding2Text3228501365537##IDS_INSTALLSHIELD##0 + ReadyToRemoveCancelPushButton30124366173##IDS_CANCEL##Back0 + ReadyToRemoveDlgDescText21232922565539##IDS__IsVerifyRemoveAllDlg_ChoseRemoveProgram##0 + ReadyToRemoveDlgLineLine48234326010 + ReadyToRemoveDlgTextText215132624131075##IDS__IsVerifyRemoveAllDlg_ClickRemove##0 + ReadyToRemoveDlgText1Text2179330233##IDS__IsVerifyRemoveAllDlg_ClickBack##0 + ReadyToRemoveDlgText2Text211023302430 + ReadyToRemoveDlgTitleText1362922565539##IDS__IsVerifyRemoveAllDlg_RemoveProgram##0 + ReadyToRemoveRemoveNowPushButton23024366178388611##IDS__IsVerifyRemoveAllDlg_Remove##Cancel0 + SetupCompleteErrorBackPushButton16424366171##IDS_BACK##Finish0 + SetupCompleteErrorCancelPushButton30124366171##IDS_CANCEL##Back0 + SetupCompleteErrorCheckShowMsiLogCheckBox1511721092ISSHOWMSILOGCancel0 + SetupCompleteErrorDlgLineLine0234374010 + SetupCompleteErrorFinishPushButton23024366173##IDS__IsFatalError_Finish##Image0 + SetupCompleteErrorFinishText1Text135802285065539##IDS__IsFatalError_NotModified##0 + SetupCompleteErrorFinishText2Text1351352282565539##IDS__IsFatalError_ClickFinish##0 + SetupCompleteErrorImageBitmap003742341CheckShowMsiLog0NewBinary5SetupCompleteErrorRestContText1Text135802285065539##IDS__IsFatalError_KeepOrRestore##0 + SetupCompleteErrorRestContText2Text1351352282565539##IDS__IsFatalError_RestoreOrContinueLater##0 + SetupCompleteErrorShowMsiLogTextText1641721981065538##IDS__IsSetupComplete_ShowMsiLog##0 + SetupCompleteErrorTextLine1Text13582254565539##IDS__IsFatalError_WizardCompleted##0 + SetupCompleteErrorTextLine2Text1355522825196611##IDS__IsFatalError_WizardInterrupted##0 + SetupCompleteSuccessBackPushButton16424366171##IDS_BACK##OK0 + SetupCompleteSuccessCancelPushButton30124366171##IDS_CANCEL##Image0 + SetupCompleteSuccessCheckBoxUpdatesCheckBox1351641092ISCHECKFORPRODUCTUPDATESCheckBox1CheckShowMsiLog0 + SetupCompleteSuccessCheckForUpdatesTextText1521621903065538##IDS__IsExitDialog_Update_YesCheckForUpdates##0 + SetupCompleteSuccessCheckLaunchProgramCheckBox1511141092LAUNCHPROGRAMCheckLaunchReadme0 + SetupCompleteSuccessCheckLaunchReadmeCheckBox1511481092LAUNCHREADMECheckBoxUpdates0 + SetupCompleteSuccessCheckShowMsiLogCheckBox1511821092ISSHOWMSILOGBack0 + SetupCompleteSuccessDlgLineLine0234374010 + SetupCompleteSuccessImageBitmap003742341CheckLaunchProgram0NewBinary5SetupCompleteSuccessLaunchProgramTextText164112981565538##IDS__IsExitDialog_LaunchProgram##00 + SetupCompleteSuccessLaunchReadmeTextText1641481201365538##IDS__IsExitDialog_ShowReadMe##00 + SetupCompleteSuccessOKPushButton23024366173##IDS__IsExitDialog_Finish##Cancel0 + SetupCompleteSuccessShowMsiLogTextText1641821981065538##IDS__IsSetupComplete_ShowMsiLog##0 + SetupCompleteSuccessTextLine1Text13582254565539##IDS__IsExitDialog_WizardCompleted##0 + SetupCompleteSuccessTextLine2Text1355522845196610##IDS__IsExitDialog_InstallSuccess##0 + SetupCompleteSuccessTextLine3Text1355522845196610##IDS__IsExitDialog_UninstallSuccess##0 + SetupCompleteSuccessUpdateTextLine1Text1353022845196610##IDS__IsExitDialog_Update_SetupFinished##0 + SetupCompleteSuccessUpdateTextLine2Text1358022845196610##IDS__IsExitDialog_Update_PossibleUpdates##0 + SetupCompleteSuccessUpdateTextLine3Text1351202284565538##IDS__IsExitDialog_Update_InternetConnection##0 + SetupErrorAPushButton1928066173##IDS__IsErrorDlg_Abort##0 + SetupErrorCPushButton1928066173##IDS_CANCEL2##0 + SetupErrorErrorIconIcon1515242452428810NewBinary4SetupErrorErrorTextText501520050131075##IDS__IsErrorDlg_ErrorText##0 + SetupErrorIPushButton1928066173##IDS__IsErrorDlg_Ignore##0 + SetupErrorNPushButton1928066173##IDS__IsErrorDlg_NO##0 + SetupErrorOPushButton1928066173##IDS__IsErrorDlg_OK##0 + SetupErrorRPushButton1928066173##IDS__IsErrorDlg_Retry##0 + SetupErrorYPushButton1928066173##IDS__IsErrorDlg_Yes##0 + SetupInitializationActionDataText1351252281265539##IDS__IsInitDlg_1##0 + SetupInitializationActionTextText1351092203665539##IDS__IsInitDlg_2##0 + SetupInitializationBackPushButton16424366171##IDS_BACK##0 + SetupInitializationCancelPushButton30124366173##IDS_CANCEL##0 + SetupInitializationDlgLineLine0234374010 + SetupInitializationImageBitmap0037423410NewBinary5SetupInitializationNextPushButton23024366171##IDS_NEXT##0 + SetupInitializationTextLine1Text135822545196611##IDS__IsInitDlg_WelcomeWizard##0 + SetupInitializationTextLine2Text1355522830196611##IDS__IsInitDlg_PreparingWizard##0 + SetupInterruptedBackPushButton16424366171##IDS_BACK##Finish0 + SetupInterruptedCancelPushButton30124366171##IDS_CANCEL##Image0 + SetupInterruptedCheckShowMsiLogCheckBox1511721092ISSHOWMSILOGBack0 + SetupInterruptedDlgLineLine0234374010 + SetupInterruptedFinishPushButton23024366173##IDS__IsUserExit_Finish##Cancel0 + SetupInterruptedFinishText1Text135802285065539##IDS__IsUserExit_NotModified##0 + SetupInterruptedFinishText2Text1351352282565539##IDS__IsUserExit_ClickFinish##0 + SetupInterruptedImageBitmap003742341CheckShowMsiLog0NewBinary5SetupInterruptedRestContText1Text135802285065539##IDS__IsUserExit_KeepOrRestore##0 + SetupInterruptedRestContText2Text1351352282565539##IDS__IsUserExit_RestoreOrContinue##0 + SetupInterruptedShowMsiLogTextText1641721981065538##IDS__IsSetupComplete_ShowMsiLog##0 + SetupInterruptedTextLine1Text13582254565539##IDS__IsUserExit_WizardCompleted##0 + SetupInterruptedTextLine2Text1355522825196611##IDS__IsUserExit_WizardInterrupted##0 + SetupProgressActionProgress95ProgressBar591132751265537##IDS__IsProgressDlg_ProgressDone##0 + SetupProgressActionTextText59100275123##IDS__IsProgressDlg_2##0 + SetupProgressBackPushButton16424366171##IDS_BACK##Next0 + SetupProgressBannerBitmap003744410NewBinary1SetupProgressBannerLineLine044374010 + SetupProgressBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 + SetupProgressBranding2Text3228501365537##IDS_INSTALLSHIELD##0 + SetupProgressCancelPushButton30124366173##IDS_CANCEL##Back0 + SetupProgressDlgDescText21232922565538##IDS__IsProgressDlg_UninstallingFeatures2##0 + SetupProgressDlgDesc2Text21232922565538##IDS__IsProgressDlg_UninstallingFeatures##0 + SetupProgressDlgLineLine48234326010 + SetupProgressDlgTextText595127530196610##IDS__IsProgressDlg_WaitUninstall2##0 + SetupProgressDlgText2Text595127530196610##IDS__IsProgressDlg_WaitUninstall##0 + SetupProgressDlgTitleText13629225196610##IDS__IsProgressDlg_InstallingProductName##0 + SetupProgressDlgTitle2Text13629225196610##IDS__IsProgressDlg_Uninstalling##0 + SetupProgressLbSecText19213932122##IDS__IsProgressDlg_SecHidden##0 + SetupProgressLbStatusText598570123##IDS__IsProgressDlg_Status##0 + SetupProgressNextPushButton23024366171##IDS_NEXT##Cancel0 + SetupProgressSetupIconIcon2151242452428810NewBinary9SetupProgressShowTimeText17013917122##IDS__IsProgressDlg_Hidden##0 + SetupProgressTextTimeText59139110122##IDS__IsProgressDlg_HiddenTimeRemaining##0 + SetupResumeBackPushButton16424366171##IDS_BACK##Next0 + SetupResumeCancelPushButton30124366173##IDS_CANCEL##Back0 + SetupResumeDlgLineLine0234374010 + SetupResumeImageBitmap0037423410NewBinary5SetupResumeNextPushButton23024366173##IDS_NEXT##Cancel0 + SetupResumePreselectedTextText1355522845196611##IDS__IsResumeDlg_WizardResume##0 + SetupResumeResumeTextText1354622845196611##IDS__IsResumeDlg_ResumeSuspended##0 + SetupResumeTextLine1Text135822545196611##IDS__IsResumeDlg_Resuming##0 + SetupTypeBackPushButton16424366173##IDS_BACK##Next0 + SetupTypeBannerBitmap003744410NewBinary1SetupTypeBannerLineLine044374010 + SetupTypeBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 + SetupTypeBranding2Text3228501365537##IDS_INSTALLSHIELD##0 + SetupTypeCancelPushButton30124366173##IDS_CANCEL##RadioGroup0 + SetupTypeCompTextText8080246303##IDS__IsSetupTypeMinDlg_AllFeatures##0 + SetupTypeCompleteIcoIcon3480242452428810NewBinary10SetupTypeCustTextText80171246302##IDS__IsSetupTypeMinDlg_ChooseFeatures##0 + SetupTypeCustomIcoIcon34171242452428800NewBinary11SetupTypeDlgDescText21232922565539##IDS__IsSetupTypeMinDlg_ChooseSetupType##0 + SetupTypeDlgLineLine48234326010 + SetupTypeDlgTextText2249326103##IDS__IsSetupTypeMinDlg_SelectSetupType##00 + SetupTypeDlgTitleText1362922565539##IDS__IsSetupTypeMinDlg_SetupType##0 + SetupTypeMinIcoIcon34125242452428800NewBinary11SetupTypeMinTextText80125246302##IDS__IsSetupTypeMinDlg_MinimumFeatures##0 + SetupTypeNextPushButton23024366173##IDS_NEXT##Cancel0 + SetupTypeRadioGroupRadioButtonGroup20592641391048579_IsSetupTypeMinBack00 + SplashBitmapBackPushButton16424366171##IDS_BACK##Next0 + SplashBitmapBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 + SplashBitmapBranding2Text3228501365537##IDS_INSTALLSHIELD##0 + SplashBitmapCancelPushButton30124366173##IDS_CANCEL##Back0 + SplashBitmapDlgLineLine48234326010 + SplashBitmapImageBitmap131234921110NewBinary5SplashBitmapNextPushButton23024366173##IDS_NEXT##Cancel0 +
+ + + Dialog_ + Control_ + Action + Condition + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CustomSetupChangeFolderHideInstalledCustomSetupDetailsHideInstalledCustomSetupInstallLabelHideInstalledCustomerInformationDlgRadioGroupTextHideNOT PrivilegedCustomerInformationDlgRadioGroupTextHideProductState > 0CustomerInformationDlgRadioGroupTextHideVersion9XCustomerInformationDlgRadioGroupTextHideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledCustomerInformationRadioGroupHideNOT PrivilegedCustomerInformationRadioGroupHideProductState > 0CustomerInformationRadioGroupHideVersion9XCustomerInformationRadioGroupHideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledCustomerInformationSerialLabelShowSERIALNUMSHOWCustomerInformationSerialNumberShowSERIALNUMSHOWInstallWelcomeCopyrightHideSHOWCOPYRIGHT="No"InstallWelcomeCopyrightShowSHOWCOPYRIGHT="Yes"LicenseAgreementNextDisableAgreeToLicense <> "Yes"LicenseAgreementNextEnableAgreeToLicense = "Yes"ReadyToInstallCompanyNameTextHideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallCurrentSettingsTextHideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallDlgText2HideVersionNT < "601" OR NOT ISSupportPerUser OR InstalledReadyToInstallDlgText2ShowVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallDlgTitleShowProgressType0="Modify"ReadyToInstallDlgTitle2ShowProgressType0="Repair"ReadyToInstallDlgTitle3ShowProgressType0="install"ReadyToInstallGroupBox1HideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallInstallNowDisableVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallInstallNowEnableVersionNT < "601" OR NOT ISSupportPerUser OR InstalledReadyToInstallInstallPerMachineHideVersionNT < "601" OR NOT ISSupportPerUser OR InstalledReadyToInstallInstallPerMachineShowVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallInstallPerUserHideVersionNT < "601" OR NOT ISSupportPerUser OR InstalledReadyToInstallInstallPerUserShowVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallSerialNumberTextHideNOT SERIALNUMSHOWReadyToInstallSerialNumberTextHideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallSetupTypeText1HideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallSetupTypeText2HideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallTargetFolderText1HideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallTargetFolderText2HideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallUserInformationTextHideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallUserNameTextHideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledSetupCompleteErrorBackDefaultUpdateStartedSetupCompleteErrorBackDisableNOT UpdateStartedSetupCompleteErrorBackEnableUpdateStartedSetupCompleteErrorCancelDisableNOT UpdateStartedSetupCompleteErrorCancelEnableUpdateStartedSetupCompleteErrorCheckShowMsiLogShowMsiLogFileLocationSetupCompleteErrorFinishDefaultNOT UpdateStartedSetupCompleteErrorFinishText1HideUpdateStartedSetupCompleteErrorFinishText1ShowNOT UpdateStartedSetupCompleteErrorFinishText2HideUpdateStartedSetupCompleteErrorFinishText2ShowNOT UpdateStartedSetupCompleteErrorRestContText1HideNOT UpdateStartedSetupCompleteErrorRestContText1ShowUpdateStartedSetupCompleteErrorRestContText2HideNOT UpdateStartedSetupCompleteErrorRestContText2ShowUpdateStartedSetupCompleteErrorShowMsiLogTextShowMsiLogFileLocationSetupCompleteSuccessCheckBoxUpdatesShowISENABLEDWUSFINISHDIALOG And NOT Installed And ACTION="INSTALL"SetupCompleteSuccessCheckForUpdatesTextShowISENABLEDWUSFINISHDIALOG And NOT Installed And ACTION="INSTALL"SetupCompleteSuccessCheckLaunchProgramShowSHOWLAUNCHPROGRAM="-1" And PROGRAMFILETOLAUNCHATEND <> "" And NOT Installed And NOT ISENABLEDWUSFINISHDIALOGSetupCompleteSuccessCheckLaunchReadmeShowSHOWLAUNCHREADME="-1" And READMEFILETOLAUNCHATEND <> "" And NOT Installed And NOT ISENABLEDWUSFINISHDIALOGSetupCompleteSuccessCheckShowMsiLogShowMsiLogFileLocation And NOT ISENABLEDWUSFINISHDIALOGSetupCompleteSuccessLaunchProgramTextShowSHOWLAUNCHPROGRAM="-1" And PROGRAMFILETOLAUNCHATEND <> "" And NOT Installed And NOT ISENABLEDWUSFINISHDIALOGSetupCompleteSuccessLaunchReadmeTextShowSHOWLAUNCHREADME="-1" And READMEFILETOLAUNCHATEND <> "" And NOT Installed And NOT ISENABLEDWUSFINISHDIALOGSetupCompleteSuccessShowMsiLogTextShowMsiLogFileLocation And NOT ISENABLEDWUSFINISHDIALOGSetupCompleteSuccessTextLine2ShowProgressType2="installed" And ((ACTION<>"INSTALL") OR (NOT ISENABLEDWUSFINISHDIALOG) OR (ISENABLEDWUSFINISHDIALOG And Installed))SetupCompleteSuccessTextLine3ShowProgressType2="uninstalled" And ((ACTION<>"INSTALL") OR (NOT ISENABLEDWUSFINISHDIALOG) OR (ISENABLEDWUSFINISHDIALOG And Installed))SetupCompleteSuccessUpdateTextLine1ShowISENABLEDWUSFINISHDIALOG And NOT Installed And ACTION="INSTALL"SetupCompleteSuccessUpdateTextLine2ShowISENABLEDWUSFINISHDIALOG And NOT Installed And ACTION="INSTALL"SetupCompleteSuccessUpdateTextLine3ShowISENABLEDWUSFINISHDIALOG And NOT Installed And ACTION="INSTALL"SetupInterruptedBackDefaultUpdateStartedSetupInterruptedBackDisableNOT UpdateStartedSetupInterruptedBackEnableUpdateStartedSetupInterruptedCancelDisableNOT UpdateStartedSetupInterruptedCancelEnableUpdateStartedSetupInterruptedCheckShowMsiLogShowMsiLogFileLocationSetupInterruptedFinishDefaultNOT UpdateStartedSetupInterruptedFinishText1HideUpdateStartedSetupInterruptedFinishText1ShowNOT UpdateStartedSetupInterruptedFinishText2HideUpdateStartedSetupInterruptedFinishText2ShowNOT UpdateStartedSetupInterruptedRestContText1HideNOT UpdateStartedSetupInterruptedRestContText1ShowUpdateStartedSetupInterruptedRestContText2HideNOT UpdateStartedSetupInterruptedRestContText2ShowUpdateStartedSetupInterruptedShowMsiLogTextShowMsiLogFileLocationSetupProgressDlgDescShowProgressType2="installed"SetupProgressDlgDesc2ShowProgressType2="uninstalled"SetupProgressDlgTextShowProgressType3="installs"SetupProgressDlgText2ShowProgressType3="uninstalls"SetupProgressDlgTitleShowProgressType1="Installing"SetupProgressDlgTitle2ShowProgressType1="Uninstalling"SetupResumePreselectedTextHideRESUMESetupResumePreselectedTextShowNOT RESUMESetupResumeResumeTextHideNOT RESUMESetupResumeResumeTextShowRESUME
+ + + Dialog_ + Control_ + Event + Argument + Condition + Ordering + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AdminChangeFolderCancelEndDialogReturn12AdminChangeFolderCancelReset011AdminChangeFolderNewFolderDirectoryListNew010AdminChangeFolderOKEndDialogReturn10AdminChangeFolderOKSetTargetPathTARGETDIR11AdminChangeFolderUpDirectoryListUp010AdminNetworkLocationBackNewDialogAdminWelcome10AdminNetworkLocationBrowseSpawnDialogAdminChangeFolder10AdminNetworkLocationCancelSpawnDialogCancelSetup10AdminNetworkLocationInstallNowEndDialogReturnOutOfNoRbDiskSpace <> 13AdminNetworkLocationInstallNowNewDialogOutOfSpaceOutOfNoRbDiskSpace = 12AdminNetworkLocationInstallNowSetTargetPathTARGETDIR11AdminWelcomeCancelSpawnDialogCancelSetup10AdminWelcomeNextNewDialogAdminNetworkLocation10CancelSetupNoEndDialogReturn10CancelSetupYesDoActionCleanUpISSCRIPTRUNNING="1"1CancelSetupYesEndDialogExit12CustomSetupBackNewDialogCustomerInformationNOT Installed0CustomSetupBackNewDialogMaintenanceTypeInstalled0CustomSetupCancelSpawnDialogCancelSetup10CustomSetupChangeFolderSelectionBrowseInstallChangeFolder10CustomSetupDetailsSelectionBrowseDiskSpaceRequirements11CustomSetupHelpSpawnDialogCustomSetupTips11CustomSetupNextNewDialogOutOfSpaceOutOfNoRbDiskSpace = 10CustomSetupNextNewDialogReadyToInstallOutOfNoRbDiskSpace <> 10CustomSetupNext[_IsSetupTypeMin]Custom10CustomSetupTipsOKEndDialogReturn11CustomerInformationBackNewDialogLicenseAgreement11CustomerInformationCancelSpawnDialogCancelSetup10CustomerInformationNextEndDialogExit(SERIALNUMVALRETRYLIMIT) And (SERIALNUMVALRETRYLIMIT<0) And (SERIALNUMVALRETURN<>SERIALNUMVALSUCCESSRETVAL)2CustomerInformationNextNewDialogReadyToInstall(Not SERIALNUMVALRETURN) OR (SERIALNUMVALRETURN=SERIALNUMVALSUCCESSRETVAL)3CustomerInformationNext[ALLUSERS]1ApplicationUsers = "AllUsers" And Privileged1CustomerInformationNext[ALLUSERS]{}ApplicationUsers = "OnlyCurrentUser" And Privileged2DatabaseFolderBackNewDialogCustomerInformation11DatabaseFolderCancelSpawnDialogCancelSetup11DatabaseFolderChangeFolderSpawnDialogInstallChangeFolder11DatabaseFolderChangeFolder[_BrowseProperty]DATABASEDIR12DatabaseFolderNextNewDialogSetupType11DestinationFolderBackNewDialogInstallWelcomeNOT Installed0DestinationFolderCancelSpawnDialogCancelSetup11DestinationFolderChangeFolderSpawnDialogInstallChangeFolder11DestinationFolderChangeFolder[_BrowseProperty]INSTALLDIR12DestinationFolderNextNewDialogReadyToInstall10DiskSpaceRequirementsOKEndDialogReturn10FilesInUseExitEndDialogExit10FilesInUseIgnoreEndDialogIgnore10FilesInUseRetryEndDialogRetry10InstallChangeFolderCancelEndDialogReturn12InstallChangeFolderCancelReset011InstallChangeFolderNewFolderDirectoryListNew010InstallChangeFolderOKEndDialogReturn13InstallChangeFolderOKSetTargetPath[_BrowseProperty]12InstallChangeFolderUpDirectoryListUp010InstallWelcomeBackNewDialogSplashBitmapDisplay_IsBitmapDlg0InstallWelcomeCancelSpawnDialogCancelSetup10InstallWelcomeNextNewDialogDestinationFolder10LicenseAgreementBackNewDialogInstallWelcome10LicenseAgreementCancelSpawnDialogCancelSetup10LicenseAgreementISPrintButtonDoActionISPrint10LicenseAgreementNextNewDialogReadyToInstallAgreeToLicense = "Yes"0MaintenanceTypeBackNewDialogMaintenanceWelcome10MaintenanceTypeCancelSpawnDialogCancelSetup10MaintenanceTypeNextNewDialogCustomSetup_IsMaintenance = "Change"12MaintenanceTypeNextNewDialogReadyToInstall_IsMaintenance = "Reinstall"13MaintenanceTypeNextNewDialogReadyToRemove_IsMaintenance = "Remove"11MaintenanceTypeNextReinstallALL_IsMaintenance = "Reinstall"10MaintenanceTypeNextReinstallMode[ReinstallModeText]_IsMaintenance = "Reinstall"9MaintenanceTypeNext[ProgressType0]Modify_IsMaintenance = "Change"2MaintenanceTypeNext[ProgressType0]Repair_IsMaintenance = "Reinstall"1MaintenanceTypeNext[ProgressType1]Modifying_IsMaintenance = "Change"3MaintenanceTypeNext[ProgressType1]Repairing_IsMaintenance = "Reinstall"4MaintenanceTypeNext[ProgressType2]modified_IsMaintenance = "Change"6MaintenanceTypeNext[ProgressType2]repairs_IsMaintenance = "Reinstall"5MaintenanceTypeNext[ProgressType3]modifies_IsMaintenance = "Change"7MaintenanceTypeNext[ProgressType3]repairs_IsMaintenance = "Reinstall"8MaintenanceWelcomeCancelSpawnDialogCancelSetup10MaintenanceWelcomeNextNewDialogMaintenanceType10MsiRMFilesInUseCancelEndDialogExit11MsiRMFilesInUseOKEndDialogReturn11MsiRMFilesInUseOKRMShutdownAndRestart0RestartManagerOption="CloseRestart"2OutOfSpaceResumeNewDialogAdminNetworkLocationACTION = "ADMIN"0OutOfSpaceResumeNewDialogDestinationFolderACTION <> "ADMIN"0PatchWelcomeCancelSpawnDialogCancelSetup11PatchWelcomeNextEndDialogReturn13PatchWelcomeNextReinstallALLPATCH And REINSTALL=""1PatchWelcomeNextReinstallModeomusPATCH And REINSTALLMODE=""2ReadmeInformationBackNewDialogLicenseAgreement11ReadmeInformationCancelSpawnDialogCancelSetup11ReadmeInformationNextNewDialogCustomerInformation11ReadyToInstallBackNewDialogCustomSetupInstalled OR _IsSetupTypeMin = "Custom"2ReadyToInstallBackNewDialogDestinationFolderNOT Installed1ReadyToInstallBackNewDialogMaintenanceTypeInstalled AND _IsMaintenance = "Reinstall"3ReadyToInstallCancelSpawnDialogCancelSetup10ReadyToInstallInstallNowEndDialogReturnOutOfNoRbDiskSpace <> 10ReadyToInstallInstallNowNewDialogOutOfSpaceOutOfNoRbDiskSpace = 10ReadyToInstallInstallNow[ProgressType1]Installing10ReadyToInstallInstallNow[ProgressType2]installed10ReadyToInstallInstallNow[ProgressType3]installs10ReadyToInstallInstallPerMachineEndDialogReturnOutOfNoRbDiskSpace <> 10ReadyToInstallInstallPerMachineNewDialogOutOfSpaceOutOfNoRbDiskSpace = 10ReadyToInstallInstallPerMachine[ALLUSERS]110ReadyToInstallInstallPerMachine[MSIINSTALLPERUSER]{}10ReadyToInstallInstallPerMachine[ProgressType1]Installing10ReadyToInstallInstallPerMachine[ProgressType2]installed10ReadyToInstallInstallPerMachine[ProgressType3]installs10ReadyToInstallInstallPerUserEndDialogReturnOutOfNoRbDiskSpace <> 10ReadyToInstallInstallPerUserNewDialogOutOfSpaceOutOfNoRbDiskSpace = 10ReadyToInstallInstallPerUser[ALLUSERS]210ReadyToInstallInstallPerUser[MSIINSTALLPERUSER]110ReadyToInstallInstallPerUser[ProgressType1]Installing10ReadyToInstallInstallPerUser[ProgressType2]installed10ReadyToInstallInstallPerUser[ProgressType3]installs10ReadyToRemoveBackNewDialogMaintenanceType10ReadyToRemoveCancelSpawnDialogCancelSetup10ReadyToRemoveRemoveNowEndDialogReturnOutOfNoRbDiskSpace <> 12ReadyToRemoveRemoveNowNewDialogOutOfSpaceOutOfNoRbDiskSpace = 12ReadyToRemoveRemoveNowRemoveALL11ReadyToRemoveRemoveNow[ProgressType1]Uninstalling10ReadyToRemoveRemoveNow[ProgressType2]uninstalled10ReadyToRemoveRemoveNow[ProgressType3]uninstalls10SetupCompleteErrorBackEndDialogReturn12SetupCompleteErrorBack[Suspend]{}11SetupCompleteErrorCancelEndDialogReturn12SetupCompleteErrorCancel[Suspend]111SetupCompleteErrorFinishDoActionCleanUpISSCRIPTRUNNING="1"1SetupCompleteErrorFinishDoActionShowMsiLogMsiLogFileLocation And (ISSHOWMSILOG="1")3SetupCompleteErrorFinishEndDialogExit12SetupCompleteSuccessOKDoActionCleanUpISSCRIPTRUNNING="1"1SetupCompleteSuccessOKDoActionShowMsiLogMsiLogFileLocation And (ISSHOWMSILOG="1") And NOT ISENABLEDWUSFINISHDIALOG6SetupCompleteSuccessOKEndDialogExit12SetupErrorAEndDialogErrorAbort10SetupErrorCEndDialogErrorCancel10SetupErrorIEndDialogErrorIgnore10SetupErrorNEndDialogErrorNo10SetupErrorOEndDialogErrorOk10SetupErrorREndDialogErrorRetry10SetupErrorYEndDialogErrorYes10SetupInitializationCancelSpawnDialogCancelSetup10SetupInterruptedBackEndDialogExit12SetupInterruptedBack[Suspend]{}11SetupInterruptedCancelEndDialogExit12SetupInterruptedCancel[Suspend]111SetupInterruptedFinishDoActionCleanUpISSCRIPTRUNNING="1"1SetupInterruptedFinishDoActionShowMsiLogMsiLogFileLocation And (ISSHOWMSILOG="1")3SetupInterruptedFinishEndDialogExit12SetupProgressCancelSpawnDialogCancelSetup10SetupResumeCancelSpawnDialogCancelSetup10SetupResumeNextEndDialogReturnOutOfNoRbDiskSpace <> 10SetupResumeNextNewDialogOutOfSpaceOutOfNoRbDiskSpace = 10SetupTypeBackNewDialogCustomerInformation11SetupTypeCancelSpawnDialogCancelSetup10SetupTypeNextNewDialogCustomSetup_IsSetupTypeMin = "Custom"2SetupTypeNextNewDialogReadyToInstall_IsSetupTypeMin <> "Custom"1SetupTypeNextSetInstallLevel100_IsSetupTypeMin="Minimal"0SetupTypeNextSetInstallLevel200_IsSetupTypeMin="Typical"0SetupTypeNextSetInstallLevel300_IsSetupTypeMin="Custom"0SetupTypeNext[ISRUNSETUPTYPEADDLOCALEVENT]110SetupTypeNext[SelectedSetupType][DisplayNameCustom]_IsSetupTypeMin = "Custom"0SetupTypeNext[SelectedSetupType][DisplayNameMinimal]_IsSetupTypeMin = "Minimal"0SetupTypeNext[SelectedSetupType][DisplayNameTypical]_IsSetupTypeMin = "Typical"0SplashBitmapCancelSpawnDialogCancelSetup10SplashBitmapNextNewDialogInstallWelcome10
+ + + Directory_ + Component_ + + + + + +
DATABASEDIRISX_DEFAULTCOMPONENT8EBAY1ISX_DEFAULTCOMPONENT2INSTALLDIRISX_DEFAULTCOMPONENT1INSTALLDIRISX_DEFAULTCOMPONENT5ProgramFiles64FolderISX_DEFAULTCOMPONENT
+ + + Action + Type + Source + Target + ExtendedType + ISComments + + + + +
ISPreventDowngrade19[IS_PREVENT_DOWNGRADE_EXIT]Exits install when a newer version of this product is foundISPrint1SetAllUsers.dllPrintScrollableTextPrints the contents of a ScrollableText control on a dialog.ISRunSetupTypeAddLocalEvent1ISExpHlp.dllRunSetupTypeAddLocalEventRun the AddLocal events associated with the Next button on the Setup Type dialog.ISSelfRegisterCosting1ISSELFREG.DLLISSelfRegisterCosting + ISSelfRegisterFiles3073ISSELFREG.DLLISSelfRegisterFiles + ISSelfRegisterFinalize1ISSELFREG.DLLISSelfRegisterFinalize + ISUnSelfRegisterFiles3073ISSELFREG.DLLISUnSelfRegisterFiles + SetARPINSTALLLOCATION51ARPINSTALLLOCATION[INSTALLDIR] + SetAllUsersProfileNT51ALLUSERSPROFILE[%SystemRoot]\Profiles\All Users + ShowMsiLog226SystemFolder[SystemFolder]notepad.exe "[MsiLogFileLocation]"Shows Property-driven MSI LogsetAllUsersProfile2K51ALLUSERSPROFILE[%ALLUSERSPROFILE] + setUserProfileNT51USERPROFILE[%USERPROFILE] +
+ + + Dialog + HCentering + VCentering + Width + Height + Attributes + Title + Control_First + Control_Default + Control_Cancel + ISComments + TextStyle_ + ISWindowStyle + ISResourceId + +
AdminChangeFolder50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##TailOKCancelInstall Point Browse0 + AdminNetworkLocation50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##InstallNowInstallNowCancelNetwork Location0 + AdminWelcome50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##NextNextCancelAdministration Welcome0 + CancelSetup5050260853##IDS_PRODUCTNAME_INSTALLSHIELD##NoNoNoCancel0 + CustomSetup505037426635##IDS_PRODUCTNAME_INSTALLSHIELD##TreeNextCancelCustom Selection0 + CustomSetupTips50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##OKOKOKCustom Setup Tips0 + CustomerInformation50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##NameEditNextCancelIdentification0 + DatabaseFolder50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##NextNextCancelDatabase Folder0 + DestinationFolder50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##NextNextCancelDestination Folder0 + DiskSpaceRequirements50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##OKOKOKFeature Details0 + FilesInUse505037426619##IDS_PRODUCTNAME_INSTALLSHIELD##RetryRetryExitFiles in Use0 + InstallChangeFolder50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##TailOKCancelBrowse0 + InstallWelcome50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##NextNextCancelWelcome Panel0 + LicenseAgreement50503742662##IDS_PRODUCTNAME_INSTALLSHIELD##AgreeNextCancelLicense Agreement0 + MaintenanceType50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##RadioGroupNextCancelChange, Reinstall, Remove0 + MaintenanceWelcome50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##NextNextCancelMaintenance Welcome0 + MsiRMFilesInUse505037426619##IDS_PRODUCTNAME_INSTALLSHIELD##OKOKCancelRestartManager Files in Use0 + OutOfSpace50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##ResumeResumeResumeOut Of Disk Space0 + PatchWelcome50503742663##IDS__IsPatchDlg_PatchWizard##NextNextCancelPatch Panel0 + ReadmeInformation50503742667##IDS_PRODUCTNAME_INSTALLSHIELD##NextNextCancelReadme Information00ReadyToInstall505037426635##IDS_PRODUCTNAME_INSTALLSHIELD##InstallNowInstallNowCancelReady to Install0 + ReadyToRemove50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##RemoveNowRemoveNowCancelVerify Remove0 + SetupCompleteError50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##FinishFinishFinishFatal Error0 + SetupCompleteSuccess50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##OKOKOKExit0 + SetupError505027011065543##IDS__IsErrorDlg_InstallerInfo##ErrorTextOCError0 + SetupInitialization50503742665##IDS_PRODUCTNAME_INSTALLSHIELD##CancelCancelCancelSetup Initialization0 + SetupInterrupted50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##FinishFinishFinishUser Exit0 + SetupProgress50503742665##IDS_PRODUCTNAME_INSTALLSHIELD##CancelCancelCancelProgress0 + SetupResume50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##NextNextCancelResume0 + SetupType50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##RadioGroupNextCancelSetup Type0 + SplashBitmap50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##NextNextCancelWelcome Bitmap0 +
+ + + Directory + Directory_Parent + DefaultDir + ISDescription + ISAttributes + ISFolderName +
ALLUSERSPROFILETARGETDIR.:ALLUSE~1|All Users0 + AdminToolsFolderTARGETDIR.:Admint~1|AdminTools0 + AppDataFolderTARGETDIR.:APPLIC~1|Application Data0 + CommonAppDataFolderTARGETDIR.:Common~1|CommonAppData0 + CommonFiles64FolderTARGETDIR.:Common640 + CommonFilesFolderTARGETDIR.:Common0 + DATABASEDIRISYourDataBaseDir.0 + DesktopFolderTARGETDIR.:Desktop3 + EBAYProgramFilesFoldereBay0 + EBAY1ProgramFiles64FolderKYLINO~1|kylinolap0 + FavoritesFolderTARGETDIR.:FAVORI~1|Favorites0 + FontsFolderTARGETDIR.:Fonts0 + GlobalAssemblyCacheTARGETDIR.:Global~1|GlobalAssemblyCache0 + INSTALLDIRKYLINODBCDRIVER__X64_.0 + ISCommonFilesFolderCommonFilesFolderInstal~1|InstallShield0 + ISMyCompanyDirProgramFilesFolderMYCOMP~1|My Company Name0 + ISMyProductDirISMyCompanyDirMYPROD~1|My Product Name0 + ISYourDataBaseDirINSTALLDIRDatabase0 + KYLINODBCDRIVEREBAY1KYLINO~1|KylinODBCDriver0 + KYLINODBCDRIVER__X64_EBAY1KYLINO~1|KylinODBCDriver (x64)0 + LocalAppDataFolderTARGETDIR.:LocalA~1|LocalAppData0 + MY_PRODUCT_NAMEEBAYMYPROD~1|My Product Name0 + MyPicturesFolderTARGETDIR.:MyPict~1|MyPictures0 + NetHoodFolderTARGETDIR.:NetHood0 + PersonalFolderTARGETDIR.:Personal0 + PrimaryVolumePathTARGETDIR.:Primar~1|PrimaryVolumePath0 + PrintHoodFolderTARGETDIR.:PRINTH~1|PrintHood0 + ProgramFiles64FolderTARGETDIR.:Prog64~1|Program Files 640 + ProgramFilesFolderTARGETDIR.:PROGRA~1|program files0 + ProgramMenuFolderTARGETDIR.:Programs3 + RecentFolderTARGETDIR.:Recent0 + SendToFolderTARGETDIR.:SendTo3 + StartMenuFolderTARGETDIR.:STARTM~1|Start Menu3 + StartupFolderTARGETDIR.:StartUp3 + System16FolderTARGETDIR.:System0 + System64FolderTARGETDIR.:System640 + SystemFolderTARGETDIR.:System320 + TARGETDIRSourceDir0 + TempFolderTARGETDIR.:Temp0 + TemplateFolderTARGETDIR.:ShellNew0 + USERPROFILETARGETDIR.:USERPR~1|UserProfile0 + WindowsFolderTARGETDIR.:Windows0 + WindowsVolumeTARGETDIR.:WinRoot0 +
+ + + Signature_ + Parent + Path + Depth +
+ + + FileKey + Component_ + File_ + DestName + DestFolder +
+ + + Environment + Name + Value + Component_ +
+ + + Error + Message + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
0##IDS_ERROR_0##1##IDS_ERROR_1##10##IDS_ERROR_8##11##IDS_ERROR_9##1101##IDS_ERROR_22##12##IDS_ERROR_10##13##IDS_ERROR_11##1301##IDS_ERROR_23##1302##IDS_ERROR_24##1303##IDS_ERROR_25##1304##IDS_ERROR_26##1305##IDS_ERROR_27##1306##IDS_ERROR_28##1307##IDS_ERROR_29##1308##IDS_ERROR_30##1309##IDS_ERROR_31##1310##IDS_ERROR_32##1311##IDS_ERROR_33##1312##IDS_ERROR_34##1313##IDS_ERROR_35##1314##IDS_ERROR_36##1315##IDS_ERROR_37##1316##IDS_ERROR_38##1317##IDS_ERROR_39##1318##IDS_ERROR_40##1319##IDS_ERROR_41##1320##IDS_ERROR_42##1321##IDS_ERROR_43##1322##IDS_ERROR_44##1323##IDS_ERROR_45##1324##IDS_ERROR_46##1325##IDS_ERROR_47##1326##IDS_ERROR_48##1327##IDS_ERROR_49##1328##IDS_ERROR_122##1329##IDS_ERROR_1329##1330##IDS_ERROR_1330##1331##IDS_ERROR_1331##1332##IDS_ERROR_1332##1333##IDS_ERROR_1333##1334##IDS_ERROR_1334##1335##IDS_ERROR_1335##1336##IDS_ERROR_1336##14##IDS_ERROR_12##1401##IDS_ERROR_50##1402##IDS_ERROR_51##1403##IDS_ERROR_52##1404##IDS_ERROR_53##1405##IDS_ERROR_54##1406##IDS_ERROR_55##1407##IDS_ERROR_56##1408##IDS_ERROR_57##1409##IDS_ERROR_58##1410##IDS_ERROR_59##15##IDS_ERROR_13##1500##IDS_ERROR_60##1501##IDS_ERROR_61##1502##IDS_ERROR_62##1503##IDS_ERROR_63##16##IDS_ERROR_14##1601##IDS_ERROR_64##1602##IDS_ERROR_65##1603##IDS_ERROR_66##1604##IDS_ERROR_67##1605##IDS_ERROR_68##1606##IDS_ERROR_69##1607##IDS_ERROR_70##1608##IDS_ERROR_71##1609##IDS_ERROR_1609##1651##IDS_ERROR_1651##17##IDS_ERROR_15##1701##IDS_ERROR_72##1702##IDS_ERROR_73##1703##IDS_ERROR_74##1704##IDS_ERROR_75##1705##IDS_ERROR_76##1706##IDS_ERROR_77##1707##IDS_ERROR_78##1708##IDS_ERROR_79##1709##IDS_ERROR_80##1710##IDS_ERROR_81##1711##IDS_ERROR_82##1712##IDS_ERROR_83##1713##IDS_ERROR_123##1714##IDS_ERROR_124##1715##IDS_ERROR_1715##1716##IDS_ERROR_1716##1717##IDS_ERROR_1717##1718##IDS_ERROR_1718##1719##IDS_ERROR_1719##1720##IDS_ERROR_1720##1721##IDS_ERROR_1721##1722##IDS_ERROR_1722##1723##IDS_ERROR_1723##1724##IDS_ERROR_1724##1725##IDS_ERROR_1725##1726##IDS_ERROR_1726##1727##IDS_ERROR_1727##1728##IDS_ERROR_1728##1729##IDS_ERROR_1729##1730##IDS_ERROR_1730##1731##IDS_ERROR_1731##1732##IDS_ERROR_1732##18##IDS_ERROR_16##1801##IDS_ERROR_84##1802##IDS_ERROR_85##1803##IDS_ERROR_86##1804##IDS_ERROR_87##1805##IDS_ERROR_88##1806##IDS_ERROR_89##1807##IDS_ERROR_90##19##IDS_ERROR_17##1901##IDS_ERROR_91##1902##IDS_ERROR_92##1903##IDS_ERROR_93##1904##IDS_ERROR_94##1905##IDS_ERROR_95##1906##IDS_ERROR_96##1907##IDS_ERROR_97##1908##IDS_ERROR_98##1909##IDS_ERROR_99##1910##IDS_ERROR_100##1911##IDS_ERROR_101##1912##IDS_ERROR_102##1913##IDS_ERROR_103##1914##IDS_ERROR_104##1915##IDS_ERROR_105##1916##IDS_ERROR_106##1917##IDS_ERROR_107##1918##IDS_ERROR_108##1919##IDS_ERROR_109##1920##IDS_ERROR_110##1921##IDS_ERROR_111##1922##IDS_ERROR_112##1923##IDS_ERROR_113##1924##IDS_ERROR_114##1925##IDS_ERROR_115##1926##IDS_ERROR_116##1927##IDS_ERROR_117##1928##IDS_ERROR_118##1929##IDS_ERROR_119##1930##IDS_ERROR_125##1931##IDS_ERROR_126##1932##IDS_ERROR_127##1933##IDS_ERROR_128##1934##IDS_ERROR_129##1935##IDS_ERROR_1935##1936##IDS_ERROR_1936##1937##IDS_ERROR_1937##1938##IDS_ERROR_1938##2##IDS_ERROR_2##20##IDS_ERROR_18##21##IDS_ERROR_19##2101##IDS_ERROR_2101##2102##IDS_ERROR_2102##2103##IDS_ERROR_2103##2104##IDS_ERROR_2104##2105##IDS_ERROR_2105##2106##IDS_ERROR_2106##2107##IDS_ERROR_2107##2108##IDS_ERROR_2108##2109##IDS_ERROR_2109##2110##IDS_ERROR_2110##2111##IDS_ERROR_2111##2112##IDS_ERROR_2112##2113##IDS_ERROR_2113##22##IDS_ERROR_120##2200##IDS_ERROR_2200##2201##IDS_ERROR_2201##2202##IDS_ERROR_2202##2203##IDS_ERROR_2203##2204##IDS_ERROR_2204##2205##IDS_ERROR_2205##2206##IDS_ERROR_2206##2207##IDS_ERROR_2207##2208##IDS_ERROR_2208##2209##IDS_ERROR_2209##2210##IDS_ERROR_2210##2211##IDS_ERROR_2211##2212##IDS_ERROR_2212##2213##IDS_ERROR_2213##2214##IDS_ERROR_2214##2215##IDS_ERROR_2215##2216##IDS_ERROR_2216##2217##IDS_ERROR_2217##2218##IDS_ERROR_2218##2219##IDS_ERROR_2219##2220##IDS_ERROR_2220##2221##IDS_ERROR_2221##2222##IDS_ERROR_2222##2223##IDS_ERROR_2223##2224##IDS_ERROR_2224##2225##IDS_ERROR_2225##2226##IDS_ERROR_2226##2227##IDS_ERROR_2227##2228##IDS_ERROR_2228##2229##IDS_ERROR_2229##2230##IDS_ERROR_2230##2231##IDS_ERROR_2231##2232##IDS_ERROR_2232##2233##IDS_ERROR_2233##2234##IDS_ERROR_2234##2235##IDS_ERROR_2235##2236##IDS_ERROR_2236##2237##IDS_ERROR_2237##2238##IDS_ERROR_2238##2239##IDS_ERROR_2239##2240##IDS_ERROR_2240##2241##IDS_ERROR_2241##2242##IDS_ERROR_2242##2243##IDS_ERROR_2243##2244##IDS_ERROR_2244##2245##IDS_ERROR_2245##2246##IDS_ERROR_2246##2247##IDS_ERROR_2247##2248##IDS_ERROR_2248##2249##IDS_ERROR_2249##2250##IDS_ERROR_2250##2251##IDS_ERROR_2251##2252##IDS_ERROR_2252##2253##IDS_ERROR_2253##2254##IDS_ERROR_2254##2255##IDS_ERROR_2255##2256##IDS_ERROR_2256##2257##IDS_ERROR_2257##2258##IDS_ERROR_2258##2259##IDS_ERROR_2259##2260##IDS_ERROR_2260##2261##IDS_ERROR_2261##2262##IDS_ERROR_2262##2263##IDS_ERROR_2263##2264##IDS_ERROR_2264##2265##IDS_ERROR_2265##2266##IDS_ERROR_2266##2267##IDS_ERROR_2267##2268##IDS_ERROR_2268##2269##IDS_ERROR_2269##2270##IDS_ERROR_2270##2271##IDS_ERROR_2271##2272##IDS_ERROR_2272##2273##IDS_ERROR_2273##2274##IDS_ERROR_2274##2275##IDS_ERROR_2275##2276##IDS_ERROR_2276##2277##IDS_ERROR_2277##2278##IDS_ERROR_2278##2279##IDS_ERROR_2279##2280##IDS_ERROR_2280##2281##IDS_ERROR_2281##2282##IDS_ERROR_2282##23##IDS_ERROR_121##2302##IDS_ERROR_2302##2303##IDS_ERROR_2303##2304##IDS_ERROR_2304##2305##IDS_ERROR_2305##2306##IDS_ERROR_2306##2307##IDS_ERROR_2307##2308##IDS_ERROR_2308##2309##IDS_ERROR_2309##2310##IDS_ERROR_2310##2315##IDS_ERROR_2315##2318##IDS_ERROR_2318##2319##IDS_ERROR_2319##2320##IDS_ERROR_2320##2321##IDS_ERROR_2321##2322##IDS_ERROR_2322##2323##IDS_ERROR_2323##2324##IDS_ERROR_2324##2325##IDS_ERROR_2325##2326##IDS_ERROR_2326##2327##IDS_ERROR_2327##2328##IDS_ERROR_2328##2329##IDS_ERROR_2329##2330##IDS_ERROR_2330##2331##IDS_ERROR_2331##2332##IDS_ERROR_2332##2333##IDS_ERROR_2333##2334##IDS_ERROR_2334##2335##IDS_ERROR_2335##2336##IDS_ERROR_2336##2337##IDS_ERROR_2337##2338##IDS_ERROR_2338##2339##IDS_ERROR_2339##2340##IDS_ERROR_2340##2341##IDS_ERROR_2341##2342##IDS_ERROR_2342##2343##IDS_ERROR_2343##2344##IDS_ERROR_2344##2345##IDS_ERROR_2345##2347##IDS_ERROR_2347##2348##IDS_ERROR_2348##2349##IDS_ERROR_2349##2350##IDS_ERROR_2350##2351##IDS_ERROR_2351##2352##IDS_ERROR_2352##2353##IDS_ERROR_2353##2354##IDS_ERROR_2354##2355##IDS_ERROR_2355##2356##IDS_ERROR_2356##2357##IDS_ERROR_2357##2358##IDS_ERROR_2358##2359##IDS_ERROR_2359##2360##IDS_ERROR_2360##2361##IDS_ERROR_2361##2362##IDS_ERROR_2362##2363##IDS_ERROR_2363##2364##IDS_ERROR_2364##2365##IDS_ERROR_2365##2366##IDS_ERROR_2366##2367##IDS_ERROR_2367##2368##IDS_ERROR_2368##2370##IDS_ERROR_2370##2371##IDS_ERROR_2371##2372##IDS_ERROR_2372##2373##IDS_ERROR_2373##2374##IDS_ERROR_2374##2375##IDS_ERROR_2375##2376##IDS_ERROR_2376##2379##IDS_ERROR_2379##2380##IDS_ERROR_2380##2381##IDS_ERROR_2381##2382##IDS_ERROR_2382##2401##IDS_ERROR_2401##2402##IDS_ERROR_2402##2501##IDS_ERROR_2501##2502##IDS_ERROR_2502##2503##IDS_ERROR_2503##2601##IDS_ERROR_2601##2602##IDS_ERROR_2602##2603##IDS_ERROR_2603##2604##IDS_ERROR_2604##2605##IDS_ERROR_2605##2606##IDS_ERROR_2606##2607##IDS_ERROR_2607##2608##IDS_ERROR_2608##2609##IDS_ERROR_2609##2611##IDS_ERROR_2611##2612##IDS_ERROR_2612##2613##IDS_ERROR_2613##2614##IDS_ERROR_2614##2615##IDS_ERROR_2615##2616##IDS_ERROR_2616##2617##IDS_ERROR_2617##2618##IDS_ERROR_2618##2619##IDS_ERROR_2619##2620##IDS_ERROR_2620##2621##IDS_ERROR_2621##2701##IDS_ERROR_2701##2702##IDS_ERROR_2702##2703##IDS_ERROR_2703##2704##IDS_ERROR_2704##2705##IDS_ERROR_2705##2706##IDS_ERROR_2706##2707##IDS_ERROR_2707##2708##IDS_ERROR_2708##2709##IDS_ERROR_2709##2710##IDS_ERROR_2710##2711##IDS_ERROR_2711##2712##IDS_ERROR_2712##2713##IDS_ERROR_2713##2714##IDS_ERROR_2714##2715##IDS_ERROR_2715##2716##IDS_ERROR_2716##2717##IDS_ERROR_2717##2718##IDS_ERROR_2718##2719##IDS_ERROR_2719##2720##IDS_ERROR_2720##2721##IDS_ERROR_2721##2722##IDS_ERROR_2722##2723##IDS_ERROR_2723##2724##IDS_ERROR_2724##2725##IDS_ERROR_2725##2726##IDS_ERROR_2726##2727##IDS_ERROR_2727##2728##IDS_ERROR_2728##2729##IDS_ERROR_2729##2730##IDS_ERROR_2730##2731##IDS_ERROR_2731##2732##IDS_ERROR_2732##2733##IDS_ERROR_2733##2734##IDS_ERROR_2734##2735##IDS_ERROR_2735##2736##IDS_ERROR_2736##2737##IDS_ERROR_2737##2738##IDS_ERROR_2738##2739##IDS_ERROR_2739##2740##IDS_ERROR_2740##2741##IDS_ERROR_2741##2742##IDS_ERROR_2742##2743##IDS_ERROR_2743##2744##IDS_ERROR_2744##2745##IDS_ERROR_2745##2746##IDS_ERROR_2746##2747##IDS_ERROR_2747##2748##IDS_ERROR_2748##2749##IDS_ERROR_2749##2750##IDS_ERROR_2750##27500##IDS_ERROR_130##27501##IDS_ERROR_131##27502##IDS_ERROR_27502##27503##IDS_ERROR_27503##27504##IDS_ERROR_27504##27505##IDS_ERROR_27505##27506##IDS_ERROR_27506##27507##IDS_ERROR_27507##27508##IDS_ERROR_27508##27509##IDS_ERROR_27509##2751##IDS_ERROR_2751##27510##IDS_ERROR_27510##27511##IDS_ERROR_27511##27512##IDS_ERROR_27512##27513##IDS_ERROR_27513##27514##IDS_ERROR_27514##27515##IDS_ERROR_27515##27516##IDS_ERROR_27516##27517##IDS_ERROR_27517##27518##IDS_ERROR_27518##27519##IDS_ERROR_27519##2752##IDS_ERROR_2752##27520##IDS_ERROR_27520##27521##IDS_ERROR_27521##27522##IDS_ERROR_27522##27523##IDS_ERROR_27523##27524##IDS_ERROR_27524##27525##IDS_ERROR_27525##27526##IDS_ERROR_27526##27527##IDS_ERROR_27527##27528##IDS_ERROR_27528##27529##IDS_ERROR_27529##2753##IDS_ERROR_2753##27530##IDS_ERROR_27530##27531##IDS_ERROR_27531##27532##IDS_ERROR_27532##27533##IDS_ERROR_27533##27534##IDS_ERROR_27534##27535##IDS_ERROR_27535##27536##IDS_ERROR_27536##27537##IDS_ERROR_27537##27538##IDS_ERROR_27538##27539##IDS_ERROR_27539##2754##IDS_ERROR_2754##27540##IDS_ERROR_27540##27541##IDS_ERROR_27541##27542##IDS_ERROR_27542##27543##IDS_ERROR_27543##27544##IDS_ERROR_27544##27545##IDS_ERROR_27545##27546##IDS_ERROR_27546##27547##IDS_ERROR_27547##27548##IDS_ERROR_27548##27549##IDS_ERROR_27549##2755##IDS_ERROR_2755##27550##IDS_ERROR_27550##27551##IDS_ERROR_27551##27552##IDS_ERROR_27552##27553##IDS_ERROR_27553##27554##IDS_ERROR_27554##27555##IDS_ERROR_27555##2756##IDS_ERROR_2756##2757##IDS_ERROR_2757##2758##IDS_ERROR_2758##2759##IDS_ERROR_2759##2760##IDS_ERROR_2760##2761##IDS_ERROR_2761##2762##IDS_ERROR_2762##2763##IDS_ERROR_2763##2765##IDS_ERROR_2765##2766##IDS_ERROR_2766##2767##IDS_ERROR_2767##2768##IDS_ERROR_2768##2769##IDS_ERROR_2769##2770##IDS_ERROR_2770##2771##IDS_ERROR_2771##2772##IDS_ERROR_2772##2801##IDS_ERROR_2801##2802##IDS_ERROR_2802##2803##IDS_ERROR_2803##2804##IDS_ERROR_2804##2806##IDS_ERROR_2806##2807##IDS_ERROR_2807##2808##IDS_ERROR_2808##2809##IDS_ERROR_2809##2810##IDS_ERROR_2810##2811##IDS_ERROR_2811##2812##IDS_ERROR_2812##2813##IDS_ERROR_2813##2814##IDS_ERROR_2814##2815##IDS_ERROR_2815##2816##IDS_ERROR_2816##2817##IDS_ERROR_2817##2818##IDS_ERROR_2818##2819##IDS_ERROR_2819##2820##IDS_ERROR_2820##2821##IDS_ERROR_2821##2822##IDS_ERROR_2822##2823##IDS_ERROR_2823##2824##IDS_ERROR_2824##2825##IDS_ERROR_2825##2826##IDS_ERROR_2826##2827##IDS_ERROR_2827##2828##IDS_ERROR_2828##2829##IDS_ERROR_2829##2830##IDS_ERROR_2830##2831##IDS_ERROR_2831##2832##IDS_ERROR_2832##2833##IDS_ERROR_2833##2834##IDS_ERROR_2834##2835##IDS_ERROR_2835##2836##IDS_ERROR_2836##2837##IDS_ERROR_2837##2838##IDS_ERROR_2838##2839##IDS_ERROR_2839##2840##IDS_ERROR_2840##2841##IDS_ERROR_2841##2842##IDS_ERROR_2842##2843##IDS_ERROR_2843##2844##IDS_ERROR_2844##2845##IDS_ERROR_2845##2846##IDS_ERROR_2846##2847##IDS_ERROR_2847##2848##IDS_ERROR_2848##2849##IDS_ERROR_2849##2850##IDS_ERROR_2850##2851##IDS_ERROR_2851##2852##IDS_ERROR_2852##2853##IDS_ERROR_2853##2854##IDS_ERROR_2854##2855##IDS_ERROR_2855##2856##IDS_ERROR_2856##2857##IDS_ERROR_2857##2858##IDS_ERROR_2858##2859##IDS_ERROR_2859##2860##IDS_ERROR_2860##2861##IDS_ERROR_2861##2862##IDS_ERROR_2862##2863##IDS_ERROR_2863##2864##IDS_ERROR_2864##2865##IDS_ERROR_2865##2866##IDS_ERROR_2866##2867##IDS_ERROR_2867##2868##IDS_ERROR_2868##2869##IDS_ERROR_2869##2870##IDS_ERROR_2870##2871##IDS_ERROR_2871##2872##IDS_ERROR_2872##2873##IDS_ERROR_2873##2874##IDS_ERROR_2874##2875##IDS_ERROR_2875##2876##IDS_ERROR_2876##2877##IDS_ERROR_2877##2878##IDS_ERROR_2878##2879##IDS_ERROR_2879##2880##IDS_ERROR_2880##2881##IDS_ERROR_2881##2882##IDS_ERROR_2882##2883##IDS_ERROR_2883##2884##IDS_ERROR_2884##2885##IDS_ERROR_2885##2886##IDS_ERROR_2886##2887##IDS_ERROR_2887##2888##IDS_ERROR_2888##2889##IDS_ERROR_2889##2890##IDS_ERROR_2890##2891##IDS_ERROR_2891##2892##IDS_ERROR_2892##2893##IDS_ERROR_2893##2894##IDS_ERROR_2894##2895##IDS_ERROR_2895##2896##IDS_ERROR_2896##2897##IDS_ERROR_2897##2898##IDS_ERROR_2898##2899##IDS_ERROR_2899##2901##IDS_ERROR_2901##2902##IDS_ERROR_2902##2903##IDS_ERROR_2903##2904##IDS_ERROR_2904##2905##IDS_ERROR_2905##2906##IDS_ERROR_2906##2907##IDS_ERROR_2907##2908##IDS_ERROR_2908##2909##IDS_ERROR_2909##2910##IDS_ERROR_2910##2911##IDS_ERROR_2911##2912##IDS_ERROR_2912##2919##IDS_ERROR_2919##2920##IDS_ERROR_2920##2924##IDS_ERROR_2924##2927##IDS_ERROR_2927##2928##IDS_ERROR_2928##2929##IDS_ERROR_2929##2932##IDS_ERROR_2932##2933##IDS_ERROR_2933##2934##IDS_ERROR_2934##2935##IDS_ERROR_2935##2936##IDS_ERROR_2936##2937##IDS_ERROR_2937##2938##IDS_ERROR_2938##2939##IDS_ERROR_2939##2940##IDS_ERROR_2940##2941##IDS_ERROR_2941##2942##IDS_ERROR_2942##2943##IDS_ERROR_2943##2944##IDS_ERROR_2944##2945##IDS_ERROR_2945##3001##IDS_ERROR_3001##3002##IDS_ERROR_3002##32##IDS_ERROR_20##33##IDS_ERROR_21##4##IDS_ERROR_3##5##IDS_ERROR_4##7##IDS_ERROR_5##8##IDS_ERROR_6##9##IDS_ERROR_7##
+ + + Dialog_ + Control_ + Event + Attribute + + + + + + + + + + + + + + + +
CustomSetupItemDescriptionSelectionDescriptionTextCustomSetupLocationSelectionPathTextCustomSetupSizeSelectionSizeTextSetupInitializationActionDataActionDataTextSetupInitializationActionTextActionTextTextSetupProgressActionProgress95AdminInstallFinalizeProgressSetupProgressActionProgress95InstallFilesProgressSetupProgressActionProgress95MoveFilesProgressSetupProgressActionProgress95RemoveFilesProgressSetupProgressActionProgress95RemoveRegistryValuesProgressSetupProgressActionProgress95SetProgressProgressSetupProgressActionProgress95UnmoveFilesProgressSetupProgressActionProgress95WriteIniValuesProgressSetupProgressActionProgress95WriteRegistryValuesProgressSetupProgressActionTextActionTextText
+ + + Extension + Component_ + ProgId_ + MIME_ + Feature_ +
+ + + Feature + Feature_Parent + Title + Description + Display + Level + Directory_ + Attributes + ISReleaseFlags + ISComments + ISFeatureCabName + ISProFeatureName +
AlwaysInstall##DN_AlwaysInstall##Enter the description for this feature here.01INSTALLDIR16Enter comments regarding this feature here. +
+ + + Feature_ + Component_ + + + + + + +
AlwaysInstallDriver.Primary_OutputAlwaysInstallISX_DEFAULTCOMPONENTAlwaysInstallISX_DEFAULTCOMPONENT1AlwaysInstallISX_DEFAULTCOMPONENT2AlwaysInstallISX_DEFAULTCOMPONENT5AlwaysInstallISX_DEFAULTCOMPONENT8
+ + + File + Component_ + FileName + FileSize + Version + Language + Attributes + Sequence + ISBuildSourcePath + ISAttributes + ISComponentSubFolder_ +
driver.primary_outputDriver.Primary_OutputDriver.Primary Output01<Driver>|Built3 +
+ + + File_ + SFPCatalog_ +
+ + + File_ + FontTitle +
+ + + Tag + Data + + + +
PROJECT_ASSISTANT_DEFAULT_FEATUREAlwaysInstallPROJECT_ASSISTANT_FEATURESNonSelectableRegistryPageEnabledYes
+ + + ISBillboard + Duration + Origin + X + Y + Effect + Sequence + Target + Color + Style + Font + Title + DisplayName +
+ + + Package + SourcePath + ProductCode + Order + Options + InstallCondition + RemoveCondition + InstallProperties + RemoveProperties + ISReleaseFlags + DisplayName +
+ + + Package_ + File + FilePath + Options + Data + ISBuildSourcePath +
+ + + Action_ + Name + Value +
+ + + ISComCatalogObject_ + ItemName + ItemValue +
+ + + ISComCatalogCollection + ISComCatalogObject_ + CollectionName +
+ + + ISComCatalogCollection_ + ISComCatalogObject_ +
+ + + ISComCatalogObject + DisplayName +
+ + + ISComCatalogObject_ + ComputerName + Component_ + ISAttributes + DepFiles +
+ + + ISComPlusApplicationDLL + ISComPlusApplication_ + ISComCatalogObject_ + CLSID + ProgId + DLL + AlterDLL +
+ + + ISComPlusProxy + ISComPlusApplication_ + Component_ + ISAttributes + DepFiles +
+ + + ISComPlusApplication_ + File_ + ISPath +
+ + + File_ + ISComPlusApplicationDLL_ +
+ + + ISComPlusApplication_ + File_ + ISPath +
+ + + File_ + ISComPlusApplicationDLL_ +
+ + + Component_ + OS + Language + FilterProperty + Platforms + FTPLocation + HTTPLocation + Miscellaneous +
Driver.Primary_Output_6B0D886F_5F9B_4AD9_BA79_FEB863FA9BBD_FILTER + ISX_DEFAULTCOMPONENT_68F02099_ECBD_477B_AE7A_79BC5B2A3E5D_FILTER + ISX_DEFAULTCOMPONENT1_12783AA6_E855_4519_9246_FAD7EE0687E2_FILTER + ISX_DEFAULTCOMPONENT2_BDD22E2D_EF96_4827_8926_CF85F962A9BB_FILTER + ISX_DEFAULTCOMPONENT5_8D0AE5D0_5EE6_47F1_935A_758607996F0E_FILTER + ISX_DEFAULTCOMPONENT8_4AF6AB67_B499_46FC_B210_E897282BDF90_FILTER +
+ + + Action_ + Description + FileType + ISCAReferenceFilePath +
+ + + ISDIMReference_ + RequiredUUID + RequiredMajorVersion + RequiredMinorVersion + RequiredBuildVersion + RequiredRevisionVersion +
+ + + ISDIMReference + ISBuildSourcePath +
+ + + ISDIMReference_Parent + ISDIMDependency_ +
+ + + ISDIMVariable + ISDIMReference_ + Name + NewValue + Type +
+ + + EntryPoint + Type + Source + Target +
+ + + ISDRMFile + File_ + ISDRMLicense_ + Shell +
+ + + ISDRMFile_ + Property + Value +
+ + + ISDRMLicense + Description + ProjectVersion + Attributes + LicenseNumber + RequestCode + ResponseCode +
+ + + ISDependency + Exclude +
+ + + ISDisk1File + ISBuildSourcePath + Disk +
+ + + Component_ + SourceFolder + IncludeFlags + IncludeFiles + ExcludeFiles + ISAttributes +
+ + + Feature_ + ISDIMReference_ +
+ + + Feature_ + ModuleID + Language +
+ + + Feature_ + ISMergeModule_ + Language_ +
+ + + Feature_ + ISSetupPrerequisites_ +
+ + + File_ + Manifest_ +
+ + + ISIISItem + ISIISItem_Parent + DisplayName + Type + Component_ +
+ + + ISIISProperty + ISIISItem_ + Schema + FriendlyName + MetaDataProp + MetaDataType + MetaDataUserType + MetaDataAttributes + MetaDataValue + Order + ISAttributes +
+ + + EntryPoint + Type + Source + Target +
+ + + ISLanguage + Included + +
10331
+ + + ISLinkerLibrary + Library + Order + + +
isrt.oblisrt.obl2iswi.obliswi.obl1
+ + + Dialog_ + Control_ + ISLanguage_ + Attributes + X + Y + Width + Height + Binary_ + ISBuildSourcePath +
+ + + Dialog_ + ISLanguage_ + Attributes + TextStyle_ + Width + Height +
+ + + Property + Order + ISLanguage_ + X + Y + Width + Height +
+ + + LockObject + Table + Domain + User + Permission + Attributes +
+ + + DiskId + ISProductConfiguration_ + ISRelease_ + LastSequence + DiskPrompt + Cabinet + VolumeLabel + Source +
+ + + ISLogicalDisk_ + ISProductConfiguration_ + ISRelease_ + Feature_ + Sequence + ISAttributes +
+ + + ISMergeModule + Language + Name + Destination + ISAttributes +
+ + + ISMergeModule_ + Language_ + ModuleConfiguration_ + Value + Format + Type + ContextData + DefaultValue + Attributes + DisplayName + Description + HelpLocation + HelpKeyword +
+ + + ObjectName + Language +
+ + + ObjectName + Property + Value + IncludeInBuild +
+ + + PatchConfiguration_ + UpgradedImage_ +
+ + + Name + CanPCDiffer + CanPVDiffer + IncludeWholeFiles + LeaveDecompressed + OptimizeForSize + EnablePatchCache + PatchCacheDir + Flags + PatchGuidsToReplace + TargetProductCodes + PatchGuid + OutputPath + MinMsiVersion + Attributes +
+ + + ISPatchConfiguration_ + Property + Value +
+ + + Name + ISUpgradedImage_ + FileKey + FilePath +
+ + + UpgradedImage + FileKey + Component +
+ + + ISPathVariable + Value + TestValue + Type + + + + + + + + + +
CommonFilesFolder1DriverDriver\driver.vcxproj2ISPROJECTDIR1ISProductFolder1ISProjectDataFolder1ISProjectFolder1ProgramFilesFolder1SystemFolder1WindowsFolder1
+ + + Action_ + Name + Value +
+ + + ISProductConfiguration + ProductConfigurationFlags + GeneratePackageCode + +
Express1
+ + + ISProductConfiguration_ + InstanceId + Property + Value +
+ + + ISProductConfiguration_ + Property + Value + +
ExpressSetupFileNameKylinODBCDriver (x64)
+ + + ISRelease + ISProductConfiguration_ + BuildLocation + PackageName + Type + SupportedLanguagesUI + MsiSourceType + ReleaseType + Platforms + SupportedLanguagesData + DefaultLanguage + SupportedOSs + DiskSize + DiskSizeUnit + DiskClusterSize + ReleaseFlags + DiskSpanning + SynchMsi + MediaLocation + URLLocation + DigitalURL + DigitalPVK + DigitalSPC + Password + VersionCopyright + Attributes + CDBrowser + DotNetBuildConfiguration + MsiCommandLine + ISSetupPrerequisiteLocation + + + + + + + + +
CD_ROMExpress<ISProjectDataFolder>Default0103302Intel10330650020480MediaLocationhttp://758053CustomExpress<ISProjectDataFolder>Default2103302Intel10330100010240MediaLocationhttp://758053DVD-10Express<ISProjectDataFolder>Default3103302Intel103308.75120480MediaLocationhttp://758053DVD-18Express<ISProjectDataFolder>Default3103302Intel1033015.83120480MediaLocationhttp://758053DVD-5Express<ISProjectDataFolder>Default3103302Intel103304.38120480MediaLocationhttp://758053DVD-9Express<ISProjectDataFolder>Default3103302Intel103307.95120480MediaLocationhttp://758053SingleImageExpress<ISProjectDataFolder>PackageName1103301Intel103300000MediaLocationhttp://Apache License1095973WebDeploymentExpress<ISProjectDataFolder>PackageName4103321Intel103300000MediaLocationhttp://1249413
+ + + ISRelease_ + ISProductConfiguration_ + Property + Value +
+ + + ISRelease_ + ISProductConfiguration_ + WebType + WebURL + WebCabSize + OneClickCabName + OneClickHtmlName + WebLocalCachePath + EngineLocation + Win9xMsiUrl + WinNTMsiUrl + ISEngineLocation + ISEngineURL + OneClickTargetBrowser + DigitalCertificateIdNS + DigitalCertificateDBaseNS + DigitalCertificatePasswordNS + DotNetRedistLocation + DotNetRedistURL + DotNetVersion + DotNetBaseLanguage + DotNetLangaugePacks + DotNetFxCmdLine + DotNetLangPackCmdLine + JSharpCmdLine + Attributes + JSharpRedistLocation + MsiEngineVersion + WinMsi30Url + CertPassword +
CD_ROMExpress0http://0installinstall[LocalAppDataFolder]Downloaded Installations0http://www.installengine.com/Msiengine20http://www.installengine.com/Msiengine200http://www.installengine.com/cert05/isengine03http://www.installengine.com/cert05/dotnetfx010333http://www.installengine.com/Msiengine30 + CustomExpress0http://0installinstall[LocalAppDataFolder]Downloaded Installations0http://www.installengine.com/Msiengine20http://www.installengine.com/Msiengine200http://www.installengine.com/cert05/isengine03http://www.installengine.com/cert05/dotnetfx010333http://www.installengine.com/Msiengine30 + DVD-10Express0http://0installinstall[LocalAppDataFolder]Downloaded Installations0http://www.installengine.com/Msiengine20http://www.installengine.com/Msiengine200http://www.installengine.com/cert05/isengine03http://www.installengine.com/cert05/dotnetfx010333http://www.installengine.com/Msiengine30 + DVD-18Express0http://0installinstall[LocalAppDataFolder]Downloaded Installations0http://www.installengine.com/Msiengine20http://www.installengine.com/Msiengine200http://www.installengine.com/cert05/isengine03http://www.installengine.com/cert05/dotnetfx010333http://www.installengine.com/Msiengine30 + DVD-5Express0http://0installinstall[LocalAppDataFolder]Downloaded Installations0http://www.installengine.com/Msiengine20http://www.installengine.com/Msiengine200http://www.installengine.com/cert05/isengine03http://www.installengine.com/cert05/dotnetfx010333http://www.installengine.com/Msiengine30 + DVD-9Express0http://0installinstall[LocalAppDataFolder]Downloaded Installations0http://www.installengine.com/Msiengine20http://www.installengine.com/Msiengine200http://www.installengine.com/cert05/isengine03http://www.installengine.com/cert05/dotnetfx010333http://www.installengine.com/Msiengine30 + SingleImageExpress0http://0installinstall[LocalAppDataFolder]Downloaded Installations1http://www.installengine.com/Msiengine20http://www.installengine.com/Msiengine200http://www.installengine.com/cert05/isengine03http://www.installengine.com/cert05/dotnetfx010333http://www.installengine.com/Msiengine30 + WebDeploymentExpress0http://0setupDefault[LocalAppDataFolder]Downloaded Installations2http://www.Installengine.com/Msiengine20http://www.Installengine.com/Msiengine200http://www.installengine.com/cert05/isengine03http://www.installengine.com/cert05/dotnetfx010333http://www.installengine.com/Msiengine30 +
+ + + ISRelease_ + ISProductConfiguration_ + Name + Value + +
SingleImageExpressSetupExeDescrInstallation file for Kylin ODBC
+ + + ISRelease_ + ISProductConfiguration_ + Repository + DisplayName + Publisher + Description + ISAttributes +
+ + + ISSQLConnection + Server + Database + UserName + Password + Authentication + Attributes + Order + Comments + CmdTimeout + BatchSeparator + ScriptVersion_Table + ScriptVersion_Column +
+ + + ISSQLConnectionDBServer + ISSQLConnection_ + ISSQLDBMetaData_ + Order +
+ + + ISSQLConnection_ + ISSQLScriptFile_ + Order +
+ + + ISSQLDBMetaData + DisplayName + AdoDriverName + AdoCxnDriver + AdoCxnServer + AdoCxnDatabase + AdoCxnUserID + AdoCxnPassword + AdoCxnWindowsSecurity + AdoCxnNetLibrary + TestDatabaseCmd + TestTableCmd + VersionInfoCmd + VersionBeginToken + VersionEndToken + LocalInstanceNames + CreateDbCmd + SwitchDbCmd + ISAttributes + TestTableCmd2 + WinAuthentUserId + DsnODBCName + AdoCxnPort + AdoCxnAdditional + QueryDatabasesCmd + CreateTableCmd + InsertRecordCmd + SelectTableCmd + ScriptVersion_Table + ScriptVersion_Column + ScriptVersion_ColumnType +
+ + + ISSQLRequirement + ISSQLConnection_ + MajorVersion + ServicePackLevel + Attributes + ISSQLConnectionDBServer_ +
+ + + ErrNumber + ISSQLScriptFile_ + ErrHandling + Message + Attributes +
+ + + ISSQLScriptFile + Component_ + Scheduling + InstallText + UninstallText + ISBuildSourcePath + Comments + ErrorHandling + Attributes + Version + Condition + DisplayName +
+ + + ISSQLScriptFile_ + Server + Database + UserName + Password + Authentication + IncludeTables + ExcludeTables + Attributes +
+ + + ISSQLScriptReplace + ISSQLScriptFile_ + Search + Replace + Attributes +
+ + + ISScriptFile +
+ + + FileKey + Cost + Order + CmdLine +
+ + + ISSetupFile + FileName + Stream + Language + Splash + Path +
+ + + ISSetupPrerequisites + ISBuildSourcePath + Order + ISSetupLocation + ISReleaseFlags +
+ + + ISSetupType + Description + Display_Name + Display + Comments +
Custom##IDS__IsSetupTypeMinDlg_ChooseFeatures####IDS__IsSetupTypeMinDlg_Custom##3 + Minimal##IDS__IsSetupTypeMinDlg_MinimumFeatures####IDS__IsSetupTypeMinDlg_Minimal##2 + Typical##IDS__IsSetupTypeMinDlg_AllFeatures####IDS__IsSetupTypeMinDlg_Typical##1 +
+ + + ISSetupType_ + Feature_ + + + +
CustomAlwaysInstallMinimalAlwaysInstallTypicalAlwaysInstall
+ + + Name + ISBuildSourcePath +
+ + + ISString + ISLanguage_ + Value + Encoded + Comment + TimeStamp + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
COMPANY_NAME1033kylinolap01965175470DN_AlwaysInstall1033Always Install0-761093519IDPROP_EXPRESS_LAUNCH_CONDITION_COLOR1033The color settings of your system are not adequate for running [ProductName].0-761093519IDPROP_EXPRESS_LAUNCH_CONDITION_OS1033The operating system is not adequate for running [ProductName].0-761093519IDPROP_EXPRESS_LAUNCH_CONDITION_PROCESSOR1033The processor is not adequate for running [ProductName].0-761093519IDPROP_EXPRESS_LAUNCH_CONDITION_RAM1033The amount of RAM is not adequate for running [ProductName].0-761093519IDPROP_EXPRESS_LAUNCH_CONDITION_SCREEN1033The screen resolution is not adequate for running [ProductName].0-761093519IDPROP_SETUPTYPE_COMPACT1033Compact0-761093519IDPROP_SETUPTYPE_COMPACT_DESC1033Compact Description0-761093519IDPROP_SETUPTYPE_COMPLETE1033Complete0-761093519IDPROP_SETUPTYPE_COMPLETE_DESC1033Complete0-761093519IDPROP_SETUPTYPE_CUSTOM1033Custom0-761093519IDPROP_SETUPTYPE_CUSTOM_DESC1033Custom Description0-761093519IDPROP_SETUPTYPE_CUSTOM_DESC_PRO1033Custom0-761093519IDPROP_SETUPTYPE_TYPICAL1033Typical0-761093519IDPROP_SETUPTYPE_TYPICAL_DESC1033Typical Description0-761093519IDS_ACTIONTEXT_11033[1]0-761093519IDS_ACTIONTEXT_1b1033[1]0-761093519IDS_ACTIONTEXT_1c1033[1]0-761093519IDS_ACTIONTEXT_1d1033[1]0-761093519IDS_ACTIONTEXT_Advertising1033Advertising application0-761093519IDS_ACTIONTEXT_AllocatingRegistry1033Allocating registry space0-761093519IDS_ACTIONTEXT_AppCommandLine1033Application: [1], Command line: [2]0-761093519IDS_ACTIONTEXT_AppId1033AppId: [1]{{, AppType: [2]}}0-761093519IDS_ACTIONTEXT_AppIdAppTypeRSN1033AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}0-761093519IDS_ACTIONTEXT_Application1033Application: [1]0-761093519IDS_ACTIONTEXT_BindingExes1033Binding executables0-761093519IDS_ACTIONTEXT_ClassId1033Class ID: [1]0-761093519IDS_ACTIONTEXT_ClsID1033Class ID: [1]0-761093519IDS_ACTIONTEXT_ComponentIDQualifier1033Component ID: [1], Qualifier: [2]0-761093519IDS_ACTIONTEXT_ComponentIdQualifier21033Component ID: [1], Qualifier: [2]0-761093519IDS_ACTIONTEXT_ComputingSpace1033Computing space requirements0-761093519IDS_ACTIONTEXT_ComputingSpace21033Computing space requirements0-761093519IDS_ACTIONTEXT_ComputingSpace31033Computing space requirements0-761093519IDS_ACTIONTEXT_ContentTypeExtension1033MIME Content Type: [1], Extension: [2]0-761093519IDS_ACTIONTEXT_ContentTypeExtension21033MIME Content Type: [1], Extension: [2]0-761093519IDS_ACTIONTEXT_CopyingNetworkFiles1033Copying files to the network0-761093519IDS_ACTIONTEXT_CopyingNewFiles1033Copying new files0-761093519IDS_ACTIONTEXT_CreatingDuplicate1033Creating duplicate files0-761093519IDS_ACTIONTEXT_CreatingFolders1033Creating folders0-761093519IDS_ACTIONTEXT_CreatingIISRoots1033Creating IIS Virtual Roots...0-761093519IDS_ACTIONTEXT_CreatingShortcuts1033Creating shortcuts0-761093519IDS_ACTIONTEXT_DeletingServices1033Deleting services0-761093519IDS_ACTIONTEXT_EnvironmentStrings1033Updating environment strings0-761093519IDS_ACTIONTEXT_EvaluateLaunchConditions1033Evaluating launch conditions0-761093519IDS_ACTIONTEXT_Extension1033Extension: [1]0-761093519IDS_ACTIONTEXT_Extension21033Extension: [1]0-761093519IDS_ACTIONTEXT_Feature1033Feature: [1]0-761093519IDS_ACTIONTEXT_FeatureColon1033Feature: [1]0-761093519IDS_ACTIONTEXT_File1033File: [1]0-761093519IDS_ACTIONTEXT_File21033File: [1]0-761093519IDS_ACTIONTEXT_FileDependencies1033File: [1], Dependencies: [2]0-761093519IDS_ACTIONTEXT_FileDir1033File: [1], Directory: [9]0-761093519IDS_ACTIONTEXT_FileDir21033File: [1], Directory: [9]0-761093519IDS_ACTIONTEXT_FileDir31033File: [1], Directory: [9]0-761093519IDS_ACTIONTEXT_FileDirSize1033File: [1], Directory: [9], Size: [6]0-761093519IDS_ACTIONTEXT_FileDirSize21033File: [1], Directory: [9], Size: [6]0-761093519IDS_ACTIONTEXT_FileDirSize31033File: [1], Directory: [9], Size: [6]0-761093519IDS_ACTIONTEXT_FileDirSize41033File: [1], Directory: [2], Size: [3]0-761093519IDS_ACTIONTEXT_FileDirectorySize1033File: [1], Directory: [9], Size: [6]0-761093519IDS_ACTIONTEXT_FileFolder1033File: [1], Folder: [2]0-761093519IDS_ACTIONTEXT_FileFolder21033File: [1], Folder: [2]0-761093519IDS_ACTIONTEXT_FileSectionKeyValue1033File: [1], Section: [2], Key: [3], Value: [4]0-761093519IDS_ACTIONTEXT_FileSectionKeyValue21033File: [1], Section: [2], Key: [3], Value: [4]0-761093519IDS_ACTIONTEXT_Folder1033Folder: [1]0-761093519IDS_ACTIONTEXT_Folder11033Folder: [1]0-761093519IDS_ACTIONTEXT_Font1033Font: [1]0-761093519IDS_ACTIONTEXT_Font21033Font: [1]0-761093519IDS_ACTIONTEXT_FoundApp1033Found application: [1]0-761093519IDS_ACTIONTEXT_FreeSpace1033Free space: [1]0-761093519IDS_ACTIONTEXT_GeneratingScript1033Generating script operations for action:0-761093519IDS_ACTIONTEXT_ISLockPermissionsCost1033Gathering permissions information for objects...0-761093519IDS_ACTIONTEXT_ISLockPermissionsInstall1033Applying permissions information for objects...0-761093519IDS_ACTIONTEXT_InitializeODBCDirs1033Initializing ODBC directories0-761093519IDS_ACTIONTEXT_InstallODBC1033Installing ODBC components0-761093519IDS_ACTIONTEXT_InstallServices1033Installing new services0-761093519IDS_ACTIONTEXT_InstallingSystemCatalog1033Installing system catalog0-761093519IDS_ACTIONTEXT_KeyName1033Key: [1], Name: [2]0-761093519IDS_ACTIONTEXT_KeyNameValue1033Key: [1], Name: [2], Value: [3]0-761093519IDS_ACTIONTEXT_LibId1033LibID: [1]0-761093519IDS_ACTIONTEXT_Libid21033LibID: [1]0-761093519IDS_ACTIONTEXT_MigratingFeatureStates1033Migrating feature states from related applications0-761093519IDS_ACTIONTEXT_MovingFiles1033Moving files0-761093519IDS_ACTIONTEXT_NameValueAction1033Name: [1], Value: [2], Action [3]0-761093519IDS_ACTIONTEXT_NameValueAction21033Name: [1], Value: [2], Action [3]0-761093519IDS_ACTIONTEXT_PatchingFiles1033Patching files0-761093519IDS_ACTIONTEXT_ProgID1033ProgID: [1]0-761093519IDS_ACTIONTEXT_ProgID21033ProgID: [1]0-761093519IDS_ACTIONTEXT_PropertySignature1033Property: [1], Signature: [2]0-761093519IDS_ACTIONTEXT_PublishProductFeatures1033Publishing product features0-761093519IDS_ACTIONTEXT_PublishProductInfo1033Publishing product information0-761093519IDS_ACTIONTEXT_PublishingQualifiedComponents1033Publishing qualified components0-761093519IDS_ACTIONTEXT_RegUser1033Registering user0-761093519IDS_ACTIONTEXT_RegisterClassServer1033Registering class servers0-761093519IDS_ACTIONTEXT_RegisterExtensionServers1033Registering extension servers0-761093519IDS_ACTIONTEXT_RegisterFonts1033Registering fonts0-761093519IDS_ACTIONTEXT_RegisterMimeInfo1033Registering MIME info0-761093519IDS_ACTIONTEXT_RegisterTypeLibs1033Registering type libraries0-761093519IDS_ACTIONTEXT_RegisteringComPlus1033Registering COM+ Applications and Components0-761093519IDS_ACTIONTEXT_RegisteringModules1033Registering modules0-761093519IDS_ACTIONTEXT_RegisteringProduct1033Registering product0-761093519IDS_ACTIONTEXT_RegisteringProgIdentifiers1033Registering program identifiers0-761093519IDS_ACTIONTEXT_RemoveApps1033Removing applications0-761093519IDS_ACTIONTEXT_RemovingBackup1033Removing backup files0-761093519IDS_ACTIONTEXT_RemovingDuplicates1033Removing duplicated files0-761093519IDS_ACTIONTEXT_RemovingFiles1033Removing files0-761093519IDS_ACTIONTEXT_RemovingFolders1033Removing folders0-761093519IDS_ACTIONTEXT_RemovingIISRoots1033Removing IIS Virtual Roots...0-761093519IDS_ACTIONTEXT_RemovingIni1033Removing INI file entries0-761093519IDS_ACTIONTEXT_RemovingMoved1033Removing moved files0-761093519IDS_ACTIONTEXT_RemovingODBC1033Removing ODBC components0-761093519IDS_ACTIONTEXT_RemovingRegistry1033Removing system registry values0-761093519IDS_ACTIONTEXT_RemovingShortcuts1033Removing shortcuts0-761093519IDS_ACTIONTEXT_RollingBack1033Rolling back action:0-761093519IDS_ACTIONTEXT_SearchForRelated1033Searching for related applications0-761093519IDS_ACTIONTEXT_SearchInstalled1033Searching for installed applications0-761093519IDS_ACTIONTEXT_SearchingQualifyingProducts1033Searching for qualifying products0-761093519IDS_ACTIONTEXT_SearchingQualifyingProducts21033Searching for qualifying products0-761093519IDS_ACTIONTEXT_Service1033Service: [1]0-761093519IDS_ACTIONTEXT_Service21033Service: [2]0-761093519IDS_ACTIONTEXT_Service31033Service: [1]0-761093519IDS_ACTIONTEXT_Service41033Service: [1]0-761093519IDS_ACTIONTEXT_Shortcut1033Shortcut: [1]0-761093519IDS_ACTIONTEXT_Shortcut11033Shortcut: [1]0-761093519IDS_ACTIONTEXT_StartingServices1033Starting services0-761093519IDS_ACTIONTEXT_StoppingServices1033Stopping services0-761093519IDS_ACTIONTEXT_UnpublishProductFeatures1033Unpublishing product features0-761093519IDS_ACTIONTEXT_UnpublishQualified1033Unpublishing Qualified Components0-761093519IDS_ACTIONTEXT_UnpublishingProductInfo1033Unpublishing product information0-761093519IDS_ACTIONTEXT_UnregTypeLibs1033Unregistering type libraries0-761093519IDS_ACTIONTEXT_UnregisterClassServers1033Unregister class servers0-761093519IDS_ACTIONTEXT_UnregisterExtensionServers1033Unregistering extension servers0-761093519IDS_ACTIONTEXT_UnregisterModules1033Unregistering modules0-761093519IDS_ACTIONTEXT_UnregisteringComPlus1033Unregistering COM+ Applications and Components0-761093519IDS_ACTIONTEXT_UnregisteringFonts1033Unregistering fonts0-761093519IDS_ACTIONTEXT_UnregisteringMimeInfo1033Unregistering MIME info0-761093519IDS_ACTIONTEXT_UnregisteringProgramIds1033Unregistering program identifiers0-761093519IDS_ACTIONTEXT_UpdateComponentRegistration1033Updating component registration0-761093519IDS_ACTIONTEXT_UpdateEnvironmentStrings1033Updating environment strings0-761093519IDS_ACTIONTEXT_Validating1033Validating install0-761093519IDS_ACTIONTEXT_WritingINI1033Writing INI file values0-761093519IDS_ACTIONTEXT_WritingRegistry1033Writing system registry values0-761093519IDS_BACK1033< &Back0-761093519IDS_CANCEL1033Cancel0-761093519IDS_CANCEL21033&Cancel0-761093519IDS_CHANGE1033&Change...0-761093519IDS_COMPLUS_PROGRESSTEXT_COST1033Costing COM+ application: [1]0-761093519IDS_COMPLUS_PROGRESSTEXT_INSTALL1033Installing COM+ application: [1]0-761093519IDS_COMPLUS_PROGRESSTEXT_UNINSTALL1033Uninstalling COM+ application: [1]0-761093519IDS_DIALOG_TEXT2_DESCRIPTION1033Dialog Normal Description0-761093519IDS_DIALOG_TEXT_DESCRIPTION_EXTERIOR1033{&TahomaBold10}Dialog Bold Title0-761093519IDS_DIALOG_TEXT_DESCRIPTION_INTERIOR1033{&MSSansBold8}Dialog Bold Title0-761093519IDS_DIFX_AMD641033[ProductName] requires an X64 processor. Click OK to exit the wizard.0-761093519IDS_DIFX_IA641033[ProductName] requires an IA64 processor. Click OK to exit the wizard.0-761093519IDS_DIFX_X861033[ProductName] requires an X86 processor. Click OK to exit the wizard.0-761093519IDS_DatabaseFolder_InstallDatabaseTo1033Install [ProductName] database to:0-761093519IDS_ERROR_01033{{Fatal error: }}0-761093519IDS_ERROR_11033Error [1]. 0-761093519IDS_ERROR_101033=== Logging started: [Date] [Time] ===0-761093519IDS_ERROR_1001033Could not remove shortcut [2]. Verify that the shortcut file exists and that you can access it.0-761093519IDS_ERROR_1011033Could not register type library for file [2]. Contact your support personnel.0-761093519IDS_ERROR_1021033Could not unregister type library for file [2]. Contact your support personnel.0-761093519IDS_ERROR_1031033Could not update the INI file [2][3]. Verify that the file exists and that you can access it.0-761093519IDS_ERROR_1041033Could not schedule file [2] to replace file [3] on reboot. Verify that you have write permissions to file [3].0-761093519IDS_ERROR_1051033Error removing ODBC driver manager, ODBC error [2]: [3]. Contact your support personnel.0-761093519IDS_ERROR_1061033Error installing ODBC driver manager, ODBC error [2]: [3]. Contact your support personnel.0-761093519IDS_ERROR_1071033Error removing ODBC driver [4], ODBC error [2]: [3]. Verify that you have sufficient privileges to remove ODBC drivers.0-761093519IDS_ERROR_1081033Error installing ODBC driver [4], ODBC error [2]: [3]. Verify that the file [4] exists and that you can access it.0-761093519IDS_ERROR_1091033Error configuring ODBC data source [4], ODBC error [2]: [3]. Verify that the file [4] exists and that you can access it.0-761093519IDS_ERROR_111033=== Logging stopped: [Date] [Time] ===0-761093519IDS_ERROR_1101033Service [2] ([3]) failed to start. Verify that you have sufficient privileges to start system services.0-761093519IDS_ERROR_1111033Service [2] ([3]) could not be stopped. Verify that you have sufficient privileges to stop system services.0-761093519IDS_ERROR_1121033Service [2] ([3]) could not be deleted. Verify that you have sufficient privileges to remove system services.0-761093519IDS_ERROR_1131033Service [2] ([3]) could not be installed. Verify that you have sufficient privileges to install system services.0-761093519IDS_ERROR_1141033Could not update environment variable [2]. Verify that you have sufficient privileges to modify environment variables.0-761093519IDS_ERROR_1151033You do not have sufficient privileges to complete this installation for all users of the machine. Log on as an administrator and then retry this installation.0-761093519IDS_ERROR_1161033Could not set file security for file [3]. Error: [2]. Verify that you have sufficient privileges to modify the security permissions for this file.0-761093519IDS_ERROR_1171033Component Services (COM+ 1.0) are not installed on this computer. This installation requires Component Services in order to complete successfully. Component Services are available on Windows 2000.0-761093519IDS_ERROR_1181033Error registering COM+ application. Contact your support personnel for more information.0-761093519IDS_ERROR_1191033Error unregistering COM+ application. Contact your support personnel for more information.0-761093519IDS_ERROR_121033Action start [Time]: [1].0-761093519IDS_ERROR_1201033Removing older versions of this application0-761093519IDS_ERROR_1211033Preparing to remove older versions of this application0-761093519IDS_ERROR_1221033Error applying patch to file [2]. It has probably been updated by other means, and can no longer be modified by this patch. For more information contact your patch vendor. {{System Error: [3]}}0-761093519IDS_ERROR_1231033[2] cannot install one of its required products. Contact your technical support group. {{System Error: [3].}}0-761093519IDS_ERROR_1241033The older version of [2] cannot be removed. Contact your technical support group. {{System Error [3].}}0-761093519IDS_ERROR_1251033The description for service '[2]' ([3]) could not be changed.0-761093519IDS_ERROR_1261033The Windows Installer service cannot update the system file [2] because the file is protected by Windows. You may need to update your operating system for this program to work correctly. {{Package version: [3], OS Protected version: [4]}}0-761093519IDS_ERROR_1271033The Windows Installer service cannot update the protected Windows file [2]. {{Package version: [3], OS Protected version: [4], SFP Error: [5]}}0-761093519IDS_ERROR_1281033The Windows Installer service cannot update one or more protected Windows files. SFP Error: [2]. List of protected files: [3]0-761093519IDS_ERROR_1291033User installations are disabled via policy on the machine.0-761093519IDS_ERROR_131033Action ended [Time]: [1]. Return value [2].0-761093519IDS_ERROR_1301033This setup requires Internet Information Server 4.0 or higher for configuring IIS Virtual Roots. Please make sure that you have IIS 4.0 or higher.0-761093519IDS_ERROR_1311033This setup requires Administrator privileges for configuring IIS Virtual Roots.0-761093519IDS_ERROR_13291033A file that is required cannot be installed because the cabinet file [2] is not digitally signed. This may indicate that the cabinet file is corrupt.0-761093519IDS_ERROR_13301033A file that is required cannot be installed because the cabinet file [2] has an invalid digital signature. This may indicate that the cabinet file is corrupt.{ Error [3] was returned by WinVerifyTrust.}0-761093519IDS_ERROR_13311033Failed to correctly copy [2] file: CRC error.0-761093519IDS_ERROR_13321033Failed to correctly patch [2] file: CRC error.0-761093519IDS_ERROR_13331033Failed to correctly patch [2] file: CRC error.0-761093519IDS_ERROR_13341033The file '[2]' cannot be installed because the file cannot be found in cabinet file '[3]'. This could indicate a network error, an error reading from the CD-ROM, or a problem with this package.0-761093519IDS_ERROR_13351033The cabinet file '[2]' required for this installation is corrupt and cannot be used. This could indicate a network error, an error reading from the CD-ROM, or a problem with this package.0-761093519IDS_ERROR_13361033There was an error creating a temporary file that is needed to complete this installation. Folder: [3]. System error code: [2]0-761093519IDS_ERROR_141033Time remaining: {[1] minutes }{[2] seconds}0-761093519IDS_ERROR_151033Out of memory. Shut down other applications before retrying.0-761093519IDS_ERROR_161033Installer is no longer responding.0-761093519IDS_ERROR_16091033An error occurred while applying security settings. [2] is not a valid user or group. This could be a problem with the package, or a problem connecting to a domain controller on the network. Check your network connection and click Retry, or Cancel to end the install. Unable to locate the user's SID, system error [3]0-761093519IDS_ERROR_16511033Admin user failed to apply patch for a per-user managed or a per-machine application which is in advertise state.0-761093519IDS_ERROR_171033Installer terminated prematurely.0-761093519IDS_ERROR_17151033Installed [2].0-761093519IDS_ERROR_17161033Configured [2].0-761093519IDS_ERROR_17171033Removed [2].0-761093519IDS_ERROR_17181033File [2] was rejected by digital signature policy.0-761093519IDS_ERROR_17191033Windows Installer service could not be accessed. Contact your support personnel to verify that it is properly registered and enabled.0-761093519IDS_ERROR_17201033There is a problem with this Windows Installer package. A script required for this install to complete could not be run. Contact your support personnel or package vendor. Custom action [2] script error [3], [4]: [5] Line [6], Column [7], [8]0-761093519IDS_ERROR_17211033There is a problem with this Windows Installer package. A program required for this install to complete could not be run. Contact your support personnel or package vendor. Action: [2], location: [3], command: [4]0-761093519IDS_ERROR_17221033There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor. Action [2], location: [3], command: [4]0-761093519IDS_ERROR_17231033There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run. Contact your support personnel or package vendor. Action [2], entry: [3], library: [4]0-761093519IDS_ERROR_17241033Removal completed successfully.0-761093519IDS_ERROR_17251033Removal failed.0-761093519IDS_ERROR_17261033Advertisement completed successfully.0-761093519IDS_ERROR_17271033Advertisement failed.0-761093519IDS_ERROR_17281033Configuration completed successfully.0-761093519IDS_ERROR_17291033Configuration failed.0-761093519IDS_ERROR_17301033You must be an Administrator to remove this application. To remove this application, you can log on as an administrator, or contact your technical support group for assistance.0-761093519IDS_ERROR_17311033The source installation package for the product [2] is out of sync with the client package. Try the installation again using a valid copy of the installation package '[3]'.0-761093519IDS_ERROR_17321033In order to complete the installation of [2], you must restart the computer. Other users are currently logged on to this computer, and restarting may cause them to lose their work. Do you want to restart now?0-761093519IDS_ERROR_181033Please wait while Windows configures [ProductName]0-761093519IDS_ERROR_191033Gathering required information...0-761093519IDS_ERROR_19351033An error occurred during the installation of assembly component [2]. HRESULT: [3]. {{assembly interface: [4], function: [5], assembly name: [6]}}0-761093519IDS_ERROR_19361033An error occurred during the installation of assembly '[6]'. The assembly is not strongly named or is not signed with the minimal key length. HRESULT: [3]. {{assembly interface: [4], function: [5], component: [2]}}0-761093519IDS_ERROR_19371033An error occurred during the installation of assembly '[6]'. The signature or catalog could not be verified or is not valid. HRESULT: [3]. {{assembly interface: [4], function: [5], component: [2]}}0-761093519IDS_ERROR_19381033An error occurred during the installation of assembly '[6]'. One or more modules of the assembly could not be found. HRESULT: [3]. {{assembly interface: [4], function: [5], component: [2]}}0-761093519IDS_ERROR_21033Warning [1]. 0-761093519IDS_ERROR_201033{[ProductName] }Setup completed successfully.0-761093519IDS_ERROR_211033{[ProductName] }Setup failed.0-761093519IDS_ERROR_21011033Shortcuts not supported by the operating system.0-761093519IDS_ERROR_21021033Invalid .ini action: [2]0-761093519IDS_ERROR_21031033Could not resolve path for shell folder [2].0-761093519IDS_ERROR_21041033Writing .ini file: [3]: System error: [2].0-761093519IDS_ERROR_21051033Shortcut Creation [3] Failed. System error: [2].0-761093519IDS_ERROR_21061033Shortcut Deletion [3] Failed. System error: [2].0-761093519IDS_ERROR_21071033Error [3] registering type library [2].0-761093519IDS_ERROR_21081033Error [3] unregistering type library [2].0-761093519IDS_ERROR_21091033Section missing for .ini action.0-761093519IDS_ERROR_21101033Key missing for .ini action.0-761093519IDS_ERROR_21111033Detection of running applications failed, could not get performance data. Registered operation returned : [2].0-761093519IDS_ERROR_21121033Detection of running applications failed, could not get performance index. Registered operation returned : [2].0-761093519IDS_ERROR_21131033Detection of running applications failed.0-761093519IDS_ERROR_221033Error reading from file: [2]. {{ System error [3].}} Verify that the file exists and that you can access it.0-761093519IDS_ERROR_22001033Database: [2]. Database object creation failed, mode = [3].0-761093519IDS_ERROR_22011033Database: [2]. Initialization failed, out of memory.0-761093519IDS_ERROR_22021033Database: [2]. Data access failed, out of memory.0-761093519IDS_ERROR_22031033Database: [2]. Cannot open database file. System error [3].0-761093519IDS_ERROR_22041033Database: [2]. Table already exists: [3].0-761093519IDS_ERROR_22051033Database: [2]. Table does not exist: [3].0-761093519IDS_ERROR_22061033Database: [2]. Table could not be dropped: [3].0-761093519IDS_ERROR_22071033Database: [2]. Intent violation.0-761093519IDS_ERROR_22081033Database: [2]. Insufficient parameters for Execute.0-761093519IDS_ERROR_22091033Database: [2]. Cursor in invalid state.0-761093519IDS_ERROR_22101033Database: [2]. Invalid update data type in column [3].0-761093519IDS_ERROR_22111033Database: [2]. Could not create database table [3].0-761093519IDS_ERROR_22121033Database: [2]. Database not in writable state.0-761093519IDS_ERROR_22131033Database: [2]. Error saving database tables.0-761093519IDS_ERROR_22141033Database: [2]. Error writing export file: [3].0-761093519IDS_ERROR_22151033Database: [2]. Cannot open import file: [3].0-761093519IDS_ERROR_22161033Database: [2]. Import file format error: [3], Line [4].0-761093519IDS_ERROR_22171033Database: [2]. Wrong state to CreateOutputDatabase [3].0-761093519IDS_ERROR_22181033Database: [2]. Table name not supplied.0-761093519IDS_ERROR_22191033Database: [2]. Invalid Installer database format.0-761093519IDS_ERROR_22201033Database: [2]. Invalid row/field data.0-761093519IDS_ERROR_22211033Database: [2]. Code page conflict in import file: [3].0-761093519IDS_ERROR_22221033Database: [2]. Transform or merge code page [3] differs from database code page [4].0-761093519IDS_ERROR_22231033Database: [2]. Databases are the same. No transform generated.0-761093519IDS_ERROR_22241033Database: [2]. GenerateTransform: Database corrupt. Table: [3].0-761093519IDS_ERROR_22251033Database: [2]. Transform: Cannot transform a temporary table. Table: [3].0-761093519IDS_ERROR_22261033Database: [2]. Transform failed.0-761093519IDS_ERROR_22271033Database: [2]. Invalid identifier '[3]' in SQL query: [4].0-761093519IDS_ERROR_22281033Database: [2]. Unknown table '[3]' in SQL query: [4].0-761093519IDS_ERROR_22291033Database: [2]. Could not load table '[3]' in SQL query: [4].0-761093519IDS_ERROR_22301033Database: [2]. Repeated table '[3]' in SQL query: [4].0-761093519IDS_ERROR_22311033Database: [2]. Missing ')' in SQL query: [3].0-761093519IDS_ERROR_22321033Database: [2]. Unexpected token '[3]' in SQL query: [4].0-761093519IDS_ERROR_22331033Database: [2]. No columns in SELECT clause in SQL query: [3].0-761093519IDS_ERROR_22341033Database: [2]. No columns in ORDER BY clause in SQL query: [3].0-761093519IDS_ERROR_22351033Database: [2]. Column '[3]' not present or ambiguous in SQL query: [4].0-761093519IDS_ERROR_22361033Database: [2]. Invalid operator '[3]' in SQL query: [4].0-761093519IDS_ERROR_22371033Database: [2]. Invalid or missing query string: [3].0-761093519IDS_ERROR_22381033Database: [2]. Missing FROM clause in SQL query: [3].0-761093519IDS_ERROR_22391033Database: [2]. Insufficient values in INSERT SQL statement.0-761093519IDS_ERROR_22401033Database: [2]. Missing update columns in UPDATE SQL statement.0-761093519IDS_ERROR_22411033Database: [2]. Missing insert columns in INSERT SQL statement.0-761093519IDS_ERROR_22421033Database: [2]. Column '[3]' repeated.0-761093519IDS_ERROR_22431033Database: [2]. No primary columns defined for table creation.0-761093519IDS_ERROR_22441033Database: [2]. Invalid type specifier '[3]' in SQL query [4].0-761093519IDS_ERROR_22451033IStorage::Stat failed with error [3].0-761093519IDS_ERROR_22461033Database: [2]. Invalid Installer transform format.0-761093519IDS_ERROR_22471033Database: [2] Transform stream read/write failure.0-761093519IDS_ERROR_22481033Database: [2] GenerateTransform/Merge: Column type in base table does not match reference table. Table: [3] Col #: [4].0-761093519IDS_ERROR_22491033Database: [2] GenerateTransform: More columns in base table than in reference table. Table: [3].0-761093519IDS_ERROR_22501033Database: [2] Transform: Cannot add existing row. Table: [3].0-761093519IDS_ERROR_22511033Database: [2] Transform: Cannot delete row that does not exist. Table: [3].0-761093519IDS_ERROR_22521033Database: [2] Transform: Cannot add existing table. Table: [3].0-761093519IDS_ERROR_22531033Database: [2] Transform: Cannot delete table that does not exist. Table: [3].0-761093519IDS_ERROR_22541033Database: [2] Transform: Cannot update row that does not exist. Table: [3].0-761093519IDS_ERROR_22551033Database: [2] Transform: Column with this name already exists. Table: [3] Col: [4].0-761093519IDS_ERROR_22561033Database: [2] GenerateTransform/Merge: Number of primary keys in base table does not match reference table. Table: [3].0-761093519IDS_ERROR_22571033Database: [2]. Intent to modify read only table: [3].0-761093519IDS_ERROR_22581033Database: [2]. Type mismatch in parameter: [3].0-761093519IDS_ERROR_22591033Database: [2] Table(s) Update failed0-761093519IDS_ERROR_22601033Storage CopyTo failed. System error: [3].0-761093519IDS_ERROR_22611033Could not remove stream [2]. System error: [3].0-761093519IDS_ERROR_22621033Stream does not exist: [2]. System error: [3].0-761093519IDS_ERROR_22631033Could not open stream [2]. System error: [3].0-761093519IDS_ERROR_22641033Could not remove stream [2]. System error: [3].0-761093519IDS_ERROR_22651033Could not commit storage. System error: [3].0-761093519IDS_ERROR_22661033Could not rollback storage. System error: [3].0-761093519IDS_ERROR_22671033Could not delete storage [2]. System error: [3].0-761093519IDS_ERROR_22681033Database: [2]. Merge: There were merge conflicts reported in [3] tables.0-761093519IDS_ERROR_22691033Database: [2]. Merge: The column count differed in the '[3]' table of the two databases.0-761093519IDS_ERROR_22701033Database: [2]. GenerateTransform/Merge: Column name in base table does not match reference table. Table: [3] Col #: [4].0-761093519IDS_ERROR_22711033SummaryInformation write for transform failed.0-761093519IDS_ERROR_22721033Database: [2]. MergeDatabase will not write any changes because the database is open read-only.0-761093519IDS_ERROR_22731033Database: [2]. MergeDatabase: A reference to the base database was passed as the reference database.0-761093519IDS_ERROR_22741033Database: [2]. MergeDatabase: Unable to write errors to Error table. Could be due to a non-nullable column in a predefined Error table.0-761093519IDS_ERROR_22751033Database: [2]. Specified Modify [3] operation invalid for table joins.0-761093519IDS_ERROR_22761033Database: [2]. Code page [3] not supported by the system.0-761093519IDS_ERROR_22771033Database: [2]. Failed to save table [3].0-761093519IDS_ERROR_22781033Database: [2]. Exceeded number of expressions limit of 32 in WHERE clause of SQL query: [3].0-761093519IDS_ERROR_22791033Database: [2] Transform: Too many columns in base table [3].0-761093519IDS_ERROR_22801033Database: [2]. Could not create column [3] for table [4].0-761093519IDS_ERROR_22811033Could not rename stream [2]. System error: [3].0-761093519IDS_ERROR_22821033Stream name invalid [2].0-761093519IDS_ERROR_231033Cannot create the file [3]. A directory with this name already exists. Cancel the installation and try installing to a different location.0-761093519IDS_ERROR_23021033Patch notify: [2] bytes patched to far.0-761093519IDS_ERROR_23031033Error getting volume info. GetLastError: [2].0-761093519IDS_ERROR_23041033Error getting disk free space. GetLastError: [2]. Volume: [3].0-761093519IDS_ERROR_23051033Error waiting for patch thread. GetLastError: [2].0-761093519IDS_ERROR_23061033Could not create thread for patch application. GetLastError: [2].0-761093519IDS_ERROR_23071033Source file key name is null.0-761093519IDS_ERROR_23081033Destination file name is null.0-761093519IDS_ERROR_23091033Attempting to patch file [2] when patch already in progress.0-761093519IDS_ERROR_23101033Attempting to continue patch when no patch is in progress.0-761093519IDS_ERROR_23151033Missing path separator: [2].0-761093519IDS_ERROR_23181033File does not exist: [2].0-761093519IDS_ERROR_23191033Error setting file attribute: [3] GetLastError: [2].0-761093519IDS_ERROR_23201033File not writable: [2].0-761093519IDS_ERROR_23211033Error creating file: [2].0-761093519IDS_ERROR_23221033User canceled.0-761093519IDS_ERROR_23231033Invalid file attribute.0-761093519IDS_ERROR_23241033Could not open file: [3] GetLastError: [2].0-761093519IDS_ERROR_23251033Could not get file time for file: [3] GetLastError: [2].0-761093519IDS_ERROR_23261033Error in FileToDosDateTime.0-761093519IDS_ERROR_23271033Could not remove directory: [3] GetLastError: [2].0-761093519IDS_ERROR_23281033Error getting file version info for file: [2].0-761093519IDS_ERROR_23291033Error deleting file: [3]. GetLastError: [2].0-761093519IDS_ERROR_23301033Error getting file attributes: [3]. GetLastError: [2].0-761093519IDS_ERROR_23311033Error loading library [2] or finding entry point [3].0-761093519IDS_ERROR_23321033Error getting file attributes. GetLastError: [2].0-761093519IDS_ERROR_23331033Error setting file attributes. GetLastError: [2].0-761093519IDS_ERROR_23341033Error converting file time to local time for file: [3]. GetLastError: [2].0-761093519IDS_ERROR_23351033Path: [2] is not a parent of [3].0-761093519IDS_ERROR_23361033Error creating temp file on path: [3]. GetLastError: [2].0-761093519IDS_ERROR_23371033Could not close file: [3] GetLastError: [2].0-761093519IDS_ERROR_23381033Could not update resource for file: [3] GetLastError: [2].0-761093519IDS_ERROR_23391033Could not set file time for file: [3] GetLastError: [2].0-761093519IDS_ERROR_23401033Could not update resource for file: [3], Missing resource.0-761093519IDS_ERROR_23411033Could not update resource for file: [3], Resource too large.0-761093519IDS_ERROR_23421033Could not update resource for file: [3] GetLastError: [2].0-761093519IDS_ERROR_23431033Specified path is empty.0-761093519IDS_ERROR_23441033Could not find required file IMAGEHLP.DLL to validate file:[2].0-761093519IDS_ERROR_23451033[2]: File does not contain a valid checksum value.0-761093519IDS_ERROR_23471033User ignore.0-761093519IDS_ERROR_23481033Error attempting to read from cabinet stream.0-761093519IDS_ERROR_23491033Copy resumed with different info.0-761093519IDS_ERROR_23501033FDI server error0-761093519IDS_ERROR_23511033File key '[2]' not found in cabinet '[3]'. The installation cannot continue.0-761093519IDS_ERROR_23521033Could not initialize cabinet file server. The required file 'CABINET.DLL' may be missing.0-761093519IDS_ERROR_23531033Not a cabinet.0-761093519IDS_ERROR_23541033Cannot handle cabinet.0-761093519IDS_ERROR_23551033Corrupt cabinet.0-761093519IDS_ERROR_23561033Could not locate cabinet in stream: [2].0-761093519IDS_ERROR_23571033Cannot set attributes.0-761093519IDS_ERROR_23581033Error determining whether file is in-use: [3]. GetLastError: [2].0-761093519IDS_ERROR_23591033Unable to create the target file - file may be in use.0-761093519IDS_ERROR_23601033Progress tick.0-761093519IDS_ERROR_23611033Need next cabinet.0-761093519IDS_ERROR_23621033Folder not found: [2].0-761093519IDS_ERROR_23631033Could not enumerate subfolders for folder: [2].0-761093519IDS_ERROR_23641033Bad enumeration constant in CreateCopier call.0-761093519IDS_ERROR_23651033Could not BindImage exe file [2].0-761093519IDS_ERROR_23661033User failure.0-761093519IDS_ERROR_23671033User abort.0-761093519IDS_ERROR_23681033Failed to get network resource information. Error [2], network path [3]. Extended error: network provider [5], error code [4], error description [6].0-761093519IDS_ERROR_23701033Invalid CRC checksum value for [2] file.{ Its header says [3] for checksum, its computed value is [4].}0-761093519IDS_ERROR_23711033Could not apply patch to file [2]. GetLastError: [3].0-761093519IDS_ERROR_23721033Patch file [2] is corrupt or of an invalid format. Attempting to patch file [3]. GetLastError: [4].0-761093519IDS_ERROR_23731033File [2] is not a valid patch file.0-761093519IDS_ERROR_23741033File [2] is not a valid destination file for patch file [3].0-761093519IDS_ERROR_23751033Unknown patching error: [2].0-761093519IDS_ERROR_23761033Cabinet not found.0-761093519IDS_ERROR_23791033Error opening file for read: [3] GetLastError: [2].0-761093519IDS_ERROR_23801033Error opening file for write: [3]. GetLastError: [2].0-761093519IDS_ERROR_23811033Directory does not exist: [2].0-761093519IDS_ERROR_23821033Drive not ready: [2].0-761093519IDS_ERROR_241033Please insert the disk: [2]0-761093519IDS_ERROR_2401103364-bit registry operation attempted on 32-bit operating system for key [2].0-761093519IDS_ERROR_24021033Out of memory.0-761093519IDS_ERROR_251033The installer has insufficient privileges to access this directory: [2]. The installation cannot continue. Log on as an administrator or contact your system administrator.0-761093519IDS_ERROR_25011033Could not create rollback script enumerator.0-761093519IDS_ERROR_25021033Called InstallFinalize when no install in progress.0-761093519IDS_ERROR_25031033Called RunScript when not marked in progress.0-761093519IDS_ERROR_261033Error writing to file [2]. Verify that you have access to that directory.0-761093519IDS_ERROR_26011033Invalid value for property [2]: '[3]'0-761093519IDS_ERROR_26021033The [2] table entry '[3]' has no associated entry in the Media table.0-761093519IDS_ERROR_26031033Duplicate table name [2].0-761093519IDS_ERROR_26041033[2] Property undefined.0-761093519IDS_ERROR_26051033Could not find server [2] in [3] or [4].0-761093519IDS_ERROR_26061033Value of property [2] is not a valid full path: '[3]'.0-761093519IDS_ERROR_26071033Media table not found or empty (required for installation of files).0-761093519IDS_ERROR_26081033Could not create security descriptor for object. Error: '[2]'.0-761093519IDS_ERROR_26091033Attempt to migrate product settings before initialization.0-761093519IDS_ERROR_26111033The file [2] is marked as compressed, but the associated media entry does not specify a cabinet.0-761093519IDS_ERROR_26121033Stream not found in '[2]' column. Primary key: '[3]'.0-761093519IDS_ERROR_26131033RemoveExistingProducts action sequenced incorrectly.0-761093519IDS_ERROR_26141033Could not access IStorage object from installation package.0-761093519IDS_ERROR_26151033Skipped unregistration of Module [2] due to source resolution failure.0-761093519IDS_ERROR_26161033Companion file [2] parent missing.0-761093519IDS_ERROR_26171033Shared component [2] not found in Component table.0-761093519IDS_ERROR_26181033Isolated application component [2] not found in Component table.0-761093519IDS_ERROR_26191033Isolated components [2], [3] not part of same feature.0-761093519IDS_ERROR_26201033Key file of isolated application component [2] not in File table.0-761093519IDS_ERROR_26211033Resource DLL or Resource ID information for shortcut [2] set incorrectly.0-761093519IDS_ERROR_271033Error reading from file [2]. Verify that the file exists and that you can access it.0-761093519IDS_ERROR_27011033The depth of a feature exceeds the acceptable tree depth of [2] levels.0-761093519IDS_ERROR_27021033A Feature table record ([2]) references a non-existent parent in the Attributes field.0-761093519IDS_ERROR_27031033Property name for root source path not defined: [2]0-761093519IDS_ERROR_27041033Root directory property undefined: [2]0-761093519IDS_ERROR_27051033Invalid table: [2]; Could not be linked as tree.0-761093519IDS_ERROR_27061033Source paths not created. No path exists for entry [2] in Directory table.0-761093519IDS_ERROR_27071033Target paths not created. No path exists for entry [2] in Directory table.0-761093519IDS_ERROR_27081033No entries found in the file table.0-761093519IDS_ERROR_27091033The specified Component name ('[2]') not found in Component table.0-761093519IDS_ERROR_27101033The requested 'Select' state is illegal for this Component.0-761093519IDS_ERROR_27111033The specified Feature name ('[2]') not found in Feature table.0-761093519IDS_ERROR_27121033Invalid return from modeless dialog: [3], in action [2].0-761093519IDS_ERROR_27131033Null value in a non-nullable column ('[2]' in '[3]' column of the '[4]' table.0-761093519IDS_ERROR_27141033Invalid value for default folder name: [2].0-761093519IDS_ERROR_27151033The specified File key ('[2]') not found in the File table.0-761093519IDS_ERROR_27161033Could not create a random subcomponent name for component '[2]'.0-761093519IDS_ERROR_27171033Bad action condition or error calling custom action '[2]'.0-761093519IDS_ERROR_27181033Missing package name for product code '[2]'.0-761093519IDS_ERROR_27191033Neither UNC nor drive letter path found in source '[2]'.0-761093519IDS_ERROR_27201033Error opening source list key. Error: '[2]'0-761093519IDS_ERROR_27211033Custom action [2] not found in Binary table stream.0-761093519IDS_ERROR_27221033Custom action [2] not found in File table.0-761093519IDS_ERROR_27231033Custom action [2] specifies unsupported type.0-761093519IDS_ERROR_27241033The volume label '[2]' on the media you're running from does not match the label '[3]' given in the Media table. This is allowed only if you have only 1 entry in your Media table.0-761093519IDS_ERROR_27251033Invalid database tables0-761093519IDS_ERROR_27261033Action not found: [2].0-761093519IDS_ERROR_27271033The directory entry '[2]' does not exist in the Directory table.0-761093519IDS_ERROR_27281033Table definition error: [2]0-761093519IDS_ERROR_27291033Install engine not initialized.0-761093519IDS_ERROR_27301033Bad value in database. Table: '[2]'; Primary key: '[3]'; Column: '[4]'0-761093519IDS_ERROR_27311033Selection Manager not initialized.0-761093519IDS_ERROR_27321033Directory Manager not initialized.0-761093519IDS_ERROR_27331033Bad foreign key ('[2]') in '[3]' column of the '[4]' table.0-761093519IDS_ERROR_27341033Invalid reinstall mode character.0-761093519IDS_ERROR_27351033Custom action '[2]' has caused an unhandled exception and has been stopped. This may be the result of an internal error in the custom action, such as an access violation.0-761093519IDS_ERROR_27361033Generation of custom action temp file failed: [2].0-761093519IDS_ERROR_27371033Could not access custom action [2], entry [3], library [4]0-761093519IDS_ERROR_27381033Could not access VBScript run time for custom action [2].0-761093519IDS_ERROR_27391033Could not access JavaScript run time for custom action [2].0-761093519IDS_ERROR_27401033Custom action [2] script error [3], [4]: [5] Line [6], Column [7], [8].0-761093519IDS_ERROR_27411033Configuration information for product [2] is corrupt. Invalid info: [2].0-761093519IDS_ERROR_27421033Marshaling to Server failed: [2].0-761093519IDS_ERROR_27431033Could not execute custom action [2], location: [3], command: [4].0-761093519IDS_ERROR_27441033EXE failed called by custom action [2], location: [3], command: [4].0-761093519IDS_ERROR_27451033Transform [2] invalid for package [3]. Expected language [4], found language [5].0-761093519IDS_ERROR_27461033Transform [2] invalid for package [3]. Expected product [4], found product [5].0-761093519IDS_ERROR_27471033Transform [2] invalid for package [3]. Expected product version < [4], found product version [5].0-761093519IDS_ERROR_27481033Transform [2] invalid for package [3]. Expected product version <= [4], found product version [5].0-761093519IDS_ERROR_27491033Transform [2] invalid for package [3]. Expected product version == [4], found product version [5].0-761093519IDS_ERROR_27501033Transform [2] invalid for package [3]. Expected product version >= [4], found product version [5].0-761093519IDS_ERROR_275021033Could not connect to [2] '[3]'. [4]0-761093519IDS_ERROR_275031033Error retrieving version string from [2] '[3]'. [4]0-761093519IDS_ERROR_275041033SQL version requirements not met: [3]. This installation requires [2] [4] or later.0-761093519IDS_ERROR_275051033Could not open SQL script file [2].0-761093519IDS_ERROR_275061033Error executing SQL script [2]. Line [3]. [4]0-761093519IDS_ERROR_275071033Connection or browsing for database servers requires that MDAC be installed.0-761093519IDS_ERROR_275081033Error installing COM+ application [2]. [3]0-761093519IDS_ERROR_275091033Error uninstalling COM+ application [2]. [3]0-761093519IDS_ERROR_27511033Transform [2] invalid for package [3]. Expected product version > [4], found product version [5].0-761093519IDS_ERROR_275101033Error installing COM+ application [2]. Could not load Microsoft(R) .NET class libraries. Registering .NET serviced components requires that Microsoft(R) .NET Framework be installed.0-761093519IDS_ERROR_275111033Could not execute SQL script file [2]. Connection not open: [3]0-761093519IDS_ERROR_275121033Error beginning transactions for [2] '[3]'. Database [4]. [5]0-761093519IDS_ERROR_275131033Error committing transactions for [2] '[3]'. Database [4]. [5]0-761093519IDS_ERROR_275141033This installation requires a Microsoft SQL Server. The specified server '[3]' is a Microsoft SQL Server Desktop Engine or SQL Server Express.0-761093519IDS_ERROR_275151033Error retrieving schema version from [2] '[3]'. Database: '[4]'. [5]0-761093519IDS_ERROR_275161033Error writing schema version to [2] '[3]'. Database: '[4]'. [5]0-761093519IDS_ERROR_275171033This installation requires Administrator privileges for installing COM+ applications. Log on as an administrator and then retry this installation.0-761093519IDS_ERROR_275181033The COM+ application "[2]" is configured to run as an NT service; this requires COM+ 1.5 or later on the system. Since your system has COM+ 1.0, this application will not be installed.0-761093519IDS_ERROR_275191033Error updating XML file [2]. [3]0-761093519IDS_ERROR_27521033Could not open transform [2] stored as child storage of package [4].0-761093519IDS_ERROR_275201033Error opening XML file [2]. [3]0-761093519IDS_ERROR_275211033This setup requires MSXML 3.0 or higher for configuring XML files. Please make sure that you have version 3.0 or higher.0-761093519IDS_ERROR_275221033Error creating XML file [2]. [3]0-761093519IDS_ERROR_275231033Error loading servers.0-761093519IDS_ERROR_275241033Error loading NetApi32.DLL. The ISNetApi.dll needs to have NetApi32.DLL properly loaded and requires an NT based operating system.0-761093519IDS_ERROR_275251033Server not found. Verify that the specified server exists. The server name can not be empty.0-761093519IDS_ERROR_275261033Unspecified error from ISNetApi.dll.0-761093519IDS_ERROR_275271033The buffer is too small.0-761093519IDS_ERROR_275281033Access denied. Check administrative rights.0-761093519IDS_ERROR_275291033Invalid computer.0-761093519IDS_ERROR_27531033The File '[2]' is not marked for installation.0-761093519IDS_ERROR_275301033Unknown error returned from NetAPI. System error: [2]0-761093519IDS_ERROR_275311033Unhandled exception.0-761093519IDS_ERROR_275321033Invalid user name for this server or domain.0-761093519IDS_ERROR_275331033The case-sensitive passwords do not match.0-761093519IDS_ERROR_275341033The list is empty.0-761093519IDS_ERROR_275351033Access violation.0-761093519IDS_ERROR_275361033Error getting group.0-761093519IDS_ERROR_275371033Error adding user to group. Verify that the group exists for this domain or server.0-761093519IDS_ERROR_275381033Error creating user.0-761093519IDS_ERROR_275391033ERROR_NETAPI_ERROR_NOT_PRIMARY returned from NetAPI.0-761093519IDS_ERROR_27541033The File '[2]' is not a valid patch file.0-761093519IDS_ERROR_275401033The specified user already exists.0-761093519IDS_ERROR_275411033The specified group already exists.0-761093519IDS_ERROR_275421033Invalid password. Verify that the password is in accordance with your network password policy.0-761093519IDS_ERROR_275431033Invalid name.0-761093519IDS_ERROR_275441033Invalid group.0-761093519IDS_ERROR_275451033The user name can not be empty and must be in the format DOMAIN\Username.0-761093519IDS_ERROR_275461033Error loading or creating INI file in the user TEMP directory.0-761093519IDS_ERROR_275471033ISNetAPI.dll is not loaded or there was an error loading the dll. This dll needs to be loaded for this operation. Verify that the dll is in the SUPPORTDIR directory.0-761093519IDS_ERROR_275481033Error deleting INI file containing new user information from the user's TEMP directory.0-761093519IDS_ERROR_275491033Error getting the primary domain controller (PDC).0-761093519IDS_ERROR_27551033Server returned unexpected error [2] attempting to install package [3].0-761093519IDS_ERROR_275501033Every field must have a value in order to create a user.0-761093519IDS_ERROR_275511033ODBC driver for [2] not found. This is required to connect to [2] database servers.0-761093519IDS_ERROR_275521033Error creating database [4]. Server: [2] [3]. [5]0-761093519IDS_ERROR_275531033Error connecting to database [4]. Server: [2] [3]. [5]0-761093519IDS_ERROR_275541033Error attempting to open connection [2]. No valid database metadata associated with this connection.0-761093519IDS_ERROR_275551033Error attempting to apply permissions to object '[2]'. System error: [3] ([4])0-761093519IDS_ERROR_27561033The property '[2]' was used as a directory property in one or more tables, but no value was ever assigned.0-761093519IDS_ERROR_27571033Could not create summary info for transform [2].0-761093519IDS_ERROR_27581033Transform [2] does not contain an MSI version.0-761093519IDS_ERROR_27591033Transform [2] version [3] incompatible with engine; Min: [4], Max: [5].0-761093519IDS_ERROR_27601033Transform [2] invalid for package [3]. Expected upgrade code [4], found [5].0-761093519IDS_ERROR_27611033Cannot begin transaction. Global mutex not properly initialized.0-761093519IDS_ERROR_27621033Cannot write script record. Transaction not started.0-761093519IDS_ERROR_27631033Cannot run script. Transaction not started.0-761093519IDS_ERROR_27651033Assembly name missing from AssemblyName table : Component: [4].0-761093519IDS_ERROR_27661033The file [2] is an invalid MSI storage file.0-761093519IDS_ERROR_27671033No more data{ while enumerating [2]}.0-761093519IDS_ERROR_27681033Transform in patch package is invalid.0-761093519IDS_ERROR_27691033Custom Action [2] did not close [3] MSIHANDLEs.0-761093519IDS_ERROR_27701033Cached folder [2] not defined in internal cache folder table.0-761093519IDS_ERROR_27711033Upgrade of feature [2] has a missing component.0-761093519IDS_ERROR_27721033New upgrade feature [2] must be a leaf feature.0-761093519IDS_ERROR_281033Another application has exclusive access to the file [2]. Please shut down all other applications, then click Retry.0-761093519IDS_ERROR_28011033Unknown Message -- Type [2]. No action is taken.0-761093519IDS_ERROR_28021033No publisher is found for the event [2].0-761093519IDS_ERROR_28031033Dialog View did not find a record for the dialog [2].0-761093519IDS_ERROR_28041033On activation of the control [3] on dialog [2] CMsiDialog failed to evaluate the condition [3].0-761093519IDS_ERROR_28061033The dialog [2] failed to evaluate the condition [3].0-761093519IDS_ERROR_28071033The action [2] is not recognized.0-761093519IDS_ERROR_28081033Default button is ill-defined on dialog [2].0-761093519IDS_ERROR_28091033On the dialog [2] the next control pointers do not form a cycle. There is a pointer from [3] to [4], but there is no further pointer.0-761093519IDS_ERROR_28101033On the dialog [2] the next control pointers do not form a cycle. There is a pointer from both [3] and [5] to [4].0-761093519IDS_ERROR_28111033On dialog [2] control [3] has to take focus, but it is unable to do so.0-761093519IDS_ERROR_28121033The event [2] is not recognized.0-761093519IDS_ERROR_28131033The EndDialog event was called with the argument [2], but the dialog has a parent.0-761093519IDS_ERROR_28141033On the dialog [2] the control [3] names a nonexistent control [4] as the next control.0-761093519IDS_ERROR_28151033ControlCondition table has a row without condition for the dialog [2].0-761093519IDS_ERROR_28161033The EventMapping table refers to an invalid control [4] on dialog [2] for the event [3].0-761093519IDS_ERROR_28171033The event [2] failed to set the attribute for the control [4] on dialog [3].0-761093519IDS_ERROR_28181033In the ControlEvent table EndDialog has an unrecognized argument [2].0-761093519IDS_ERROR_28191033Control [3] on dialog [2] needs a property linked to it.0-761093519IDS_ERROR_28201033Attempted to initialize an already initialized handler.0-761093519IDS_ERROR_28211033Attempted to initialize an already initialized dialog: [2].0-761093519IDS_ERROR_28221033No other method can be called on dialog [2] until all the controls are added.0-761093519IDS_ERROR_28231033Attempted to initialize an already initialized control: [3] on dialog [2].0-761093519IDS_ERROR_28241033The dialog attribute [3] needs a record of at least [2] field(s).0-761093519IDS_ERROR_28251033The control attribute [3] needs a record of at least [2] field(s).0-761093519IDS_ERROR_28261033Control [3] on dialog [2] extends beyond the boundaries of the dialog [4] by [5] pixels.0-761093519IDS_ERROR_28271033The button [4] on the radio button group [3] on dialog [2] extends beyond the boundaries of the group [5] by [6] pixels.0-761093519IDS_ERROR_28281033Tried to remove control [3] from dialog [2], but the control is not part of the dialog.0-761093519IDS_ERROR_28291033Attempt to use an uninitialized dialog.0-761093519IDS_ERROR_28301033Attempt to use an uninitialized control on dialog [2].0-761093519IDS_ERROR_28311033The control [3] on dialog [2] does not support [5] the attribute [4].0-761093519IDS_ERROR_28321033The dialog [2] does not support the attribute [3].0-761093519IDS_ERROR_28331033Control [4] on dialog [3] ignored the message [2].0-761093519IDS_ERROR_28341033The next pointers on the dialog [2] do not form a single loop.0-761093519IDS_ERROR_28351033The control [2] was not found on dialog [3].0-761093519IDS_ERROR_28361033The control [3] on the dialog [2] cannot take focus.0-761093519IDS_ERROR_28371033The control [3] on dialog [2] wants the winproc to return [4].0-761093519IDS_ERROR_28381033The item [2] in the selection table has itself as a parent.0-761093519IDS_ERROR_28391033Setting the property [2] failed.0-761093519IDS_ERROR_28401033Error dialog name mismatch.0-761093519IDS_ERROR_28411033No OK button was found on the error dialog.0-761093519IDS_ERROR_28421033No text field was found on the error dialog.0-761093519IDS_ERROR_28431033The ErrorString attribute is not supported for standard dialogs.0-761093519IDS_ERROR_28441033Cannot execute an error dialog if the Errorstring is not set.0-761093519IDS_ERROR_28451033The total width of the buttons exceeds the size of the error dialog.0-761093519IDS_ERROR_28461033SetFocus did not find the required control on the error dialog.0-761093519IDS_ERROR_28471033The control [3] on dialog [2] has both the icon and the bitmap style set.0-761093519IDS_ERROR_28481033Tried to set control [3] as the default button on dialog [2], but the control does not exist.0-761093519IDS_ERROR_28491033The control [3] on dialog [2] is of a type, that cannot be integer valued.0-761093519IDS_ERROR_28501033Unrecognized volume type.0-761093519IDS_ERROR_28511033The data for the icon [2] is not valid.0-761093519IDS_ERROR_28521033At least one control has to be added to dialog [2] before it is used.0-761093519IDS_ERROR_28531033Dialog [2] is a modeless dialog. The execute method should not be called on it.0-761093519IDS_ERROR_28541033On the dialog [2] the control [3] is designated as first active control, but there is no such control.0-761093519IDS_ERROR_28551033The radio button group [3] on dialog [2] has fewer than 2 buttons.0-761093519IDS_ERROR_28561033Creating a second copy of the dialog [2].0-761093519IDS_ERROR_28571033The directory [2] is mentioned in the selection table but not found.0-761093519IDS_ERROR_28581033The data for the bitmap [2] is not valid.0-761093519IDS_ERROR_28591033Test error message.0-761093519IDS_ERROR_28601033Cancel button is ill-defined on dialog [2].0-761093519IDS_ERROR_28611033The next pointers for the radio buttons on dialog [2] control [3] do not form a cycle.0-761093519IDS_ERROR_28621033The attributes for the control [3] on dialog [2] do not define a valid icon size. Setting the size to 16.0-761093519IDS_ERROR_28631033The control [3] on dialog [2] needs the icon [4] in size [5]x[5], but that size is not available. Loading the first available size.0-761093519IDS_ERROR_28641033The control [3] on dialog [2] received a browse event, but there is no configurable directory for the present selection. Likely cause: browse button is not authored correctly.0-761093519IDS_ERROR_28651033Control [3] on billboard [2] extends beyond the boundaries of the billboard [4] by [5] pixels.0-761093519IDS_ERROR_28661033The dialog [2] is not allowed to return the argument [3].0-761093519IDS_ERROR_28671033The error dialog property is not set.0-761093519IDS_ERROR_28681033The error dialog [2] does not have the error style bit set.0-761093519IDS_ERROR_28691033The dialog [2] has the error style bit set, but is not an error dialog.0-761093519IDS_ERROR_28701033The help string [4] for control [3] on dialog [2] does not contain the separator character.0-761093519IDS_ERROR_28711033The [2] table is out of date: [3].0-761093519IDS_ERROR_28721033The argument of the CheckPath control event on dialog [2] is invalid.0-761093519IDS_ERROR_28731033On the dialog [2] the control [3] has an invalid string length limit: [4].0-761093519IDS_ERROR_28741033Changing the text font to [2] failed.0-761093519IDS_ERROR_28751033Changing the text color to [2] failed.0-761093519IDS_ERROR_28761033The control [3] on dialog [2] had to truncate the string: [4].0-761093519IDS_ERROR_28771033The binary data [2] was not found0-761093519IDS_ERROR_28781033On the dialog [2] the control [3] has a possible value: [4]. This is an invalid or duplicate value.0-761093519IDS_ERROR_28791033The control [3] on dialog [2] cannot parse the mask string: [4].0-761093519IDS_ERROR_28801033Do not perform the remaining control events.0-761093519IDS_ERROR_28811033CMsiHandler initialization failed.0-761093519IDS_ERROR_28821033Dialog window class registration failed.0-761093519IDS_ERROR_28831033CreateNewDialog failed for the dialog [2].0-761093519IDS_ERROR_28841033Failed to create a window for the dialog [2].0-761093519IDS_ERROR_28851033Failed to create the control [3] on the dialog [2].0-761093519IDS_ERROR_28861033Creating the [2] table failed.0-761093519IDS_ERROR_28871033Creating a cursor to the [2] table failed.0-761093519IDS_ERROR_28881033Executing the [2] view failed.0-761093519IDS_ERROR_28891033Creating the window for the control [3] on dialog [2] failed.0-761093519IDS_ERROR_28901033The handler failed in creating an initialized dialog.0-761093519IDS_ERROR_28911033Failed to destroy window for dialog [2].0-761093519IDS_ERROR_28921033[2] is an integer only control, [3] is not a valid integer value.0-761093519IDS_ERROR_28931033The control [3] on dialog [2] can accept property values that are at most [5] characters long. The value [4] exceeds this limit, and has been truncated.0-761093519IDS_ERROR_28941033Loading RICHED20.DLL failed. GetLastError() returned: [2].0-761093519IDS_ERROR_28951033Freeing RICHED20.DLL failed. GetLastError() returned: [2].0-761093519IDS_ERROR_28961033Executing action [2] failed.0-761093519IDS_ERROR_28971033Failed to create any [2] font on this system.0-761093519IDS_ERROR_28981033For [2] textstyle, the system created a '[3]' font, in [4] character set.0-761093519IDS_ERROR_28991033Failed to create [2] textstyle. GetLastError() returned: [3].0-761093519IDS_ERROR_291033There is not enough disk space to install the file [2]. Free some disk space and click Retry, or click Cancel to exit.0-761093519IDS_ERROR_29011033Invalid parameter to operation [2]: Parameter [3].0-761093519IDS_ERROR_29021033Operation [2] called out of sequence.0-761093519IDS_ERROR_29031033The file [2] is missing.0-761093519IDS_ERROR_29041033Could not BindImage file [2].0-761093519IDS_ERROR_29051033Could not read record from script file [2].0-761093519IDS_ERROR_29061033Missing header in script file [2].0-761093519IDS_ERROR_29071033Could not create secure security descriptor. Error: [2].0-761093519IDS_ERROR_29081033Could not register component [2].0-761093519IDS_ERROR_29091033Could not unregister component [2].0-761093519IDS_ERROR_29101033Could not determine user's security ID.0-761093519IDS_ERROR_29111033Could not remove the folder [2].0-761093519IDS_ERROR_29121033Could not schedule file [2] for removal on restart.0-761093519IDS_ERROR_29191033No cabinet specified for compressed file: [2].0-761093519IDS_ERROR_29201033Source directory not specified for file [2].0-761093519IDS_ERROR_29241033Script [2] version unsupported. Script version: [3], minimum version: [4], maximum version: [5].0-761093519IDS_ERROR_29271033ShellFolder id [2] is invalid.0-761093519IDS_ERROR_29281033Exceeded maximum number of sources. Skipping source '[2]'.0-761093519IDS_ERROR_29291033Could not determine publishing root. Error: [2].0-761093519IDS_ERROR_29321033Could not create file [2] from script data. Error: [3].0-761093519IDS_ERROR_29331033Could not initialize rollback script [2].0-761093519IDS_ERROR_29341033Could not secure transform [2]. Error [3].0-761093519IDS_ERROR_29351033Could not unsecure transform [2]. Error [3].0-761093519IDS_ERROR_29361033Could not find transform [2].0-761093519IDS_ERROR_29371033Windows Installer cannot install a system file protection catalog. Catalog: [2], Error: [3].0-761093519IDS_ERROR_29381033Windows Installer cannot retrieve a system file protection catalog from the cache. Catalog: [2], Error: [3].0-761093519IDS_ERROR_29391033Windows Installer cannot delete a system file protection catalog from the cache. Catalog: [2], Error: [3].0-761093519IDS_ERROR_29401033Directory Manager not supplied for source resolution.0-761093519IDS_ERROR_29411033Unable to compute the CRC for file [2].0-761093519IDS_ERROR_29421033BindImage action has not been executed on [2] file.0-761093519IDS_ERROR_29431033This version of Windows does not support deploying 64-bit packages. The script [2] is for a 64-bit package.0-761093519IDS_ERROR_29441033GetProductAssignmentType failed.0-761093519IDS_ERROR_29451033Installation of ComPlus App [2] failed with error [3].0-761093519IDS_ERROR_31033Info [1]. 0-761093519IDS_ERROR_301033Source file not found: [2]. Verify that the file exists and that you can access it.0-761093519IDS_ERROR_30011033The patches in this list contain incorrect sequencing information: [2][3][4][5][6][7][8][9][10][11][12][13][14][15][16].0-761093519IDS_ERROR_30021033Patch [2] contains invalid sequencing information. 0-761093519IDS_ERROR_311033Error reading from file: [3]. {{ System error [2].}} Verify that the file exists and that you can access it.0-761093519IDS_ERROR_321033Error writing to file: [3]. {{ System error [2].}} Verify that you have access to that directory.0-761093519IDS_ERROR_331033Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it.0-761093519IDS_ERROR_341033Cannot create the directory [2]. A file with this name already exists. Please rename or remove the file and click Retry, or click Cancel to exit.0-761093519IDS_ERROR_351033The volume [2] is currently unavailable. Please select another.0-761093519IDS_ERROR_361033The specified path [2] is unavailable.0-761093519IDS_ERROR_371033Unable to write to the specified folder [2].0-761093519IDS_ERROR_381033A network error occurred while attempting to read from the file [2]0-761093519IDS_ERROR_391033An error occurred while attempting to create the directory [2]0-761093519IDS_ERROR_41033Internal Error [1]. [2]{, [3]}{, [4]}0-761093519IDS_ERROR_401033A network error occurred while attempting to create the directory [2]0-761093519IDS_ERROR_411033A network error occurred while attempting to open the source file cabinet [2].0-761093519IDS_ERROR_421033The specified path is too long [2].0-761093519IDS_ERROR_431033The Installer has insufficient privileges to modify the file [2].0-761093519IDS_ERROR_441033A portion of the path [2] exceeds the length allowed by the system.0-761093519IDS_ERROR_451033The path [2] contains words that are not valid in folders.0-761093519IDS_ERROR_461033The path [2] contains an invalid character.0-761093519IDS_ERROR_471033[2] is not a valid short file name.0-761093519IDS_ERROR_481033Error getting file security: [3] GetLastError: [2]0-761093519IDS_ERROR_491033Invalid Drive: [2]0-761093519IDS_ERROR_51033{{Disk full: }}0-761093519IDS_ERROR_501033Could not create key [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel.0-761093519IDS_ERROR_511033Could not open key: [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel.0-761093519IDS_ERROR_521033Could not delete value [2] from key [3]. {{ System error [4].}} Verify that you have sufficient access to that key, or contact your support personnel.0-761093519IDS_ERROR_531033Could not delete key [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel.0-761093519IDS_ERROR_541033Could not read value [2] from key [3]. {{ System error [4].}} Verify that you have sufficient access to that key, or contact your support personnel.0-761093519IDS_ERROR_551033Could not write value [2] to key [3]. {{ System error [4].}} Verify that you have sufficient access to that key, or contact your support personnel.0-761093519IDS_ERROR_561033Could not get value names for key [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel.0-761093519IDS_ERROR_571033Could not get sub key names for key [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel.0-761093519IDS_ERROR_581033Could not read security information for key [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel.0-761093519IDS_ERROR_591033Could not increase the available registry space. [2] KB of free registry space is required for the installation of this application.0-761093519IDS_ERROR_61033Action [Time]: [1]. [2]0-761093519IDS_ERROR_601033Another installation is in progress. You must complete that installation before continuing this one.0-761093519IDS_ERROR_611033Error accessing secured data. Please make sure the Windows Installer is configured properly and try the installation again.0-761093519IDS_ERROR_621033User [2] has previously initiated an installation for product [3]. That user will need to run that installation again before using that product. Your current installation will now continue.0-761093519IDS_ERROR_631033User [2] has previously initiated an installation for product [3]. That user will need to run that installation again before using that product.0-761093519IDS_ERROR_641033Out of disk space -- Volume: '[2]'; required space: [3] KB; available space: [4] KB. Free some disk space and retry.0-761093519IDS_ERROR_651033Are you sure you want to cancel?0-761093519IDS_ERROR_661033The file [2][3] is being held in use{ by the following process: Name: [4], ID: [5], Window Title: [6]}. Close that application and retry.0-761093519IDS_ERROR_671033The product [2] is already installed, preventing the installation of this product. The two products are incompatible.0-761093519IDS_ERROR_681033Out of disk space -- Volume: [2]; required space: [3] KB; available space: [4] KB. If rollback is disabled, enough space is available. Click Cancel to quit, Retry to check available disk space again, or Ignore to continue without rollback.0-761093519IDS_ERROR_691033Could not access network location [2].0-761093519IDS_ERROR_71033[ProductName]0-761093519IDS_ERROR_701033The following applications should be closed before continuing the installation:0-761093519IDS_ERROR_711033Could not find any previously installed compliant products on the machine for installing this product.0-761093519IDS_ERROR_721033The key [2] is not valid. Verify that you entered the correct key.0-761093519IDS_ERROR_731033The installer must restart your system before configuration of [2] can continue. Click Yes to restart now or No if you plan to restart later.0-761093519IDS_ERROR_741033You must restart your system for the configuration changes made to [2] to take effect. Click Yes to restart now or No if you plan to restart later.0-761093519IDS_ERROR_751033An installation for [2] is currently suspended. You must undo the changes made by that installation to continue. Do you want to undo those changes?0-761093519IDS_ERROR_761033A previous installation for this product is in progress. You must undo the changes made by that installation to continue. Do you want to undo those changes?0-761093519IDS_ERROR_771033No valid source could be found for product [2]. The Windows Installer cannot continue.0-761093519IDS_ERROR_781033Installation operation completed successfully.0-761093519IDS_ERROR_791033Installation operation failed.0-761093519IDS_ERROR_81033{[2]}{, [3]}{, [4]}0-761093519IDS_ERROR_801033Product: [2] -- [3]0-761093519IDS_ERROR_811033You may either restore your computer to its previous state or continue the installation later. Would you like to restore?0-761093519IDS_ERROR_821033An error occurred while writing installation information to disk. Check to make sure enough disk space is available, and click Retry, or Cancel to end the installation.0-761093519IDS_ERROR_831033One or more of the files required to restore your computer to its previous state could not be found. Restoration will not be possible.0-761093519IDS_ERROR_841033The path [2] is not valid. Please specify a valid path.0-761093519IDS_ERROR_851033Out of memory. Shut down other applications before retrying.0-761093519IDS_ERROR_861033There is no disk in drive [2]. Please insert one and click Retry, or click Cancel to go back to the previously selected volume.0-761093519IDS_ERROR_871033There is no disk in drive [2]. Please insert one and click Retry, or click Cancel to return to the browse dialog and select a different volume.0-761093519IDS_ERROR_881033The folder [2] does not exist. Please enter a path to an existing folder.0-761093519IDS_ERROR_891033You have insufficient privileges to read this folder.0-761093519IDS_ERROR_91033Message type: [1], Argument: [2]0-761093519IDS_ERROR_901033A valid destination folder for the installation could not be determined.0-761093519IDS_ERROR_911033Error attempting to read from the source installation database: [2].0-761093519IDS_ERROR_921033Scheduling reboot operation: Renaming file [2] to [3]. Must reboot to complete operation.0-761093519IDS_ERROR_931033Scheduling reboot operation: Deleting file [2]. Must reboot to complete operation.0-761093519IDS_ERROR_941033Module [2] failed to register. HRESULT [3]. Contact your support personnel.0-761093519IDS_ERROR_951033Module [2] failed to unregister. HRESULT [3]. Contact your support personnel.0-761093519IDS_ERROR_961033Failed to cache package [2]. Error: [3]. Contact your support personnel.0-761093519IDS_ERROR_971033Could not register font [2]. Verify that you have sufficient permissions to install fonts, and that the system supports this font.0-761093519IDS_ERROR_981033Could not unregister font [2]. Verify that you have sufficient permissions to remove fonts.0-761093519IDS_ERROR_991033Could not create shortcut [2]. Verify that the destination folder exists and that you can access it.0-761093519IDS_INSTALLDIR1033[INSTALLDIR]0-761093519IDS_INSTALLSHIELD1033InstallShield0-761093519IDS_INSTALLSHIELD_FORMATTED1033{&MSSWhiteSerif8}InstallShield0-761093519IDS_ISSCRIPT_VERSION_MISSING1033The InstallScript engine is missing from this machine. If available, please run ISScript.msi, or contact your support personnel for further assistance.0-761093519IDS_ISSCRIPT_VERSION_OLD1033The InstallScript engine on this machine is older than the version required to run this setup. If available, please install the latest version of ISScript.msi, or contact your support personnel for further assistance.0-761093519IDS_NEXT1033&Next >0-761093519IDS_OK1033OK0-761093519IDS_PREREQUISITE_SETUP_BROWSE1033Open [ProductName]'s original [SETUPEXENAME]0-761093519IDS_PREREQUISITE_SETUP_INVALID1033This executable file does not appear to be the original executable file for [ProductName]. Without using the original [SETUPEXENAME] to install additional dependencies, [ProductName] may not work correctly. Would you like to find the original [SETUPEXENAME]?0-761093519IDS_PREREQUISITE_SETUP_SEARCH1033This installation may require additional dependencies. Without its dependencies, [ProductName] may not work correctly. Would you like to find the original [SETUPEXENAME]?0-761093519IDS_PREVENT_DOWNGRADE_EXIT1033A newer version of this application is already installed on this computer. If you wish to install this version, please uninstall the newer version first. Click OK to exit the wizard.0-761093519IDS_PRINT_BUTTON1033&Print0-761093519IDS_PRODUCTNAME_INSTALLSHIELD1033[ProductName] - InstallShield Wizard0-761093519IDS_PROGMSG_IIS_CREATEAPPPOOL1033Creating application pool %s0-761093519IDS_PROGMSG_IIS_CREATEAPPPOOLS1033Creating application Pools...0-761093519IDS_PROGMSG_IIS_CREATEVROOT1033Creating IIS virtual directory %s0-761093519IDS_PROGMSG_IIS_CREATEVROOTS1033Creating IIS virtual directories...0-761093519IDS_PROGMSG_IIS_CREATEWEBSERVICEEXTENSION1033Creating web service extension0-761093519IDS_PROGMSG_IIS_CREATEWEBSERVICEEXTENSIONS1033Creating web service extensions...0-761093519IDS_PROGMSG_IIS_CREATEWEBSITE1033Creating IIS website %s0-761093519IDS_PROGMSG_IIS_CREATEWEBSITES1033Creating IIS websites...0-761093519IDS_PROGMSG_IIS_EXTRACT1033Extracting information for IIS virtual directories...0-761093519IDS_PROGMSG_IIS_EXTRACTDONE1033Extracted information for IIS virtual directories...0-761093519IDS_PROGMSG_IIS_REMOVEAPPPOOL1033Removing application pool0-761093519IDS_PROGMSG_IIS_REMOVEAPPPOOLS1033Removing application pools...0-761093519IDS_PROGMSG_IIS_REMOVESITE1033Removing web site at port %d0-761093519IDS_PROGMSG_IIS_REMOVEVROOT1033Removing IIS virtual directory %s0-761093519IDS_PROGMSG_IIS_REMOVEVROOTS1033Removing IIS virtual directories...0-761093519IDS_PROGMSG_IIS_REMOVEWEBSERVICEEXTENSION1033Removing web service extension0-761093519IDS_PROGMSG_IIS_REMOVEWEBSERVICEEXTENSIONS1033Removing web service extensions...0-761093519IDS_PROGMSG_IIS_REMOVEWEBSITES1033Removing IIS websites...0-761093519IDS_PROGMSG_IIS_ROLLBACKAPPPOOLS1033Rolling back application pools...0-761093519IDS_PROGMSG_IIS_ROLLBACKVROOTS1033Rolling back virtual directory and web site changes...0-761093519IDS_PROGMSG_IIS_ROLLBACKWEBSERVICEEXTENSIONS1033Rolling back web service extensions...0-761093519IDS_PROGMSG_TEXTFILECHANGS_REPLACE1033Replacing %s with %s in %s...0-761093519IDS_PROGMSG_XML_COSTING1033Costing XML files...0-761093519IDS_PROGMSG_XML_CREATE_FILE1033Creating XML file %s...0-761093519IDS_PROGMSG_XML_FILES1033Performing XML file changes...0-761093519IDS_PROGMSG_XML_REMOVE_FILE1033Removing XML file %s...0-761093519IDS_PROGMSG_XML_ROLLBACK_FILES1033Rolling back XML file changes...0-761093519IDS_PROGMSG_XML_UPDATE_FILE1033Updating XML file %s...0-761093519IDS_SETUPEXE_EXPIRE_MSG1033This setup works until %s. The setup will now exit.0-761093519IDS_SETUPEXE_LAUNCH_COND_E1033This setup was built with an evaluation version of InstallShield and can only be launched from setup.exe.0-761093519IDS_SQLBROWSE_INTRO1033From the list of servers below, select the database server you would like to target.0-761093519IDS_SQLBROWSE_INTRO_DB1033From the list of catalog names below, select the database catalog you would like to target.0-761093519IDS_SQLBROWSE_INTRO_TEMPLATE1033[IS_SQLBROWSE_INTRO]0-761093519IDS_SQLLOGIN_BROWSE1033B&rowse...0-761093519IDS_SQLLOGIN_BROWSE_DB1033Br&owse...0-761093519IDS_SQLLOGIN_CATALOG1033&Name of database catalog:0-761093519IDS_SQLLOGIN_CONNECT1033Connect using:0-761093519IDS_SQLLOGIN_DESC1033Select database server and authentication method0-761093519IDS_SQLLOGIN_ID1033&Login ID:0-761093519IDS_SQLLOGIN_INTRO1033Select the database server to install to from the list below or click Browse to see a list of all database servers. You can also specify the way to authenticate your login using your current credentials or a SQL Login ID and Password.0-761093519IDS_SQLLOGIN_PSWD1033&Password:0-761093519IDS_SQLLOGIN_SERVER1033&Database Server:0-761093519IDS_SQLLOGIN_SERVER21033&Database server that you are installing to:0-761093519IDS_SQLLOGIN_SQL1033S&erver authentication using the Login ID and password below0-761093519IDS_SQLLOGIN_TITLE1033{&MSSansBold8}Database Server0-761093519IDS_SQLLOGIN_WIN1033&Windows authentication credentials of current user0-761093519IDS_SQLSCRIPT_INSTALLING1033Executing SQL Install Script...0-761093519IDS_SQLSCRIPT_UNINSTALLING1033Executing SQL Uninstall Script...0-761093519IDS_STANDARD_USE_SETUPEXE1033This installation cannot be run by directly launching the MSI package. You must run setup.exe.0-761093519IDS_SetupTips_Advertise1033Will be installed on first use. (Available only if the feature supports this option.)0-761093519IDS_SetupTips_AllInstalledLocal1033Will be completely installed to the local hard drive.0-761093519IDS_SetupTips_CustomSetup1033{&MSSansBold8}Custom Setup Tips0-761093519IDS_SetupTips_CustomSetupDescription1033Custom Setup allows you to selectively install program features.0-761093519IDS_SetupTips_IconInstallState1033The icon next to the feature name indicates the install state of the feature. Click the icon to drop down the install state menu for each feature.0-761093519IDS_SetupTips_InstallState1033This install state means the feature...0-761093519IDS_SetupTips_Network1033Will be installed to run from the network. (Available only if the feature supports this option.)0-761093519IDS_SetupTips_OK1033OK0-761093519IDS_SetupTips_SubFeaturesInstalledLocal1033Will have some subfeatures installed to the local hard drive. (Available only if the feature has subfeatures.)0-761093519IDS_SetupTips_WillNotBeInstalled1033Will not be installed.0-761093519IDS_UITEXT_Available1033Available0-761093519IDS_UITEXT_Bytes1033bytes0-761093519IDS_UITEXT_CompilingFeaturesCost1033Compiling cost for this feature...0-761093519IDS_UITEXT_Differences1033Differences0-761093519IDS_UITEXT_DiskSize1033Disk Size0-761093519IDS_UITEXT_FeatureCompletelyRemoved1033This feature will be completely removed.0-761093519IDS_UITEXT_FeatureContinueNetwork1033This feature will continue to be run from the network0-761093519IDS_UITEXT_FeatureFreeSpace1033This feature frees up [1] on your hard drive.0-761093519IDS_UITEXT_FeatureInstalledCD1033This feature, and all subfeatures, will be installed to run from the CD.0-761093519IDS_UITEXT_FeatureInstalledCD21033This feature will be installed to run from CD.0-761093519IDS_UITEXT_FeatureInstalledLocal1033This feature, and all subfeatures, will be installed on local hard drive.0-761093519IDS_UITEXT_FeatureInstalledLocal21033This feature will be installed on local hard drive.0-761093519IDS_UITEXT_FeatureInstalledNetwork1033This feature, and all subfeatures, will be installed to run from the network.0-761093519IDS_UITEXT_FeatureInstalledNetwork21033This feature will be installed to run from network.0-761093519IDS_UITEXT_FeatureInstalledRequired1033Will be installed when required.0-761093519IDS_UITEXT_FeatureInstalledWhenRequired1033This feature will be set to be installed when required.0-761093519IDS_UITEXT_FeatureInstalledWhenRequired21033This feature will be installed when required.0-761093519IDS_UITEXT_FeatureLocal1033This feature will be installed on the local hard drive.0-761093519IDS_UITEXT_FeatureLocal21033This feature will be installed on your local hard drive.0-761093519IDS_UITEXT_FeatureNetwork1033This feature will be installed to run from the network.0-761093519IDS_UITEXT_FeatureNetwork21033This feature will be available to run from the network.0-761093519IDS_UITEXT_FeatureNotAvailable1033This feature will not be available.0-761093519IDS_UITEXT_FeatureOnCD1033This feature will be installed to run from CD.0-761093519IDS_UITEXT_FeatureOnCD21033This feature will be available to run from CD.0-761093519IDS_UITEXT_FeatureRemainLocal1033This feature will remain on your local hard drive.0-761093519IDS_UITEXT_FeatureRemoveNetwork1033This feature will be removed from your local hard drive, but will be still available to run from the network.0-761093519IDS_UITEXT_FeatureRemovedCD1033This feature will be removed from your local hard drive but will still be available to run from CD.0-761093519IDS_UITEXT_FeatureRemovedUnlessRequired1033This feature will be removed from your local hard drive but will be set to be installed when required.0-761093519IDS_UITEXT_FeatureRequiredSpace1033This feature requires [1] on your hard drive.0-761093519IDS_UITEXT_FeatureRunFromCD1033This feature will continue to be run from the CD0-761093519IDS_UITEXT_FeatureSpaceFree1033This feature frees up [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures free up [4] on your hard drive.0-761093519IDS_UITEXT_FeatureSpaceFree21033This feature frees up [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures require [4] on your hard drive.0-761093519IDS_UITEXT_FeatureSpaceFree31033This feature requires [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures free up [4] on your hard drive.0-761093519IDS_UITEXT_FeatureSpaceFree41033This feature requires [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures require [4] on your hard drive.0-761093519IDS_UITEXT_FeatureUnavailable1033This feature will become unavailable.0-761093519IDS_UITEXT_FeatureUninstallNoNetwork1033This feature will be uninstalled completely, and you won't be able to run it from the network.0-761093519IDS_UITEXT_FeatureWasCD1033This feature was run from the CD but will be set to be installed when required.0-761093519IDS_UITEXT_FeatureWasCDLocal1033This feature was run from the CD but will be installed on the local hard drive.0-761093519IDS_UITEXT_FeatureWasOnNetworkInstalled1033This feature was run from the network but will be installed when required.0-761093519IDS_UITEXT_FeatureWasOnNetworkLocal1033This feature was run from the network but will be installed on the local hard drive.0-761093519IDS_UITEXT_FeatureWillBeUninstalled1033This feature will be uninstalled completely, and you won't be able to run it from CD.0-761093519IDS_UITEXT_Folder1033Fldr|New Folder0-761093519IDS_UITEXT_GB1033GB0-761093519IDS_UITEXT_KB1033KB0-761093519IDS_UITEXT_MB1033MB0-761093519IDS_UITEXT_Required1033Required0-761093519IDS_UITEXT_TimeRemaining1033Time remaining: {[1] min }{[2] sec}0-761093519IDS_UITEXT_Volume1033Volume0-761093519IDS__AgreeToLicense_01033I &do not accept the terms in the license agreement0-761093519IDS__AgreeToLicense_11033I &accept the terms in the license agreement0-761093519IDS__DatabaseFolder_ChangeFolder1033Click Next to install to this folder, or click Change to install to a different folder.0-761093519IDS__DatabaseFolder_DatabaseDir1033[DATABASEDIR]0-761093519IDS__DatabaseFolder_DatabaseFolder1033{&MSSansBold8}Database Folder0-761093519IDS__DestinationFolder_Change1033&Change...0-761093519IDS__DestinationFolder_ChangeFolder1033Click Next to install to this folder, or click Change to install to a different folder.0-761093519IDS__DestinationFolder_DestinationFolder1033{&MSSansBold8}Destination Folder0-761093519IDS__DestinationFolder_InstallTo1033Install [ProductName] to:0-761093519IDS__DisplayName_Custom1033Custom0-761093519IDS__DisplayName_Minimal1033Minimal0-761093519IDS__DisplayName_Typical1033Typical0-761093519IDS__IsAdminInstallBrowse_1110330-761093519IDS__IsAdminInstallBrowse_410330-761093519IDS__IsAdminInstallBrowse_810330-761093519IDS__IsAdminInstallBrowse_BrowseDestination1033Browse to the destination folder.0-761093519IDS__IsAdminInstallBrowse_ChangeDestination1033{&MSSansBold8}Change Current Destination Folder0-761093519IDS__IsAdminInstallBrowse_CreateFolder1033Create new folder|0-761093519IDS__IsAdminInstallBrowse_FolderName1033&Folder name:0-761093519IDS__IsAdminInstallBrowse_LookIn1033&Look in:0-761093519IDS__IsAdminInstallBrowse_UpOneLevel1033Up one level|0-761093519IDS__IsAdminInstallPointWelcome_ServerImage1033The InstallShield(R) Wizard will create a server image of [ProductName] at a specified network location. To continue, click Next.0-761093519IDS__IsAdminInstallPointWelcome_Wizard1033{&TahomaBold10}Welcome to the InstallShield Wizard for [ProductName]0-761093519IDS__IsAdminInstallPoint_Change1033&Change...0-761093519IDS__IsAdminInstallPoint_EnterNetworkLocation1033Enter the network location or click Change to browse to a location. Click Install to create a server image of [ProductName] at the specified network location or click Cancel to exit the wizard.0-761093519IDS__IsAdminInstallPoint_Install1033&Install0-761093519IDS__IsAdminInstallPoint_NetworkLocation1033&Network location:0-761093519IDS__IsAdminInstallPoint_NetworkLocationFormatted1033{&MSSansBold8}Network Location0-761093519IDS__IsAdminInstallPoint_SpecifyNetworkLocation1033Specify a network location for the server image of the product.0-761093519IDS__IsBrowseButton1033&Browse...0-761093519IDS__IsBrowseFolderDlg_1110330-761093519IDS__IsBrowseFolderDlg_410330-761093519IDS__IsBrowseFolderDlg_810330-761093519IDS__IsBrowseFolderDlg_BrowseDestFolder1033Browse to the destination folder.0-761093519IDS__IsBrowseFolderDlg_ChangeCurrentFolder1033{&MSSansBold8}Change Current Destination Folder0-761093519IDS__IsBrowseFolderDlg_CreateFolder1033Create New Folder|0-761093519IDS__IsBrowseFolderDlg_FolderName1033&Folder name:0-761093519IDS__IsBrowseFolderDlg_LookIn1033&Look in:0-761093519IDS__IsBrowseFolderDlg_OK1033OK0-761093519IDS__IsBrowseFolderDlg_UpOneLevel1033Up One Level|0-761093519IDS__IsBrowseForAccount1033Browse for a User Account0-761093519IDS__IsBrowseGroup1033Select a Group0-761093519IDS__IsBrowseUsernameTitle1033Select a User Name0-761093519IDS__IsCancelDlg_ConfirmCancel1033Are you sure you want to cancel [ProductName] installation?0-761093519IDS__IsCancelDlg_No1033&No0-761093519IDS__IsCancelDlg_Yes1033&Yes0-761093519IDS__IsConfirmPassword1033Con&firm password:0-761093519IDS__IsCreateNewUserTitle1033New User Information0-761093519IDS__IsCreateUserBrowse1033N&ew User Information...0-761093519IDS__IsCustomSelectionDlg_Change1033&Change...0-761093519IDS__IsCustomSelectionDlg_ClickFeatureIcon1033Click on an icon in the list below to change how a feature is installed.0-761093519IDS__IsCustomSelectionDlg_CustomSetup1033{&MSSansBold8}Custom Setup0-761093519IDS__IsCustomSelectionDlg_FeatureDescription1033Feature Description0-761093519IDS__IsCustomSelectionDlg_FeaturePath1033<selected feature path>0-761093519IDS__IsCustomSelectionDlg_FeatureSize1033Feature size0-761093519IDS__IsCustomSelectionDlg_Help1033&Help0-761093519IDS__IsCustomSelectionDlg_InstallTo1033Install to:0-761093519IDS__IsCustomSelectionDlg_MultilineDescription1033Multiline description of the currently selected item0-761093519IDS__IsCustomSelectionDlg_SelectFeatures1033Select the program features you want installed.0-761093519IDS__IsCustomSelectionDlg_Space1033&Space0-761093519IDS__IsDiskSpaceDlg_DiskSpace1033Disk space required for the installation exceeds available disk space.0-761093519IDS__IsDiskSpaceDlg_HighlightedVolumes1033The highlighted volumes do not have enough disk space available for the currently selected features. You can remove files from the highlighted volumes, choose to install fewer features onto local drives, or select different destination drives.0-761093519IDS__IsDiskSpaceDlg_Numbers1033{120}{70}{70}{70}{70}0-761093519IDS__IsDiskSpaceDlg_OK1033OK0-761093519IDS__IsDiskSpaceDlg_OutOfDiskSpace1033{&MSSansBold8}Out of Disk Space0-761093519IDS__IsDomainOrServer1033&Domain or server:0-761093519IDS__IsErrorDlg_Abort1033&Abort0-761093519IDS__IsErrorDlg_ErrorText1033<error text goes here><error text goes here><error text goes here><error text goes here><error text goes here><error text goes here><error text goes here><error text goes here><error text goes here><error text goes here><error text goes here>0-761093519IDS__IsErrorDlg_Ignore1033&Ignore0-761093519IDS__IsErrorDlg_InstallerInfo1033[ProductName] Installer Information0-761093519IDS__IsErrorDlg_NO1033&No0-761093519IDS__IsErrorDlg_OK1033&OK0-761093519IDS__IsErrorDlg_Retry1033&Retry0-761093519IDS__IsErrorDlg_Yes1033&Yes0-761093519IDS__IsExitDialog_Finish1033&Finish0-761093519IDS__IsExitDialog_InstallSuccess1033The InstallShield Wizard has successfully installed [ProductName]. Click Finish to exit the wizard.0-761093519IDS__IsExitDialog_LaunchProgram1033Launch the program0-761093519IDS__IsExitDialog_ShowReadMe1033Show the readme file0-761093519IDS__IsExitDialog_UninstallSuccess1033The InstallShield Wizard has successfully uninstalled [ProductName]. Click Finish to exit the wizard.0-761093519IDS__IsExitDialog_Update_InternetConnection1033Your Internet connection can be used to make sure that you have the latest updates.0-761093519IDS__IsExitDialog_Update_PossibleUpdates1033Some program files might have been updated since you purchased your copy of [ProductName].0-761093519IDS__IsExitDialog_Update_SetupFinished1033Setup has finished installing [ProductName].0-761093519IDS__IsExitDialog_Update_YesCheckForUpdates1033&Yes, check for program updates (Recommended) after the setup completes.0-761093519IDS__IsExitDialog_WizardCompleted1033{&TahomaBold10}InstallShield Wizard Completed0-761093519IDS__IsFatalError_ClickFinish1033Click Finish to exit the wizard.0-761093519IDS__IsFatalError_Finish1033&Finish0-761093519IDS__IsFatalError_KeepOrRestore1033You can either keep any existing installed elements on your system to continue this installation at a later time or you can restore your system to its original state prior to the installation.0-761093519IDS__IsFatalError_NotModified1033Your system has not been modified. To complete installation at another time, please run setup again.0-761093519IDS__IsFatalError_RestoreOrContinueLater1033Click Restore or Continue Later to exit the wizard.0-761093519IDS__IsFatalError_WizardCompleted1033{&TahomaBold10}InstallShield Wizard Completed0-761093519IDS__IsFatalError_WizardInterrupted1033The wizard was interrupted before [ProductName] could be completely installed.0-761093519IDS__IsFeatureDetailsDlg_DiskSpaceRequirements1033{&MSSansBold8}Disk Space Requirements0-761093519IDS__IsFeatureDetailsDlg_Numbers1033{120}{70}{70}{70}{70}0-761093519IDS__IsFeatureDetailsDlg_OK1033OK0-761093519IDS__IsFeatureDetailsDlg_SpaceRequired1033The disk space required for the installation of the selected features.0-761093519IDS__IsFeatureDetailsDlg_VolumesTooSmall1033The highlighted volumes do not have enough disk space available for the currently selected features. You can remove files from the highlighted volumes, choose to install fewer features onto local drives, or select different destination drives.0-761093519IDS__IsFilesInUse_ApplicationsUsingFiles1033The following applications are using files that need to be updated by this setup. Close these applications and click Retry to continue.0-761093519IDS__IsFilesInUse_Exit1033&Exit0-761093519IDS__IsFilesInUse_FilesInUse1033{&MSSansBold8}Files in Use0-761093519IDS__IsFilesInUse_FilesInUseMessage1033Some files that need to be updated are currently in use.0-761093519IDS__IsFilesInUse_Ignore1033&Ignore0-761093519IDS__IsFilesInUse_Retry1033&Retry0-761093519IDS__IsGroup1033&Group:0-761093519IDS__IsGroupLabel1033Gr&oup:0-761093519IDS__IsInitDlg_110330-761093519IDS__IsInitDlg_210330-761093519IDS__IsInitDlg_PreparingWizard1033[ProductName] Setup is preparing the InstallShield Wizard which will guide you through the program setup process. Please wait.0-761093519IDS__IsInitDlg_WelcomeWizard1033{&TahomaBold10}Welcome to the InstallShield Wizard for [ProductName]0-761093519IDS__IsLicenseDlg_LicenseAgreement1033{&MSSansBold8}License Agreement0-761093519IDS__IsLicenseDlg_ReadLicenseAgreement1033Please read the following license agreement carefully.0-761093519IDS__IsLogonInfoDescription1033Specify the user name and password of the user account that will logon to use this application. The user account must be in the form DOMAIN\Username.0-761093519IDS__IsLogonInfoTitle1033{&MSSansBold8}Logon Information0-761093519IDS__IsLogonInfoTitleDescription1033Specify a user name and password0-761093519IDS__IsLogonNewUserDescription1033Select the button below to specify information about a new user that will be created during the installation.0-761093519IDS__IsMaintenanceDlg_ChangeFeatures1033Change which program features are installed. This option displays the Custom Selection dialog in which you can change the way features are installed.0-761093519IDS__IsMaintenanceDlg_MaitenanceOptions1033Modify, repair, or remove the program.0-761093519IDS__IsMaintenanceDlg_Modify1033{&MSSansBold8}&Modify0-761093519IDS__IsMaintenanceDlg_ProgramMaintenance1033{&MSSansBold8}Program Maintenance0-761093519IDS__IsMaintenanceDlg_Remove1033{&MSSansBold8}&Remove0-761093519IDS__IsMaintenanceDlg_RemoveProductName1033Remove [ProductName] from your computer.0-761093519IDS__IsMaintenanceDlg_Repair1033{&MSSansBold8}Re&pair0-761093519IDS__IsMaintenanceDlg_RepairMessage1033Repair installation errors in the program. This option fixes missing or corrupt files, shortcuts, and registry entries.0-761093519IDS__IsMaintenanceWelcome_MaintenanceOptionsDescription1033The InstallShield(R) Wizard will allow you to modify, repair, or remove [ProductName]. To continue, click Next.0-761093519IDS__IsMaintenanceWelcome_WizardWelcome1033{&TahomaBold10}Welcome to the InstallShield Wizard for [ProductName]0-761093519IDS__IsMsiRMFilesInUse_ApplicationsUsingFiles1033The following applications are using files that need to be updated by this setup.0-761093519IDS__IsMsiRMFilesInUse_CloseRestart1033Automatically close and attempt to restart applications.0-761093519IDS__IsMsiRMFilesInUse_RebootAfter1033Do not close applications. (A reboot will be required.)0-761093519IDS__IsPatchDlg_PatchClickUpdate1033The InstallShield(R) Wizard will install the Patch for [ProductName] on your computer. To continue, click Update.0-761093519IDS__IsPatchDlg_PatchWizard1033[ProductName] Patch - InstallShield Wizard0-761093519IDS__IsPatchDlg_Update1033&Update >0-761093519IDS__IsPatchDlg_WelcomePatchWizard1033{&TahomaBold10}Welcome to the Patch for [ProductName]0-761093519IDS__IsProgressDlg_210330-761093519IDS__IsProgressDlg_Hidden1033(Hidden for now)0-761093519IDS__IsProgressDlg_HiddenTimeRemaining1033)Hidden for now)Estimated time remaining:0-761093519IDS__IsProgressDlg_InstallingProductName1033{&MSSansBold8}Installing [ProductName]0-761093519IDS__IsProgressDlg_ProgressDone1033Progress done0-761093519IDS__IsProgressDlg_SecHidden1033(Hidden for now)Sec.0-761093519IDS__IsProgressDlg_Status1033Status:0-761093519IDS__IsProgressDlg_Uninstalling1033{&MSSansBold8}Uninstalling [ProductName]0-761093519IDS__IsProgressDlg_UninstallingFeatures1033The program features you selected are being uninstalled.0-761093519IDS__IsProgressDlg_UninstallingFeatures21033The program features you selected are being installed.0-761093519IDS__IsProgressDlg_WaitUninstall1033Please wait while the InstallShield Wizard uninstalls [ProductName]. This may take several minutes.0-761093519IDS__IsProgressDlg_WaitUninstall21033Please wait while the InstallShield Wizard installs [ProductName]. This may take several minutes.0-761093519IDS__IsReadmeDlg_Cancel1033&Cancel0-761093519IDS__IsReadmeDlg_PleaseReadInfo1033Please read the following readme information carefully.0-761093519IDS__IsReadmeDlg_ReadMeInfo1033{&MSSansBold8}Readme Information0-761093519IDS__IsRegisterUserDlg_1610330-761093519IDS__IsRegisterUserDlg_Anyone1033&Anyone who uses this computer (all users)0-761093519IDS__IsRegisterUserDlg_CustomerInformation1033{&MSSansBold8}Customer Information0-761093519IDS__IsRegisterUserDlg_InstallFor1033Install this application for:0-761093519IDS__IsRegisterUserDlg_OnlyMe1033Only for &me ([USERNAME])0-761093519IDS__IsRegisterUserDlg_Organization1033&Organization:0-761093519IDS__IsRegisterUserDlg_PleaseEnterInfo1033Please enter your information.0-761093519IDS__IsRegisterUserDlg_SerialNumber1033&Serial Number:0-761093519IDS__IsRegisterUserDlg_Tahoma501033{\Tahoma8}{50}0-761093519IDS__IsRegisterUserDlg_Tahoma801033{\Tahoma8}{80}0-761093519IDS__IsRegisterUserDlg_UserName1033&User Name:0-761093519IDS__IsResumeDlg_ResumeSuspended1033The InstallShield(R) Wizard will complete the suspended installation of [ProductName] on your computer. To continue, click Next.0-761093519IDS__IsResumeDlg_Resuming1033{&TahomaBold10}Resuming the InstallShield Wizard for [ProductName]0-761093519IDS__IsResumeDlg_WizardResume1033The InstallShield(R) Wizard will complete the installation of [ProductName] on your computer. To continue, click Next.0-761093519IDS__IsSelectDomainOrServer1033Select a Domain or Server0-761093519IDS__IsSelectDomainUserInstructions1033Use the browse buttons to select a domain\server and a user name.0-761093519IDS__IsSetupComplete_ShowMsiLog1033Show the Windows Installer log0-761093519IDS__IsSetupTypeMinDlg_1310330-761093519IDS__IsSetupTypeMinDlg_AllFeatures1033All program features will be installed. (Requires the most disk space.)0-761093519IDS__IsSetupTypeMinDlg_ChooseFeatures1033Choose which program features you want installed and where they will be installed. Recommended for advanced users.0-761093519IDS__IsSetupTypeMinDlg_ChooseSetupType1033Choose the setup type that best suits your needs.0-761093519IDS__IsSetupTypeMinDlg_Complete1033{&MSSansBold8}&Complete0-761093519IDS__IsSetupTypeMinDlg_Custom1033{&MSSansBold8}Cu&stom0-761093519IDS__IsSetupTypeMinDlg_Minimal1033{&MSSansBold8}&Minimal0-761093519IDS__IsSetupTypeMinDlg_MinimumFeatures1033Minimum required features will be installed.0-761093519IDS__IsSetupTypeMinDlg_SelectSetupType1033Please select a setup type.0-761093519IDS__IsSetupTypeMinDlg_SetupType1033{&MSSansBold8}Setup Type0-761093519IDS__IsSetupTypeMinDlg_Typical1033{&MSSansBold8}&Typical0-761093519IDS__IsUserExit_ClickFinish1033Click Finish to exit the wizard.0-761093519IDS__IsUserExit_Finish1033&Finish0-761093519IDS__IsUserExit_KeepOrRestore1033You can either keep any existing installed elements on your system to continue this installation at a later time or you can restore your system to its original state prior to the installation.0-761093519IDS__IsUserExit_NotModified1033Your system has not been modified. To install this program at a later time, please run the installation again.0-761093519IDS__IsUserExit_RestoreOrContinue1033Click Restore or Continue Later to exit the wizard.0-761093519IDS__IsUserExit_WizardCompleted1033{&TahomaBold10}InstallShield Wizard Completed0-761093519IDS__IsUserExit_WizardInterrupted1033The wizard was interrupted before [ProductName] could be completely installed.0-761093519IDS__IsUserNameLabel1033&User name:0-761093519IDS__IsVerifyReadyDlg_BackOrCancel1033If you want to review or change any of your installation settings, click Back. Click Cancel to exit the wizard.0-761093519IDS__IsVerifyReadyDlg_ClickInstall1033Click Install to begin the installation.0-761093519IDS__IsVerifyReadyDlg_Company1033Company: [COMPANYNAME]0-761093519IDS__IsVerifyReadyDlg_CurrentSettings1033Current Settings:0-761093519IDS__IsVerifyReadyDlg_DestFolder1033Destination Folder:0-761093519IDS__IsVerifyReadyDlg_Install1033&Install0-761093519IDS__IsVerifyReadyDlg_Installdir1033[INSTALLDIR]0-761093519IDS__IsVerifyReadyDlg_ModifyReady1033{&MSSansBold8}Ready to Modify the Program0-761093519IDS__IsVerifyReadyDlg_ReadyInstall1033{&MSSansBold8}Ready to Install the Program0-761093519IDS__IsVerifyReadyDlg_ReadyRepair1033{&MSSansBold8}Ready to Repair the Program0-761093519IDS__IsVerifyReadyDlg_SelectedSetupType1033[SelectedSetupType]0-761093519IDS__IsVerifyReadyDlg_Serial1033Serial: [ISX_SERIALNUM]0-761093519IDS__IsVerifyReadyDlg_SetupType1033Setup Type:0-761093519IDS__IsVerifyReadyDlg_UserInfo1033User Information:0-761093519IDS__IsVerifyReadyDlg_UserName1033Name: [USERNAME]0-761093519IDS__IsVerifyReadyDlg_WizardReady1033The wizard is ready to begin installation.0-761093519IDS__IsVerifyRemoveAllDlg_ChoseRemoveProgram1033You have chosen to remove the program from your system.0-761093519IDS__IsVerifyRemoveAllDlg_ClickBack1033If you want to review or change any settings, click Back.0-761093519IDS__IsVerifyRemoveAllDlg_ClickRemove1033Click Remove to remove [ProductName] from your computer. After removal, this program will no longer be available for use.0-761093519IDS__IsVerifyRemoveAllDlg_Remove1033&Remove0-761093519IDS__IsVerifyRemoveAllDlg_RemoveProgram1033{&MSSansBold8}Remove the Program0-761093519IDS__IsWelcomeDlg_InstallProductName1033The InstallShield(R) Wizard will install [ProductName] on your computer. To continue, click Next.0-761093519IDS__IsWelcomeDlg_WarningCopyright1033WARNING: This program is protected by copyright law and international treaties.0-761093519IDS__IsWelcomeDlg_WelcomeProductName1033{&TahomaBold10}Welcome to the InstallShield Wizard for [ProductName]0-761093519IDS__TargetReq_DESC_COLOR1033The color settings of your system are not adequate for running [ProductName].0-761093519IDS__TargetReq_DESC_OS1033The operating system is not adequate for running [ProductName].0-761093519IDS__TargetReq_DESC_PROCESSOR1033The processor is not adequate for running [ProductName].0-761093519IDS__TargetReq_DESC_RAM1033The amount of RAM is not adequate for running [ProductName].0-761093519IDS__TargetReq_DESC_RESOLUTION1033The screen resolution is not adequate for running [ProductName].0-761093519ID_STRING11033http://kylin.io01965168496ID_STRING21033kylinolap01965175470IIDS_UITEXT_FeatureUninstalled1033This feature will remain uninstalled.0-761093519
+ + + Name + Value + +
UniqueIdCB478353-6AB6-479E-BC05-7D0D66F9E327
+ + + UpgradedImage_ + Name + MsiPath + Order + Flags + IgnoreMissingFiles +
+ + + UpgradeItem + ObjectSetupPath + ISReleaseFlags + ISAttributes +
+ + + Name + MsiPath + Family +
+ + + Directory_ + Name + Value +
+ + + File_ + Name + Value +
+ + + Name + Value +
+ + + Registry_ + Name + Value +
+ + + ISRelease_ + ISProductConfiguration_ + Name + Value +
+ + + Shortcut_ + Name + Value +
+ + + ISXmlElement + ISXmlFile_ + ISXmlElement_Parent + XPath + Content + ISAttributes +
+ + + ISXmlElementAttrib + ISXmlElement_ + Name + Value + ISAttributes +
+ + + ISXmlFile + FileName + Component_ + Directory + ISAttributes + SelectionNamespaces + Encoding +
+ + + Signature_ + Parent + Element + Attribute + ISAttributes +
+ + + Name + Data + ISBuildSourcePath + ISIconIndex + +
ARPPRODUCTICON.exe<ISProductFolder>\redist\Language Independent\OS Independent\setupicon.ico0
+ + + IniFile + FileName + DirProperty + Section + Key + Value + Action + Component_ +
+ + + Signature_ + FileName + Section + Key + Field + Type +
+ + + Action + Condition + Sequence + ISComments + ISAttributes +
AllocateRegistrySpaceNOT Installed1550AllocateRegistrySpace + AppSearch400AppSearch + BindImage4300BindImage + CCPSearchCCP_TEST500CCPSearch + CostFinalize1000CostFinalize + CostInitialize800CostInitialize + CreateFolders3700CreateFolders + CreateShortcuts4500CreateShortcuts + DeleteServicesVersionNT2000DeleteServices + DuplicateFiles4210DuplicateFiles + FileCost900FileCost + FindRelatedProductsNOT ISSETUPDRIVEN420FindRelatedProducts + ISPreventDowngradeISFOUNDNEWERPRODUCTVERSION450ISPreventDowngrade + ISRunSetupTypeAddLocalEventNot Installed And Not ISRUNSETUPTYPEADDLOCALEVENT1050ISRunSetupTypeAddLocalEvent + ISSelfRegisterCosting2201 + ISSelfRegisterFiles5601 + ISSelfRegisterFinalize6601 + ISUnSelfRegisterFiles2202 + InstallFiles4000InstallFiles + InstallFinalize6600InstallFinalize + InstallInitialize1501InstallInitialize + InstallODBC5400InstallODBC + InstallServicesVersionNT5800InstallServices + InstallValidate1400InstallValidate + IsolateComponents950IsolateComponents + LaunchConditionsNot Installed410LaunchConditions + MigrateFeatureStates1010MigrateFeatureStates + MoveFiles3800MoveFiles + MsiConfigureServicesVersionMsi >= "5.00"5850MSI5 MsiConfigureServices + MsiPublishAssemblies6250MsiPublishAssemblies + MsiUnpublishAssemblies1750MsiUnpublishAssemblies + PatchFiles4090PatchFiles + ProcessComponents1600ProcessComponents + PublishComponents6200PublishComponents + PublishFeatures6300PublishFeatures + PublishProduct6400PublishProduct + RMCCPSearchNot CCP_SUCCESS And CCP_TEST600RMCCPSearch + RegisterClassInfo4600RegisterClassInfo + RegisterComPlus5700RegisterComPlus + RegisterExtensionInfo4700RegisterExtensionInfo + RegisterFonts5300RegisterFonts + RegisterMIMEInfo4900RegisterMIMEInfo + RegisterProduct6100RegisterProduct + RegisterProgIdInfo4800RegisterProgIdInfo + RegisterTypeLibraries5500RegisterTypeLibraries + RegisterUser6000RegisterUser + RemoveDuplicateFiles3400RemoveDuplicateFiles + RemoveEnvironmentStrings3300RemoveEnvironmentStrings + RemoveExistingProducts1410RemoveExistingProducts + RemoveFiles3500RemoveFiles + RemoveFolders3600RemoveFolders + RemoveIniValues3100RemoveIniValues + RemoveODBC2400RemoveODBC + RemoveRegistryValues2600RemoveRegistryValues + RemoveShortcuts3200RemoveShortcuts + ResolveSourceNot Installed850ResolveSource + ScheduleRebootISSCHEDULEREBOOT6410ScheduleReboot + SelfRegModules5600SelfRegModules + SelfUnregModules2200SelfUnregModules + SetARPINSTALLLOCATION1100SetARPINSTALLLOCATION + SetAllUsersProfileNTVersionNT = 400970 + SetODBCFolders1200SetODBCFolders + StartServicesVersionNT5900StartServices + StopServicesVersionNT1900StopServices + UnpublishComponents1700UnpublishComponents + UnpublishFeatures1800UnpublishFeatures + UnregisterClassInfo2700UnregisterClassInfo + UnregisterComPlus2100UnregisterComPlus + UnregisterExtensionInfo2800UnregisterExtensionInfo + UnregisterFonts2500UnregisterFonts + UnregisterMIMEInfo3000UnregisterMIMEInfo + UnregisterProgIdInfo2900UnregisterProgIdInfo + UnregisterTypeLibraries2300UnregisterTypeLibraries + ValidateProductID700ValidateProductID + WriteEnvironmentStrings5200WriteEnvironmentStrings + WriteIniValues5100WriteIniValues + WriteRegistryValues5000WriteRegistryValues + setAllUsersProfile2KVersionNT >= 500980 + setUserProfileNTVersionNT960 +
+ + + Property + Value + + + + + + + + + + + + + + + + + + + + + + + + +
ActiveLanguage1033Comments + CurrentMedia +UwBpAG4AZwBsAGUASQBtAGEAZwBlAAEARQB4AHAAcgBlAHMAcwA= + DefaultProductConfigurationExpressEnableSwidtag1ISCompilerOption_CompileBeforeBuild1ISCompilerOption_Debug0ISCompilerOption_IncludePath + ISCompilerOption_LibraryPath + ISCompilerOption_MaxErrors50ISCompilerOption_MaxWarnings50ISCompilerOption_OutputPath<ISProjectDataFolder>\Script FilesISCompilerOption_PreProcessor_ISSCRIPT_NEW_STYLE_DLG_DEFSISCompilerOption_WarningLevel3ISCompilerOption_WarningsAsErrors1ISThemeInstallShield Blue.themeISUSLock{B4B2C8A9-3B91-47A4-B5EC-E69E29ECDE43}ISUSSignature{D702AAE5-6160-4879-A83E-FA2E1EFB02E7}ISVisitedViewsviewAssistant,viewAppV,viewISToday,viewUI,viewBillboards,viewRealSetupDesign,viewShortcuts,viewProject,viewSupportFiles,viewRelease,viewCustomActions,viewSetupTypes,viewUpgradePaths,viewDesignPatches,viewSetupDesign,viewAppFilesLimited1LockPermissionMode1MsiExecCmdLineOptions + MsiLogFile + OnUpgrade0Owner + PatchFamilyMyPatchFamily1PatchSequence1.0.0SaveAsSchema + SccEnabled0SccPath + SchemaVersion774TypeMSIE
+ + + Action + Condition + Sequence + ISComments + ISAttributes +
AppSearch400AppSearch + CCPSearchCCP_TEST500CCPSearch + CostFinalize1000CostFinalize + CostInitialize800CostInitialize + ExecuteAction1300ExecuteAction + FileCost900FileCost + FindRelatedProducts430FindRelatedProducts + ISPreventDowngradeISFOUNDNEWERPRODUCTVERSION450ISPreventDowngrade + InstallWelcomeNot Installed1210InstallWelcome + IsolateComponents950IsolateComponents + LaunchConditionsNot Installed410LaunchConditions + MaintenanceWelcomeInstalled And Not RESUME And Not Preselected And Not PATCH1230MaintenanceWelcome + MigrateFeatureStates1200MigrateFeatureStates + PatchWelcomeInstalled And PATCH And Not IS_MAJOR_UPGRADE1205Patch Panel + RMCCPSearchNot CCP_SUCCESS And CCP_TEST600RMCCPSearch + ResolveSourceNot Installed990ResolveSource + SetAllUsersProfileNTVersionNT = 400970 + SetupCompleteError-3SetupCompleteError + SetupCompleteSuccess-1SetupCompleteSuccess + SetupInitialization420SetupInitialization + SetupInterrupted-2SetupInterrupted + SetupProgress1240SetupProgress + SetupResumeInstalled And (RESUME Or Preselected) And Not PATCH1220SetupResume + ValidateProductID700ValidateProductID + setAllUsersProfile2KVersionNT >= 500980 + setUserProfileNTVersionNT960 +
+ + + Component_Shared + Component_Application +
+ + + Condition + Description +
+ + + Property + Order + Value + Text +
+ + + Property + Order + Value + Text + Binary_ +
+ + + LockObject + Table + Domain + User + Permission +
+ + + ContentType + Extension_ + CLSID +
+ + + DiskId + LastSequence + DiskPrompt + Cabinet + VolumeLabel + Source +
+ + + FileKey + Component_ + SourceName + DestName + SourceFolder + DestFolder + Options +
+ + + Component_ + Feature_ + File_Manifest + File_Application + Attributes +
+ + + Component_ + Name + Value +
+ + + DigitalCertificate + CertData +
+ + + Table + SignObject + DigitalCertificate_ + Hash +
+ + + Component + Flags + Sequence + ReferenceComponents +
+ + + MsiEmbeddedChainer + Condition + CommandLine + Source + Type +
+ + + MsiEmbeddedUI + FileName + Attributes + MessageFilter + Data + ISBuildSourcePath +
+ + + File_ + Options + HashPart1 + HashPart2 + HashPart3 + HashPart4 +
+ + + MsiLockPermissionsEx + LockObject + Table + SDDLText + Condition +
+ + + PackageCertificate + DigitalCertificate_ +
+ + + PatchCertificate + DigitalCertificate_ +
+ + + PatchConfiguration_ + Company + Property + Value +
+ + + File_ + Assembly_ +
+ + + Assembly + Name + Value +
+ + + PatchConfiguration_ + PatchFamily + Target + Sequence + Supersede +
+ + + MsiServiceConfig + Name + Event + ConfigType + Argument + Component_ +
+ + + MsiServiceConfigFailureActions + Name + Event + ResetPeriod + RebootMessage + Command + Actions + DelayActions + Component_ +
+ + + MsiShortcutProperty + Shortcut_ + PropertyKey + PropVariantValue +
+ + + Driver_ + Attribute + Value +
+ + + DataSource + Component_ + Description + DriverDescription + Registration +
+ + + Driver + Component_ + Description + File_ + File_Setup +
+ + + DataSource_ + Attribute + Value +
+ + + Translator + Component_ + Description + File_ + File_Setup +
+ + + File_ + Sequence + PatchSize + Attributes + Header + StreamRef_ + ISBuildSourcePath +
+ + + PatchId + Media_ +
+ + + ProgId + ProgId_Parent + Class_ + Description + Icon_ + IconIndex + ISAttributes +
+ + + Property + Value + ISComments +
ALLUSERS1 + ARPINSTALLLOCATION + ARPPRODUCTICONARPPRODUCTICON.exe + ARPSIZE + ARPURLINFOABOUT##ID_STRING1## + AgreeToLicenseNo + ApplicationUsersAllUsers + DWUSINTERVAL30 + DWUSLINKCECCA7A8CE8C00CF0EACC7B83EBC978F3ECB478FFE7CF0EFCE9CE03FCE9C50BFDEEBE0988EAC + DefaultUIFontExpressDefault + DialogCaptionInstallShield for Windows Installer + DiskPrompt[1] + DiskSerial1234-5678 + DisplayNameCustom##IDS__DisplayName_Custom## + DisplayNameMinimal##IDS__DisplayName_Minimal## + DisplayNameTypical##IDS__DisplayName_Typical## + Display_IsBitmapDlg1 + ErrorDialogSetupError + INSTALLLEVEL200 + ISCHECKFORPRODUCTUPDATES1 + ISENABLEDWUSFINISHDIALOG + ISSHOWMSILOG + ISVROOT_PORT_NO0 + IS_COMPLUS_PROGRESSTEXT_COST##IDS_COMPLUS_PROGRESSTEXT_COST## + IS_COMPLUS_PROGRESSTEXT_INSTALL##IDS_COMPLUS_PROGRESSTEXT_INSTALL## + IS_COMPLUS_PROGRESSTEXT_UNINSTALL##IDS_COMPLUS_PROGRESSTEXT_UNINSTALL## + IS_PREVENT_DOWNGRADE_EXIT##IDS_PREVENT_DOWNGRADE_EXIT## + IS_PROGMSG_TEXTFILECHANGS_REPLACE##IDS_PROGMSG_TEXTFILECHANGS_REPLACE## + IS_PROGMSG_XML_COSTING##IDS_PROGMSG_XML_COSTING## + IS_PROGMSG_XML_CREATE_FILE##IDS_PROGMSG_XML_CREATE_FILE## + IS_PROGMSG_XML_FILES##IDS_PROGMSG_XML_FILES## + IS_PROGMSG_XML_REMOVE_FILE##IDS_PROGMSG_XML_REMOVE_FILE## + IS_PROGMSG_XML_ROLLBACK_FILES##IDS_PROGMSG_XML_ROLLBACK_FILES## + IS_PROGMSG_XML_UPDATE_FILE##IDS_PROGMSG_XML_UPDATE_FILE## + IS_SQLSERVER_AUTHENTICATION0 + IS_SQLSERVER_DATABASE + IS_SQLSERVER_PASSWORD + IS_SQLSERVER_SERVER + IS_SQLSERVER_USERNAMEsa + InstallChoiceAR + LAUNCHPROGRAM1 + LAUNCHREADME1 + Manufacturer##COMPANY_NAME## + PIDKEY + PIDTemplate12345<###-%%%%%%%>@@@@@ + PROGMSG_IIS_CREATEAPPPOOL##IDS_PROGMSG_IIS_CREATEAPPPOOL## + PROGMSG_IIS_CREATEAPPPOOLS##IDS_PROGMSG_IIS_CREATEAPPPOOLS## + PROGMSG_IIS_CREATEVROOT##IDS_PROGMSG_IIS_CREATEVROOT## + PROGMSG_IIS_CREATEVROOTS##IDS_PROGMSG_IIS_CREATEVROOTS## + PROGMSG_IIS_CREATEWEBSERVICEEXTENSION##IDS_PROGMSG_IIS_CREATEWEBSERVICEEXTENSION## + PROGMSG_IIS_CREATEWEBSERVICEEXTENSIONS##IDS_PROGMSG_IIS_CREATEWEBSERVICEEXTENSIONS## + PROGMSG_IIS_CREATEWEBSITE##IDS_PROGMSG_IIS_CREATEWEBSITE## + PROGMSG_IIS_CREATEWEBSITES##IDS_PROGMSG_IIS_CREATEWEBSITES## + PROGMSG_IIS_EXTRACT##IDS_PROGMSG_IIS_EXTRACT## + PROGMSG_IIS_EXTRACTDONE##IDS_PROGMSG_IIS_EXTRACTDONE## + PROGMSG_IIS_EXTRACTDONEz##IDS_PROGMSG_IIS_EXTRACTDONE## + PROGMSG_IIS_EXTRACTzDONE##IDS_PROGMSG_IIS_EXTRACTDONE## + PROGMSG_IIS_REMOVEAPPPOOL##IDS_PROGMSG_IIS_REMOVEAPPPOOL## + PROGMSG_IIS_REMOVEAPPPOOLS##IDS_PROGMSG_IIS_REMOVEAPPPOOLS## + PROGMSG_IIS_REMOVESITE##IDS_PROGMSG_IIS_REMOVESITE## + PROGMSG_IIS_REMOVEVROOT##IDS_PROGMSG_IIS_REMOVEVROOT## + PROGMSG_IIS_REMOVEVROOTS##IDS_PROGMSG_IIS_REMOVEVROOTS## + PROGMSG_IIS_REMOVEWEBSERVICEEXTENSION##IDS_PROGMSG_IIS_REMOVEWEBSERVICEEXTENSION## + PROGMSG_IIS_REMOVEWEBSERVICEEXTENSIONS##IDS_PROGMSG_IIS_REMOVEWEBSERVICEEXTENSIONS## + PROGMSG_IIS_REMOVEWEBSITES##IDS_PROGMSG_IIS_REMOVEWEBSITES## + PROGMSG_IIS_ROLLBACKAPPPOOLS##IDS_PROGMSG_IIS_ROLLBACKAPPPOOLS## + PROGMSG_IIS_ROLLBACKVROOTS##IDS_PROGMSG_IIS_ROLLBACKVROOTS## + PROGMSG_IIS_ROLLBACKWEBSERVICEEXTENSIONS##IDS_PROGMSG_IIS_ROLLBACKWEBSERVICEEXTENSIONS## + ProductCode{C8B1B296-2F8B-423F-97D5-429C9B6D2AE6} + ProductNameKylinODBCDriver (x64) + ProductVersion0.7.0000 + ProgressType0install + ProgressType1Installing + ProgressType2installed + ProgressType3installs + RebootYesNoYes + ReinstallFileVersiono + ReinstallModeTextomus + ReinstallRepairr + RestartManagerOptionCloseRestart + SERIALNUMBER + SERIALNUMVALSUCCESSRETVAL1 + SecureCustomPropertiesISFOUNDNEWERPRODUCTVERSION;USERNAME;COMPANYNAME;ISX_SERIALNUM;SUPPORTDIR + SelectedSetupType##IDS__DisplayName_Typical## + SetupTypeTypical + UpgradeCode{F1865753-4A38-4EE2-A414-70BCB2A625D8} + _IsMaintenanceChange + _IsSetupTypeMinTypical +
+ + + ComponentId + Qualifier + Component_ + AppData + Feature_ +
+ + + Property + Order + Value + X + Y + Width + Height + Text + Help + ISControlId +
AgreeToLicense1No01529115##IDS__AgreeToLicense_0## + AgreeToLicense2Yes0029115##IDS__AgreeToLicense_1## + ApplicationUsers1AllUsers1729014##IDS__IsRegisterUserDlg_Anyone## + ApplicationUsers2OnlyCurrentUser12329014##IDS__IsRegisterUserDlg_OnlyMe## + RestartManagerOption1CloseRestart6933114##IDS__IsMsiRMFilesInUse_CloseRestart## + RestartManagerOption2Reboot62133114##IDS__IsMsiRMFilesInUse_RebootAfter## + _IsMaintenance1Change0029014##IDS__IsMaintenanceDlg_Modify## + _IsMaintenance2Reinstall06029014##IDS__IsMaintenanceDlg_Repair## + _IsMaintenance3Remove012029014##IDS__IsMaintenanceDlg_Remove## + _IsSetupTypeMin1Typical1626414##IDS__IsSetupTypeMinDlg_Typical## +
+ + + Signature_ + Root + Key + Name + Type +
+ + + Registry + Root + Key + Name + Value + Component_ + ISAttributes + + + + + + + +
Registry12SOFTWARE\ODBC\ODBCINST.INI\KylinODBCDriverDir[INSTALLDIR]ISX_DEFAULTCOMPONENT10Registry22SOFTWARE\ODBC\ODBCINST.INI\ODBC DriversKylinODBCDriverInstalledISX_DEFAULTCOMPONENT10Registry32SOFTWARE\ODBC\ODBCINST.INI\KylinODBCDriverDriver[INSTALLDIR]driver.dllISX_DEFAULTCOMPONENT10Registry42SOFTWARE\ODBC\ODBCINST.INI\KylinODBCDriverSetup[INSTALLDIR]driver.dllISX_DEFAULTCOMPONENT10Registry52SOFTWARE\ODBC\ODBCINST.INI\KylinODBCDriverLogLevel#1ISX_DEFAULTCOMPONENT10Registry62SOFTWARE\ODBC\ODBCINST.INI\KylinODBCDriverUsageCount#1ISX_DEFAULTCOMPONENT10Registry72SOFTWARE\ODBC\ODBCINST.INIISX_DEFAULTCOMPONENT11
+ + + FileKey + Component_ + FileName + DirProperty + InstallMode +
+ + + RemoveIniFile + FileName + DirProperty + Section + Key + Value + Action + Component_ +
+ + + RemoveRegistry + Root + Key + Name + Component_ +
+ + + ReserveKey + Component_ + ReserveFolder + ReserveLocal + ReserveSource +
+ + + SFPCatalog + Catalog + Dependency +
+ + + File_ + Cost +
+ + + ServiceControl + Name + Event + Arguments + Wait + Component_ +
+ + + ServiceInstall + Name + DisplayName + ServiceType + StartType + ErrorControl + LoadOrderGroup + Dependencies + StartName + Password + Arguments + Component_ + Description +
+ + + Shortcut + Directory_ + Name + Component_ + Target + Arguments + Description + Hotkey + Icon_ + IconIndex + ShowCmd + WkDir + DisplayResourceDLL + DisplayResourceId + DescriptionResourceDLL + DescriptionResourceId + ISComments + ISShortcutName + ISAttributes +
+ + + Signature + FileName + MinVersion + MaxVersion + MinSize + MaxSize + MinDate + MaxDate + Languages +
+ + + TextStyle + FaceName + Size + Color + StyleBits + + + + + + + +
Arial8Arial8 + Arial9Arial9 + ArialBlue10Arial1016711680 + ArialBlueStrike10Arial10167116808CourierNew8Courier New8 + CourierNew9Courier New9 + ExpressDefaultTahoma8 + MSGothic9MS Gothic9 + MSSGreySerif8MS Sans Serif88421504 + MSSWhiteSerif8Tahoma816777215 + MSSansBold8Tahoma81MSSansSerif8MS Sans Serif8 + MSSansSerif9MS Sans Serif9 + Tahoma10Tahoma10 + Tahoma8Tahoma8 + Tahoma9Tahoma9 + TahomaBold10Tahoma101TahomaBold8Tahoma81Times8Times New Roman8 + Times9Times New Roman9 + TimesItalic12Times New Roman122TimesItalicBlue10Times New Roman10167116802TimesRed16Times New Roman16255 + VerdanaBold14Verdana131
+ + + LibID + Language + Component_ + Version + Description + Directory_ + Feature_ + Cost +
+ + + Key + Text + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AbsentPath + GB##IDS_UITEXT_GB##KB##IDS_UITEXT_KB##MB##IDS_UITEXT_MB##MenuAbsent##IDS_UITEXT_FeatureNotAvailable##MenuAdvertise##IDS_UITEXT_FeatureInstalledWhenRequired2##MenuAllCD##IDS_UITEXT_FeatureInstalledCD##MenuAllLocal##IDS_UITEXT_FeatureInstalledLocal##MenuAllNetwork##IDS_UITEXT_FeatureInstalledNetwork##MenuCD##IDS_UITEXT_FeatureInstalledCD2##MenuLocal##IDS_UITEXT_FeatureInstalledLocal2##MenuNetwork##IDS_UITEXT_FeatureInstalledNetwork2##NewFolder##IDS_UITEXT_Folder##SelAbsentAbsent##IDS_UITEXT_GB##SelAbsentAdvertise##IDS_UITEXT_FeatureInstalledWhenRequired##SelAbsentCD##IDS_UITEXT_FeatureOnCD##SelAbsentLocal##IDS_UITEXT_FeatureLocal##SelAbsentNetwork##IDS_UITEXT_FeatureNetwork##SelAdvertiseAbsent##IDS_UITEXT_FeatureUnavailable##SelAdvertiseAdvertise##IDS_UITEXT_FeatureInstalledRequired##SelAdvertiseCD##IDS_UITEXT_FeatureOnCD2##SelAdvertiseLocal##IDS_UITEXT_FeatureLocal2##SelAdvertiseNetwork##IDS_UITEXT_FeatureNetwork2##SelCDAbsent##IDS_UITEXT_FeatureWillBeUninstalled##SelCDAdvertise##IDS_UITEXT_FeatureWasCD##SelCDCD##IDS_UITEXT_FeatureRunFromCD##SelCDLocal##IDS_UITEXT_FeatureWasCDLocal##SelChildCostNeg##IDS_UITEXT_FeatureFreeSpace##SelChildCostPos##IDS_UITEXT_FeatureRequiredSpace##SelCostPending##IDS_UITEXT_CompilingFeaturesCost##SelLocalAbsent##IDS_UITEXT_FeatureCompletelyRemoved##SelLocalAdvertise##IDS_UITEXT_FeatureRemovedUnlessRequired##SelLocalCD##IDS_UITEXT_FeatureRemovedCD##SelLocalLocal##IDS_UITEXT_FeatureRemainLocal##SelLocalNetwork##IDS_UITEXT_FeatureRemoveNetwork##SelNetworkAbsent##IDS_UITEXT_FeatureUninstallNoNetwork##SelNetworkAdvertise##IDS_UITEXT_FeatureWasOnNetworkInstalled##SelNetworkLocal##IDS_UITEXT_FeatureWasOnNetworkLocal##SelNetworkNetwork##IDS_UITEXT_FeatureContinueNetwork##SelParentCostNegNeg##IDS_UITEXT_FeatureSpaceFree##SelParentCostNegPos##IDS_UITEXT_FeatureSpaceFree2##SelParentCostPosNeg##IDS_UITEXT_FeatureSpaceFree3##SelParentCostPosPos##IDS_UITEXT_FeatureSpaceFree4##TimeRemaining##IDS_UITEXT_TimeRemaining##VolumeCostAvailable##IDS_UITEXT_Available##VolumeCostDifference##IDS_UITEXT_Differences##VolumeCostRequired##IDS_UITEXT_Required##VolumeCostSize##IDS_UITEXT_DiskSize##VolumeCostVolume##IDS_UITEXT_Volume##bytes##IDS_UITEXT_Bytes##
+ + + UpgradeCode + VersionMin + VersionMax + Language + Attributes + Remove + ActionProperty + ISDisplayName + +
{00000000-0000-0000-0000-000000000000}***ALL_VERSIONS***2ISFOUNDNEWERPRODUCTVERSIONISPreventDowngrade
+ + + Extension_ + Verb + Sequence + Command + Argument +
+ + + Table + Column + Nullable + MinValue + MaxValue + KeyTable + KeyColumn + Category + Set + Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ActionTextActionNIdentifierName of action to be described.ActionTextDescriptionYTextLocalized description displayed in progress dialog and log when action is executing.ActionTextTemplateYTemplateOptional localized format template used to format action data records for display during action execution.AdminExecuteSequenceActionNIdentifierName of action to invoke, either in the engine or the handler DLL.AdminExecuteSequenceConditionYConditionOptional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.AdminExecuteSequenceISAttributesYThis is used to store MM Custom Action TypesAdminExecuteSequenceISCommentsYTextAuthor’s comments on this Sequence.AdminExecuteSequenceSequenceY-432767Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action.AdminUISequenceActionNIdentifierName of action to invoke, either in the engine or the handler DLL.AdminUISequenceConditionYConditionOptional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.AdminUISequenceISAttributesYThis is used to store MM Custom Action TypesAdminUISequenceISCommentsYTextAuthor’s comments on this Sequence.AdminUISequenceSequenceY-432767Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action.AdvtExecuteSequenceActionNIdentifierName of action to invoke, either in the engine or the handler DLL.AdvtExecuteSequenceConditionYConditionOptional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.AdvtExecuteSequenceISAttributesYThis is used to store MM Custom Action TypesAdvtExecuteSequenceISCommentsYTextAuthor’s comments on this Sequence.AdvtExecuteSequenceSequenceY-432767Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action.AdvtUISequenceActionNIdentifierName of action to invoke, either in the engine or the handler DLL.AdvtUISequenceConditionYConditionOptional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.AdvtUISequenceISAttributesYThis is used to store MM Custom Action TypesAdvtUISequenceISCommentsYTextAuthor’s comments on this Sequence.AdvtUISequenceSequenceY-432767Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action.AppIdActivateAtStorageY01 + AppIdAppIdNGuid + AppIdDllSurrogateYText + AppIdLocalServiceYText + AppIdRemoteServerNameYFormatted + AppIdRunAsInteractiveUserY01 + AppIdServiceParametersYText + AppSearchPropertyNIdentifierThe property associated with a SignatureAppSearchSignature_NISXmlLocator;Signature1IdentifierThe Signature_ represents a unique file signature and is also the foreign key in the Signature, RegLocator, IniLocator, CompLocator and the DrLocator tables.BBControlAttributesY02147483647A 32-bit word that specifies the attribute flags to be applied to this control.BBControlBBControlNIdentifierName of the control. This name must be unique within a billboard, but can repeat on different billboard.BBControlBillboard_NBillboard1IdentifierExternal key to the Billboard table, name of the billboard.BBControlHeightN032767Height of the bounding rectangle of the control.BBControlTextYTextA string used to set the initial text contained within a control (if appropriate).BBControlTypeNIdentifierThe type of the control.BBControlWidthN032767Width of the bounding rectangle of the control.BBControlXN032767Horizontal coordinate of the upper left corner of the bounding rectangle of the control.BBControlYN032767Vertical coordinate of the upper left corner of the bounding rectangle of the control.BillboardActionYIdentifierThe name of an action. The billboard is displayed during the progress messages received from this action.BillboardBillboardNIdentifierName of the billboard.BillboardFeature_NFeature1IdentifierAn external key to the Feature Table. The billboard is shown only if this feature is being installed.BillboardOrderingY032767A positive integer. If there is more than one billboard corresponding to an action they will be shown in the order defined by this column.BinaryDataYBinaryBinary stream. The binary icon data in PE (.DLL or .EXE) or icon (.ICO) format.BinaryISBuildSourcePathYTextFull path to the ICO or EXE file.BinaryNameNIdentifierUnique key identifying the binary data.BindImageFile_NFile1IdentifierThe index into the File table. This must be an executable file.BindImagePathYPathsA list of ; delimited paths that represent the paths to be searched for the import DLLS. The list is usually a list of properties each enclosed within square brackets [] .CCPSearchSignature_NSignature1IdentifierThe Signature_ represents a unique file signature and is also the foreign key in the Signature, RegLocator, IniLocator, CompLocator and the DrLocator tables.CheckBoxPropertyNIdentifierA named property to be tied to the item.CheckBoxValueYFormattedThe value string associated with the item.ClassAppId_YAppId1GuidOptional AppID containing DCOM information for associated application (string GUID).ClassArgumentYFormattedoptional argument for LocalServers.ClassAttributesY32767Class registration attributes.ClassCLSIDNGuidThe CLSID of an OLE factory.ClassComponent_NComponent1IdentifierRequired foreign key into the Component Table, specifying the component for which to return a path when called through LocateComponent.ClassContextNIdentifierThe numeric server context for this server. CLSCTX_xxxxClassDefInprocHandlerYText1;2;3Optional default inproc handler. Only optionally provided if Context=CLSCTX_LOCAL_SERVER. Typically "ole32.dll" or "mapi32.dll"ClassDescriptionYTextLocalized description for the Class.ClassFeature_NFeature1IdentifierRequired foreign key into the Feature Table, specifying the feature to validate or install in order for the CLSID factory to be operational.ClassFileTypeMaskYTextOptional string containing information for the HKCRthis CLSID) key. If multiple patterns exist, they must be delimited by a semicolon, and numeric subkeys will be generated: 0,1,2...ClassIconIndexY-3276732767Optional icon index.ClassIcon_YIcon1IdentifierOptional foreign key into the Icon Table, specifying the icon file associated with this CLSID. Will be written under the DefaultIcon key.ClassProgId_DefaultYProgId1TextOptional ProgId associated with this CLSID.ComboBoxOrderN132767A positive integer used to determine the ordering of the items within one list. The integers do not have to be consecutive.ComboBoxPropertyNIdentifierA named property to be tied to this item. All the items tied to the same property become part of the same combobox.ComboBoxTextYFormattedThe visible text to be assigned to the item. Optional. If this entry or the entire column is missing, the text is the same as the value.ComboBoxValueNFormattedThe value string associated with this item. Selecting the line will set the associated property to this value.CompLocatorComponentIdNGuidA string GUID unique to this component, version, and language.CompLocatorSignature_NSignature1IdentifierThe table key. The Signature_ represents a unique file signature and is also the foreign key in the Signature table.CompLocatorTypeY01A boolean value that determines if the registry value is a filename or a directory location.ComplusComponent_NComponent1IdentifierForeign key referencing Component that controls the ComPlus component.ComplusExpTypeY032767ComPlus component attributes.ComponentAttributesNRemote execution option, one of irsEnumComponentComponentNIdentifierPrimary key used to identify a particular component record.ComponentComponentIdYGuidA string GUID unique to this component, version, and language.ComponentConditionYConditionA conditional statement that will disable this component if the specified condition evaluates to the 'True' state. If a component is disabled, it will not be installed, regardless of the 'Action' state associated with the component.ComponentDirectory_NDirectory1IdentifierRequired key of a Directory table record. This is actually a property name whose value contains the actual path, set either by the AppSearch action or with the default setting obtained from the Directory table.ComponentISAttributesYThis is used to store Installshield custom properties of a component.ComponentISCommentsYTextUser Comments.ComponentISDotNetInstallerArgsCommitYTextArguments passed to the key file of the component if if implements the .NET Installer classComponentISDotNetInstallerArgsInstallYTextArguments passed to the key file of the component if if implements the .NET Installer classComponentISDotNetInstallerArgsRollbackYTextArguments passed to the key file of the component if if implements the .NET Installer classComponentISDotNetInstallerArgsUninstallYTextArguments passed to the key file of the component if if implements the .NET Installer classComponentISRegFileToMergeAtBuildYTextPath and File name of a .REG file to merge into the component at build time.ComponentISScanAtBuildFileYTextFile used by the Dot Net scanner to populate dependant assemblies' File_Application field.ComponentKeyPathYFile;ODBCDataSource;Registry1IdentifierEither the primary key into the File table, Registry table, or ODBCDataSource table. This extract path is stored when the component is installed, and is used to detect the presence of the component and to return the path to it.ConditionConditionYConditionExpression evaluated to determine if Level in the Feature table is to change.ConditionFeature_NFeature1IdentifierReference to a Feature entry in Feature table.ConditionLevelN032767New selection Level to set in Feature table if Condition evaluates to TRUE.ControlAttributesY02147483647A 32-bit word that specifies the attribute flags to be applied to this control.ControlBinary_YBinary1IdentifierExternal key to the Binary table.ControlControlNIdentifierName of the control. This name must be unique within a dialog, but can repeat on different dialogs.ControlControl_NextYControl2IdentifierThe name of an other control on the same dialog. This link defines the tab order of the controls. The links have to form one or more cycles!ControlDialog_NDialog1IdentifierExternal key to the Dialog table, name of the dialog.ControlHeightN032767Height of the bounding rectangle of the control.ControlHelpYTextThe help strings used with the button. The text is optional.ControlISBuildSourcePathYTextFull path to .rtf file for scrollable text controlControlISControlIdYA number used to represent the control ID of the Control, Used in Dialog exportControlISWindowStyleY02147483647A 32-bit word that specifies non-MSI window styles to be applied to this control.ControlPropertyYIdentifierThe name of a defined property to be linked to this control.ControlTextYFormattedA string used to set the initial text contained within a control (if appropriate).ControlTypeNIdentifierThe type of the control.ControlWidthN032767Width of the bounding rectangle of the control.ControlXN032767Horizontal coordinate of the upper left corner of the bounding rectangle of the control.ControlYN032767Vertical coordinate of the upper left corner of the bounding rectangle of the control.ControlConditionActionNDefault;Disable;Enable;Hide;ShowThe desired action to be taken on the specified control.ControlConditionConditionNConditionA standard conditional statement that specifies under which conditions the action should be triggered.ControlConditionControl_NControl2IdentifierA foreign key to the Control table, name of the control.ControlConditionDialog_NDialog1IdentifierA foreign key to the Dialog table, name of the dialog.ControlEventArgumentNFormattedA value to be used as a modifier when triggering a particular event.ControlEventConditionYConditionA standard conditional statement that specifies under which conditions an event should be triggered.ControlEventControl_NControl2IdentifierA foreign key to the Control table, name of the controlControlEventDialog_NDialog1IdentifierA foreign key to the Dialog table, name of the dialog.ControlEventEventNFormattedAn identifier that specifies the type of the event that should take place when the user interacts with control specified by the first two entries.ControlEventOrderingY02147483647An integer used to order several events tied to the same control. Can be left blank.CreateFolderComponent_NComponent1IdentifierForeign key into the Component table.CreateFolderDirectory_NDirectory1IdentifierPrimary key, could be foreign key into the Directory table.CustomActionActionNIdentifierPrimary key, name of action, normally appears in sequence table unless private use.CustomActionExtendedTypeY02147483647The numeric custom action type info flags.CustomActionISCommentsYTextAuthor’s comments for this custom action.CustomActionSourceYCustomSourceThe table reference of the source of the code.CustomActionTargetYISDLLWrapper;ISInstallScriptAction1FormattedExcecution parameter, depends on the type of custom actionCustomActionTypeN132767The numeric custom action type, consisting of source location, code type, entry, option flags.DialogAttributesY02147483647A 32-bit word that specifies the attribute flags to be applied to this dialog.DialogControl_CancelYControl2IdentifierDefines the cancel control. Hitting escape or clicking on the close icon on the dialog is equivalent to pushing this button.DialogControl_DefaultYControl2IdentifierDefines the default control. Hitting return is equivalent to pushing this button.DialogControl_FirstNControl2IdentifierDefines the control that has the focus when the dialog is created.DialogDialogNIdentifierName of the dialog.DialogHCenteringN0100Horizontal position of the dialog on a 0-100 scale. 0 means left end, 100 means right end of the screen, 50 center.DialogHeightN032767Height of the bounding rectangle of the dialog.DialogISCommentsYTextAuthor’s comments for this dialog.DialogISResourceIdYA Number the Specifies the Dialog ID to be used in Dialog ExportDialogISWindowStyleYA 32-bit word that specifies non-MSI window styles to be applied to this control. This is only used in Script Based Setups.DialogTextStyle_YIdentifierForeign Key into TextStyle table, only used in Script Based Projects.DialogTitleYFormattedA text string specifying the title to be displayed in the title bar of the dialog's window.DialogVCenteringN0100Vertical position of the dialog on a 0-100 scale. 0 means top end, 100 means bottom end of the screen, 50 center.DialogWidthN032767Width of the bounding rectangle of the dialog.DirectoryDefaultDirNTextThe default sub-path under parent's path.DirectoryDirectoryNIdentifierUnique identifier for directory entry, primary key. If a property by this name is defined, it contains the full path to the directory.DirectoryDirectory_ParentYDirectory1IdentifierReference to the entry in this table specifying the default parent directory. A record parented to itself or with a Null parent represents a root of the install tree.DirectoryISAttributesY0;1;2;3;4;5;6;7This is used to store Installshield custom properties of a directory. Currently the only one is Shortcut.DirectoryISDescriptionYTextDescription of folderDirectoryISFolderNameYTextThis is used in Pro projects because the pro identifier used in the tree wasn't necessarily unique.DrLocatorDepthY032767The depth below the path to which the Signature_ is recursively searched. If absent, the depth is assumed to be 0.DrLocatorParentYIdentifierThe parent file signature. It is also a foreign key in the Signature table. If null and the Path column does not expand to a full path, then all the fixed drives of the user system are searched using the Path.DrLocatorPathYAnyPathThe path on the user system. This is a either a subpath below the value of the Parent or a full path. The path may contain properties enclosed within [ ] that will be expanded.DrLocatorSignature_NSignature1IdentifierThe Signature_ represents a unique file signature and is also the foreign key in the Signature table.DuplicateFileComponent_NComponent1IdentifierForeign key referencing Component that controls the duplicate file.DuplicateFileDestFolderYIdentifierName of a property whose value is assumed to resolve to the full pathname to a destination folder.DuplicateFileDestNameYTextFilename to be given to the duplicate file.DuplicateFileFileKeyNIdentifierPrimary key used to identify a particular file entryDuplicateFileFile_NFile1IdentifierForeign key referencing the source file to be duplicated.EnvironmentComponent_NComponent1IdentifierForeign key into the Component table referencing component that controls the installing of the environmental value.EnvironmentEnvironmentNIdentifierUnique identifier for the environmental variable settingEnvironmentNameNTextThe name of the environmental value.EnvironmentValueYFormattedThe value to set in the environmental settings.ErrorErrorN032767Integer error number, obtained from header file IError(...) macros.ErrorMessageYTemplateError formatting template, obtained from user ed. or localizers.EventMappingAttributeNIdentifierThe name of the control attribute, that is set when this event is received.EventMappingControl_NControl2IdentifierA foreign key to the Control table, name of the control.EventMappingDialog_NDialog1IdentifierA foreign key to the Dialog table, name of the Dialog.EventMappingEventNIdentifierAn identifier that specifies the type of the event that the control subscribes to.ExtensionComponent_NComponent1IdentifierRequired foreign key into the Component Table, specifying the component for which to return a path when called through LocateComponent.ExtensionExtensionNTextThe extension associated with the table row.ExtensionFeature_NFeature1IdentifierRequired foreign key into the Feature Table, specifying the feature to validate or install in order for the CLSID factory to be operational.ExtensionMIME_YMIME1TextOptional Context identifier, typically "type/format" associated with the extensionExtensionProgId_YProgId1TextOptional ProgId associated with this extension.FeatureAttributesN0;1;2;4;5;6;8;9;10;16;17;18;20;21;22;24;25;26;32;33;34;36;37;38;48;49;50;52;53;54Feature attributesFeatureDescriptionYTextLonger descriptive text describing a visible feature item.FeatureDirectory_YDirectory1UpperCaseThe name of the Directory that can be configured by the UI. A non-null value will enable the browse button.FeatureDisplayY032767Numeric sort order, used to force a specific display ordering.FeatureFeatureNIdentifierPrimary key used to identify a particular feature record.FeatureFeature_ParentYFeature1IdentifierOptional key of a parent record in the same table. If the parent is not selected, then the record will not be installed. Null indicates a root item.FeatureISCommentsYCommentsFeatureISFeatureCabNameYName of CAB used when compressing CABs by Feature. Used to override build generated name for CAB file.FeatureISProFeatureNameYTextThe name of the feature used by pro projects. This doesn't have to be unique.FeatureISReleaseFlagsYRelease Flags that specify whether this feature will be built in a particular release.FeatureLevelN032767The install level at which record will be initially selected. An install level of 0 will disable an item and prevent its display.FeatureTitleYTextShort text identifying a visible feature item.FeatureComponentsComponent_NComponent1IdentifierForeign key into Component table.FeatureComponentsFeature_NFeature1IdentifierForeign key into Feature table.FileAttributesY032767Integer containing bit flags representing file attributes (with the decimal value of each bit position in parentheses)FileComponent_NComponent1IdentifierForeign key referencing Component that controls the file.FileFileNIdentifierPrimary key, non-localized token, must match identifier in cabinet. For uncompressed files, this field is ignored.FileFileNameNTextFile name used for installation. This may contain a "short name|long name" pair. It may be just a long name, hence it cannot be of the Filename data type.FileFileSizeN02147483647Size of file in bytes (long integer).FileISAttributesY02147483647This field contains the following attributes: UseSystemSettings(0x1)FileISBuildSourcePathYTextFull path, the category is of Text instead of Path because of potential use of path variables.FileISComponentSubFolder_YIdentifierForeign key referencing component subfolder containing this file. Only for Pro.FileLanguageYLanguageList of decimal language Ids, comma-separated if more than one.FileSequenceN132767Sequence with respect to the media images; order must track cabinet order.FileVersionYFile1VersionVersion string for versioned files; Blank for unversioned files.FileSFPCatalogFile_NFile1IdentifierFile associated with the catalogFileSFPCatalogSFPCatalog_NSFPCatalog1TextCatalog associated with the fileFontFile_NFile1IdentifierPrimary key, foreign key into File table referencing font file.FontFontTitleYTextFont name.ISAssistantTagDataY + ISAssistantTagTagN + ISBillBoardColorY + ISBillBoardDisplayNameY + ISBillBoardDurationN032767 + ISBillBoardEffectN032767 + ISBillBoardFontY + ISBillBoardISBillboardN + ISBillBoardOriginN032767 + ISBillBoardSequenceN-3276732767 + ISBillBoardStyleY + ISBillBoardTargetN032767 + ISBillBoardTitleY + ISBillBoardXN032767 + ISBillBoardYN032767 + ISChainPackageDisplayNameYTextDisplay name for the chained package. Used only in the IDE.ISChainPackageISReleaseFlagsY + ISChainPackageInstallConditionYCondition + ISChainPackageInstallPropertiesYFormatted + ISChainPackageOptionsNInteger + ISChainPackageOrderNInteger + ISChainPackagePackageNIdentifier + ISChainPackageProductCodeY + ISChainPackageRemoveConditionYCondition + ISChainPackageRemovePropertiesYFormatted + ISChainPackageSourcePathY + ISChainPackageDataDataYBinaryBinary stream. The binary icon data in PE (.DLL or .EXE) or icon (.ICO) format.ISChainPackageDataFileNIdentifier + ISChainPackageDataFilePathNFormatted + ISChainPackageDataISBuildSourcePathYTextFull path to the ICO or EXE file.ISChainPackageDataOptionsY + ISChainPackageDataPackage_NISChainPackage1Identifier + ISClrWrapAction_NCustomAction1IdentifierForeign key into CustomAction tableISClrWrapNameNTextProperty associated with this ActionISClrWrapValueYTextValue associated with this PropertyISComCatalogAttributeISComCatalogObject_NISComCatalogObject1IdentifierForeign key into the ISComCatalogObject table.ISComCatalogAttributeItemNameNTextThe named attribute for a catalog object.ISComCatalogAttributeItemValueYTextA value associated with the attribute defined in the ItemName column.ISComCatalogCollectionCollectionNameNTextA catalog collection name.ISComCatalogCollectionISComCatalogCollectionNIdentifierA unique key for the ISComCatalogCollection table.ISComCatalogCollectionISComCatalogObject_NISComCatalogObject1IdentifierForeign key into the ISComCatalogObject table.ISComCatalogCollectionObjectsISComCatalogCollection_NISComCatalogCollection1IdentifierA unique key for the ISComCatalogCollection table.ISComCatalogCollectionObjectsISComCatalogObject_NISComCatalogObject1IdentifierForeign key into the ISComCatalogObject table.ISComCatalogObjectDisplayNameNThe display name of a catalog object.ISComCatalogObjectISComCatalogObjectNIdentifierA unique key for the ISComCatalogObject table.ISComPlusApplicationComponent_NComponent1IdentifierForeign key into the Component table that a COM+ application belongs to.ISComPlusApplicationComputerNameYTextComputer name that a COM+ application belongs to.ISComPlusApplicationDepFilesYTextList of the dependent files.ISComPlusApplicationISAttributesYInstallShield custom attributes associated with a COM+ application.ISComPlusApplicationISComCatalogObject_NISComCatalogObject1IdentifierForeign key into the ISComCatalogObject table.ISComPlusApplicationDLLAlterDLLYTextAlternate filename of the COM+ application component. Will be used for a .NET serviced component.ISComPlusApplicationDLLCLSIDNTextCLSID of the COM+ application component.ISComPlusApplicationDLLDLLYTextFilename of the COM+ application component.ISComPlusApplicationDLLISComCatalogObject_NISComCatalogObject1IdentifierForeign key into the ISComCatalogObject table.ISComPlusApplicationDLLISComPlusApplicationDLLNIdentifierA unique key for the ISComPlusApplicationDLL table.ISComPlusApplicationDLLISComPlusApplication_NISComPlusApplication1IdentifierForeign key into the ISComPlusApplication table.ISComPlusApplicationDLLProgIdYTextProgId of the COM+ application component.ISComPlusProxyComponent_YComponent1IdentifierForeign key into the Component table that a COM+ application proxy belongs to.ISComPlusProxyDepFilesYTextList of the dependent files.ISComPlusProxyISAttributesYInstallShield custom attributes associated with a COM+ application proxy.ISComPlusProxyISComPlusApplication_NISComPlusApplication1IdentifierForeign key into the ISComPlusApplication table that a COM+ application proxy belongs to.ISComPlusProxyISComPlusProxyNIdentifierA unique key for the ISComPlusProxy table.ISComPlusProxyDepFileFile_NFile1IdentifierForeign key into the File table.ISComPlusProxyDepFileISComPlusApplication_NISComPlusApplication1IdentifierForeign key into the ISComPlusApplication table.ISComPlusProxyDepFileISPathYTextFull path of the dependent file.ISComPlusProxyFileFile_NFile1IdentifierForeign key into the File table.ISComPlusProxyFileISComPlusApplicationDLL_NISComPlusApplicationDLL1IdentifierForeign key into the ISComPlusApplicationDLL table.ISComPlusServerDepFileFile_NFile1IdentifierForeign key into the File table.ISComPlusServerDepFileISComPlusApplication_NISComPlusApplication1IdentifierForeign key into the ISComPlusApplication table.ISComPlusServerDepFileISPathYTextFull path of the dependent file.ISComPlusServerFileFile_NFile1IdentifierForeign key into the File table.ISComPlusServerFileISComPlusApplicationDLL_NISComPlusApplicationDLL1IdentifierForeign key into the ISComPlusApplicationDLL table.ISComponentExtendedComponent_NComponent1IdentifierPrimary key used to identify a particular component record.ISComponentExtendedFTPLocationYTextFTP LocationISComponentExtendedFilterPropertyNIdentifierProperty to set if you want to filter a componentISComponentExtendedHTTPLocationYTextHTTP LocationISComponentExtendedLanguageYTextLanguageISComponentExtendedMiscellaneousYTextMiscellaneousISComponentExtendedOSYbitwise addition of OSsISComponentExtendedPlatformsYbitwise addition of Platforms.ISCustomActionReferenceAction_NCustomAction1IdentifierForeign key into theICustomAction table.ISCustomActionReferenceDescriptionYTextContents of the file speciifed in ISCAReferenceFilePath. This column is only used by MSI.ISCustomActionReferenceFileTypeYTextfile type of the file specified ISCAReferenceFilePath. This column is only used by MSI.ISCustomActionReferenceISCAReferenceFilePathYTextFull path, the category is of Text instead of Path because of potential use of path variables. This column only exists in ISM.ISDIMDependencyISDIMReference_NIdentifierThis is the primary key to the ISDIMDependency tableISDIMDependencyRequiredBuildVersionYTextthe build version identifying the required DIMISDIMDependencyRequiredMajorVersionYTextthe major version identifying the required DIMISDIMDependencyRequiredMinorVersionYTextthe minor version identifying the required DIMISDIMDependencyRequiredRevisionVersionYTextthe revision version identifying the required DIMISDIMDependencyRequiredUUIDNTextthe UUID identifying the required DIMISDIMReferenceISBuildSourcePathYTextFull path, the category is of Text instead of Path because of potential use of path variables.ISDIMReferenceISDIMReferenceNISDIMDependency1IdentifierThis is the primary key to the ISDIMReference tableISDIMReferenceDependenciesISDIMDependency_NISDIMDependency1IdentifierForeign key into ISDIMDependency table.ISDIMReferenceDependenciesISDIMReference_ParentNISDIMReference1IdentifierForeign key into ISDIMReference table.ISDIMVariableISDIMReference_NISDIMReference1IdentifierForeign key into ISDIMReference table.ISDIMVariableISDIMVariableNIdentifierThis is the primary key to the ISDIMVariable tableISDIMVariableNameNTextName of a variable defined in the .dim fileISDIMVariableNewValueYTextNew value that you want to override withISDIMVariableTypeYType of the variable. 0: Build Variable, 1: Runtime VariableISDLLWrapperEntryPointNTextThis is a foreign key to the target column in the CustomAction tableISDLLWrapperSourceNFormattedThis is column points to the source file for the DLLWrapper Custom ActionISDLLWrapperTargetNTextThe function signatureISDLLWrapperTypeYTypeISDRMFileFile_YFile1IdentifierForeign key into File table. A null value will cause a build warning.ISDRMFileISDRMFileNIdentifierUnique identifier for this item.ISDRMFileISDRMLicense_YISDRMLicense1IdentifierForeign key referencing License that packages this file.ISDRMFileShellNTextText indicating the activation shell used at runtime.ISDRMFileAttributeISDRMFile_NISDRMFile1IdentifierPrimary foreign key into ISDRMFile table.ISDRMFileAttributePropertyNTextThe name of the attributeISDRMFileAttributeValueYTextThe value of the attributeISDRMLicenseAttributesYNumberBitwise field used to specify binary attributes of this license.ISDRMLicenseDescriptionYTextAn internal description of this license.ISDRMLicenseISDRMLicenseNIdentifierUnique key identifying the license record.ISDRMLicenseLicenseNumberYTextThe license number.ISDRMLicenseProjectVersionYTextThe version of the project that this license is tied to.ISDRMLicenseRequestCodeYTextThe request code.ISDRMLicenseResponseCodeYTextThe response code.ISDependencyExcludeY + ISDependencyISDependencyY + ISDisk1FileDiskY-1;0;1Used to differentiate between disk1(1), last disk(-1), and other(0).ISDisk1FileISBuildSourcePathNTextFull path of file to be copied to Disk1 folderISDisk1FileISDisk1FileNIdentifierPrimary key for ISDisk1File tableISDynamicFileComponent_NComponent1IdentifierForeign key referencing Component that controls the file.ISDynamicFileExcludeFilesYTextWildcards for excluded files.ISDynamicFileISAttributesY0;1;2;3;4;5;6;7;8;9;10;11;12;13;14;15This is used to store Installshield custom properties of a dynamic filet. Currently the only one is SelfRegister.ISDynamicFileIncludeFilesYTextWildcards for included files.ISDynamicFileIncludeFlagsYInclude flags.ISDynamicFileSourceFolderNTextFull path, the category is of Text instead of Path because of potential use of path variables.ISFeatureDIMReferencesFeature_NFeature1IdentifierForeign key into Feature table.ISFeatureDIMReferencesISDIMReference_NISDIMReference1IdentifierForeign key into ISDIMReference table.ISFeatureMergeModuleExcludesFeature_NIdentifierForeign key into Feature table.ISFeatureMergeModuleExcludesLanguageNForeign key into ISMergeModule table.ISFeatureMergeModuleExcludesModuleIDNIdentifierForeign key into ISMergeModule table.ISFeatureMergeModulesFeature_NFeature1IdentifierForeign key into Feature table.ISFeatureMergeModulesISMergeModule_NISMergeModule1TextForeign key into ISMergeModule table.ISFeatureMergeModulesLanguage_NISMergeModule2Foreign key into ISMergeModule table.ISFeatureSetupPrerequisitesFeature_NFeature1IdentifierForeign key into Feature table.ISFeatureSetupPrerequisitesISSetupPrerequisites_NISSetupPrerequisites1 + ISFileManifestsFile_NIdentifierForeign key into File table.ISFileManifestsManifest_NIdentifierForeign key into File table.ISIISItemComponent_YComponent1IdentifierForeign key to Component table.ISIISItemDisplayNameYTextLocalizable Item Name.ISIISItemISIISItemNIdentifierPrimary key for each item.ISIISItemISIISItem_ParentYISIISItem1IdentifierThis record's parent record.ISIISItemTypeNIIS resource type.ISIISPropertyFriendlyNameYTextIIS property name.ISIISPropertyISAttributesYFlags.ISIISPropertyISIISItem_NISIISItem1IdentifierPrimary key for table, foreign key into ISIISItem.ISIISPropertyISIISPropertyNIdentifierPrimary key for table.ISIISPropertyMetaDataAttributesYIIS property attributes.ISIISPropertyMetaDataPropYIIS property ID.ISIISPropertyMetaDataTypeYIIS property data type.ISIISPropertyMetaDataUserTypeYIIS property user data type.ISIISPropertyMetaDataValueYTextIIS property value.ISIISPropertyOrderYOrder sequencing.ISIISPropertySchemaYTextIIS7 schema information.ISInstallScriptActionEntryPointNTextThis is a foreign key to the target column in the CustomAction tableISInstallScriptActionSourceNFormattedThis is column points to the source file for the DLLWrapper Custom ActionISInstallScriptActionTargetYTextThe function signatureISInstallScriptActionTypeYTypeISLanguageISLanguageNTextThis is the language ID.ISLanguageIncludedY0;1Specify whether this language should be included.ISLinkerLibraryISLinkerLibraryNIdentifierUnique identifier for the link library.ISLinkerLibraryLibraryNTextFull path of the object library (.obl file).ISLinkerLibraryOrderNOrder of the LibraryISLocalControlAttributesYA 32-bit word that specifies the attribute flags to be applied to this control.ISLocalControlBinary_YBinary1IdentifierExternal key to the Binary table.ISLocalControlControl_NControl2IdentifierName of the control. This name must be unique within a dialog, but can repeat on different dialogs.ISLocalControlDialog_NDialog1IdentifierExternal key to the Dialog table, name of the dialog.ISLocalControlHeightYHeight of the bounding rectangle of the control.ISLocalControlISBuildSourcePathYTextFull path to .rtf file for scrollable text controlISLocalControlISLanguage_NISLanguage1TextThis is a foreign key to the ISLanguage table.ISLocalControlWidthYWidth of the bounding rectangle of the control.ISLocalControlXYHorizontal coordinate of the upper left corner of the bounding rectangle of the control.ISLocalControlYYVertical coordinate of the upper left corner of the bounding rectangle of the control.ISLocalDialogAttributesYA 32-bit word that specifies the attribute flags to be applied to this dialog.ISLocalDialogDialog_YDialog1IdentifierName of the dialog.ISLocalDialogHeightN032767Height of the bounding rectangle of the dialog.ISLocalDialogISLanguage_YISLanguage1TextThis is a foreign key to the ISLanguage table.ISLocalDialogTextStyle_YIdentifierForeign Key into TextStyle table, only used in Script Based Projects.ISLocalDialogWidthN032767Width of the bounding rectangle of the dialog.ISLocalRadioButtonHeightN032767The height of the button.ISLocalRadioButtonISLanguage_NISLanguage1TextThis is a foreign key to the ISLanguage table.ISLocalRadioButtonOrderN132767RadioButton2A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive.ISLocalRadioButtonPropertyNRadioButton1IdentifierA named property to be tied to this radio button. All the buttons tied to the same property become part of the same group.ISLocalRadioButtonWidthN032767The width of the button.ISLocalRadioButtonXN032767The horizontal coordinate of the upper left corner of the bounding rectangle of the radio button.ISLocalRadioButtonYN032767The vertical coordinate of the upper left corner of the bounding rectangle of the radio button.ISLockPermissionsAttributesY-21474836472147483647Permissions attributes mask, 1==Deny access; 2==No inherit, 4==Ignore apply failures, 8==Target object is 64-bitISLockPermissionsDomainYTextDomain name for user whose permissions are being set.ISLockPermissionsLockObjectNIdentifierForeign key into CreateFolder, Registry, or File tableISLockPermissionsPermissionY-21474836472147483647Permission Access mask.ISLockPermissionsTableNIdentifierCreateFolder;File;RegistryReference to another table nameISLockPermissionsUserNTextUser for permissions to be set. This can be a property, hardcoded named, or SID stringISLogicalDiskCabinetYCabinetIf some or all of the files stored on the media are compressed in a cabinet, the name of that cabinet.ISLogicalDiskDiskIdN132767Primary key, integer to determine sort order for table.ISLogicalDiskDiskPromptYTextDisk name: the visible text actually printed on the disk. This will be used to prompt the user when this disk needs to be inserted.ISLogicalDiskISProductConfiguration_NISProductConfiguration1TextForeign key into the ISProductConfiguration table.ISLogicalDiskISRelease_NISRelease1TextForeign key into the ISRelease table.ISLogicalDiskLastSequenceN032767File sequence number for the last file for this media.ISLogicalDiskSourceYPropertyThe property defining the location of the cabinet file.ISLogicalDiskVolumeLabelYTextThe label attributed to the volume.ISLogicalDiskFeaturesFeature_YFeature1IdentifierRequired foreign key into the Feature Table,ISLogicalDiskFeaturesISAttributesYThis is used to store Installshield custom properties, like Compressed, etc.ISLogicalDiskFeaturesISLogicalDisk_N132767ISLogicalDisk1IdentifierForeign key into the ISLogicalDisk table.ISLogicalDiskFeaturesISProductConfiguration_NISProductConfiguration1TextForeign key into the ISProductConfiguration table.ISLogicalDiskFeaturesISRelease_NISRelease1TextForeign key into the ISRelease table.ISLogicalDiskFeaturesSequenceN032767File sequence number for the file for this media.ISMergeModuleDestinationYTextDestination.ISMergeModuleISAttributesYThis is used to store Installshield custom properties of a merge module.ISMergeModuleISMergeModuleNTextThe GUID identifying the merge module.ISMergeModuleLanguageNDefault decimal language of module.ISMergeModuleNameNTextName of the merge module.ISMergeModuleCfgValuesAttributesYAttributes (from configurable merge module)ISMergeModuleCfgValuesContextDataYTextContextData (from configurable merge module)ISMergeModuleCfgValuesDefaultValueYTextDefaultValue (from configurable merge module)ISMergeModuleCfgValuesDescriptionYTextDescription (from configurable merge module)ISMergeModuleCfgValuesDisplayNameYTextDisplayName (from configurable merge module)ISMergeModuleCfgValuesFormatNFormat (from configurable merge module)ISMergeModuleCfgValuesHelpKeywordYTextHelpKeyword (from configurable merge module)ISMergeModuleCfgValuesHelpLocationYTextHelpLocation (from configurable merge module)ISMergeModuleCfgValuesISMergeModule_NISMergeModule1TextThe module signature, a foreign key into the ISMergeModule tableISMergeModuleCfgValuesLanguage_NISMergeModule2Default decimal language of module.ISMergeModuleCfgValuesModuleConfiguration_NIdentifierIdentifier, foreign key into ModuleConfiguration table (ModuleConfiguration.Name)ISMergeModuleCfgValuesTypeYTextType (from configurable merge module)ISMergeModuleCfgValuesValueYTextValue for this item.ISObjectLanguageNText + ISObjectObjectNameNText + ISObjectPropertyIncludeInBuildYBoolean, 0 for false non 0 for trueISObjectPropertyObjectNameYISObject1Text + ISObjectPropertyPropertyYText + ISObjectPropertyValueYText + ISPatchConfigImagePatchConfiguration_YISPatchConfiguration1TextForeign key to the ISPatchConfigurationTableISPatchConfigImageUpgradedImage_NISUpgradedImage1TextForeign key to the ISUpgradedImageTableISPatchConfigurationAttributesYPatchConfiguration attributesISPatchConfigurationCanPCDifferNThis is determine whether Product Codes may differISPatchConfigurationCanPVDifferNThis is determine whether the Major Product Version may differISPatchConfigurationEnablePatchCacheNThis is determine whether to Enable Patch cacheingISPatchConfigurationFlagsNPatching API FlagsISPatchConfigurationIncludeWholeFilesNThis is determine whether to build a binary level patchISPatchConfigurationLeaveDecompressedNThis is determine whether to leave intermediate files devcompressed when finishedISPatchConfigurationMinMsiVersionNMinimum Required MSI VersionISPatchConfigurationNameNTextName of the Patch ConfigurationISPatchConfigurationOptimizeForSizeNThis is determine whether to Optimize for large filesISPatchConfigurationOutputPathNTextBuild LocationISPatchConfigurationPatchCacheDirYTextDirectory to recieve the Patch Cache informationISPatchConfigurationPatchGuidNTextUnique Patch IdentifierISPatchConfigurationPatchGuidsToReplaceYTextList Of Patch Guids to unregisterISPatchConfigurationTargetProductCodesNTextList Of target Product CodesISPatchConfigurationPropertyISPatchConfiguration_YISPatchConfiguration1TextName of the Patch ConfigurationISPatchConfigurationPropertyPropertyYTextName of the Patch Configuration Property valueISPatchConfigurationPropertyValueYTextValue of the Patch Configuration PropertyISPatchExternalFileFileKeyNTextFilekeyISPatchExternalFileFilePathNTextFilepathISPatchExternalFileISUpgradedImage_NISUpgradedImage1TextForeign key to the isupgraded image tableISPatchExternalFileNameNTextUniqu name to identify this record.ISPatchWholeFileComponentYTextComponent containing file keyISPatchWholeFileFileKeyNTextKey of file to be included as wholeISPatchWholeFileUpgradedImageNISUpgradedImage1TextForeign key to ISUpgradedImage TableISPathVariableISPathVariableNThe name of the path variable.ISPathVariableTestValueYTextThe test value of the path variable.ISPathVariableTypeN1;2;4;8The type of the path variable.ISPathVariableValueYTextThe value of the path variable.ISPowerShellWrapAction_NCustomAction1IdentifierForeign key into CustomAction tableISPowerShellWrapNameNTextProperty associated with this ActionISPowerShellWrapValueYTextValue associated with this PropertyISProductConfigurationGeneratePackageCodeYNumber0;1Indicates whether or not to generate a package code.ISProductConfigurationISProductConfigurationNTextThe name of the product configuration.ISProductConfigurationProductConfigurationFlagsYTextProduct configuration (release) flags.ISProductConfigurationInstanceISProductConfiguration_NISProductConfiguration1TextForeign key into the ISProductConfiguration table.ISProductConfigurationInstanceInstanceIdN032767Identifies the instance number of this instance. This value is stored in the Property InstanceId.ISProductConfigurationInstancePropertyNTextProduct Congiuration property nameISProductConfigurationInstanceValueNTextString value for property.ISProductConfigurationPropertyISProductConfiguration_NISProductConfiguration1TextForeign key into the ISProductConfiguration table.ISProductConfigurationPropertyPropertyNProperty1TextProduct Congiuration property nameISProductConfigurationPropertyValueYTextString value for property. Never null or empty.ISReleaseAttributesNBitfield holding boolean values for various release attributes.ISReleaseBuildLocationNTextBuild location.ISReleaseCDBrowserYTextDemoshield browser location.ISReleaseDefaultLanguageNTextDefault language for setup.ISReleaseDigitalPVKYTextDigital signing private key (.pvk) file.ISReleaseDigitalSPCYTextDigital signing Software Publisher Certificate (.spc) file.ISReleaseDigitalURLYTextDigital signing URL.ISReleaseDiskClusterSizeNDisk cluster size.ISReleaseDiskSizeNTextDisk size.ISReleaseDiskSizeUnitN0;1;2Disk size units (KB or MB).ISReleaseDiskSpanningN0;1;2Disk spanning (automatic, enforce size, etc.).ISReleaseDotNetBuildConfigurationYTextBuild Configuration for .NET solutions.ISReleaseISProductConfiguration_NISProductConfiguration1TextForeign key into the ISProductConfiguration table.ISReleaseISReleaseNTextThe name of the release.ISReleaseISSetupPrerequisiteLocationY0;1;2;3Location the Setup Prerequisites will be placed inISReleaseMediaLocationNTextMedia location on disk.ISReleaseMsiCommandLineYTextCommand line passed to the msi package from setup.exeISReleaseMsiSourceTypeN-14MSI media source type.ISReleasePackageNameNTextPackage name.ISReleasePasswordYTextPassword.ISReleasePlatformsNTextPlatforms supported (Intel, Alpha, etc.).ISReleaseReleaseFlagsYTextRelease flags.ISReleaseReleaseTypeN1;2;4Release type (single, uncompressed, etc.).ISReleaseSupportedLanguagesDataYTextLanguages supported (for component filtering).ISReleaseSupportedLanguagesUINTextUI languages supported.ISReleaseSupportedOSsNIndicate which operating systmes are supported.ISReleaseSynchMsiYTextMSI file to synchronize file keys and other data with (patch-like functionality).ISReleaseTypeN06Release type (CDROM, Network, etc.).ISReleaseURLLocationYTextMedia location via URL.ISReleaseVersionCopyrightYTextVersion stamp information.ISReleaseASPublishInfoISProductConfiguration_NISProductConfiguration1TextForeign key into the ISProductConfiguration table.ISReleaseASPublishInfoISRelease_NISRelease1TextForeign key into the ISRelease table.ISReleaseASPublishInfoPropertyYTextAS Repository property nameISReleaseASPublishInfoValueYTextAS Repository property valueISReleaseExtendedAttributesYBitfield holding boolean values for various release attributes.ISReleaseExtendedCertPasswordYTextDigital certificate passwordISReleaseExtendedDigitalCertificateDBaseNSYTextPath to cerificate database for Netscape digital signatureISReleaseExtendedDigitalCertificateIdNSYTextPath to cerificate ID for Netscape digital signatureISReleaseExtendedDigitalCertificatePasswordNSYTextPassword for Netscape digital signatureISReleaseExtendedDotNetBaseLanguageYTextBase Languge of .NET RedistISReleaseExtendedDotNetFxCmdLineYTextCommand Line to pass to DotNetFx.exeISReleaseExtendedDotNetLangPackCmdLineYTextCommand Line to pass to LangPack.exeISReleaseExtendedDotNetLangaugePacksYText.NET Redist language packs to includeISReleaseExtendedDotNetRedistLocationY03Location of .NET framework Redist (Web, SetupExe, Source, None)ISReleaseExtendedDotNetRedistURLYTextURL to .NET framework RedistISReleaseExtendedDotNetVersionY02Version of .NET framework Redist (1.0, 1.1)ISReleaseExtendedEngineLocationY02Location of msi engine (Web, SetupExe...)ISReleaseExtendedISEngineLocationY02Location of ISScript engine (Web, SetupExe...)ISReleaseExtendedISEngineURLYTextURL to InstallShield scripting engineISReleaseExtendedISProductConfiguration_NTextForeign key into the ISProductConfiguration table.ISReleaseExtendedISRelease_NTextThe name of the release.ISReleaseExtendedJSharpCmdLineYTextCommand Line to pass to vjredist.exeISReleaseExtendedJSharpRedistLocationY03Location of J# framework Redist (Web, SetupExe, Source, None)ISReleaseExtendedMsiEngineVersionYBitfield holding selected MSI engine versions included in this releaseISReleaseExtendedOneClickCabNameYTextFile name of generated cabfileISReleaseExtendedOneClickHtmlNameYTextFile name of generated html pageISReleaseExtendedOneClickTargetBrowserY02Target browser (IE, Netscape, both...)ISReleaseExtendedWebCabSizeY02147483647Size of the cabfileISReleaseExtendedWebLocalCachePathYTextDirectory to cache downloaded packageISReleaseExtendedWebTypeY02Type of web install (One Executable, Downloader...)ISReleaseExtendedWebURLYTextURL to .msi packageISReleaseExtendedWin9xMsiUrlYTextURL to Ansi MSI engineISReleaseExtendedWinMsi30UrlYTextURL to MSI 3.0 engineISReleaseExtendedWinNTMsiUrlYTextURL to Unicode MSI engineISReleasePropertyISProductConfiguration_NTextForeign key into ISProductConfiguration table.ISReleasePropertyISRelease_NTextForeign key into ISRelease table.ISReleasePropertyNameNProperty nameISReleasePropertyValueNProperty valueISReleasePublishInfoDescriptionYTextRepository item descriptionISReleasePublishInfoDisplayNameYTextRepository item display nameISReleasePublishInfoISAttributesYBitfield holding various attributesISReleasePublishInfoISProductConfiguration_NISProductConfiguration1TextForeign key into the ISProductConfiguration table.ISReleasePublishInfoISRelease_NISRelease1TextThe name of the release.ISReleasePublishInfoPublisherYTextRepository item publisherISReleasePublishInfoRepositoryYTextRepository which to publish the built merge moduleISSQLConnectionAttributesN + ISSQLConnectionAuthenticationN + ISSQLConnectionBatchSeparatorY + ISSQLConnectionCmdTimeoutY + ISSQLConnectionCommentsY + ISSQLConnectionDatabaseN + ISSQLConnectionISSQLConnectionNIdentifierPrimary key used to identify a particular ISSQLConnection record.ISSQLConnectionOrderN + ISSQLConnectionPasswordN + ISSQLConnectionScriptVersion_ColumnY + ISSQLConnectionScriptVersion_TableY + ISSQLConnectionServerN + ISSQLConnectionUserNameN + ISSQLConnectionDBServerISSQLConnectionDBServerNIdentifierPrimary key used to identify a particular ISSQLConnectionDBServer record.ISSQLConnectionDBServerISSQLConnection_NISSQLConnection1IdentifierForeign key into ISSQLConnection table.ISSQLConnectionDBServerISSQLDBMetaData_NISSQLDBMetaData1IdentifierForeign key into ISSQLDBMetaData table.ISSQLConnectionDBServerOrderN + ISSQLConnectionScriptISSQLConnection_NISSQLConnection1IdentifierForeign key into ISSQLConnection table.ISSQLConnectionScriptISSQLScriptFile_NISSQLScriptFile1IdentifierForeign key into ISSQLScriptFile table.ISSQLConnectionScriptOrderN + ISSQLDBMetaDataAdoCxnAdditionalY + ISSQLDBMetaDataAdoCxnDatabaseY + ISSQLDBMetaDataAdoCxnDriverY + ISSQLDBMetaDataAdoCxnNetLibraryY + ISSQLDBMetaDataAdoCxnPasswordY + ISSQLDBMetaDataAdoCxnPortY + ISSQLDBMetaDataAdoCxnServerY + ISSQLDBMetaDataAdoCxnUserIDY + ISSQLDBMetaDataAdoCxnWindowsSecurityY + ISSQLDBMetaDataAdoDriverNameY + ISSQLDBMetaDataCreateDbCmdY + ISSQLDBMetaDataCreateTableCmdY + ISSQLDBMetaDataDisplayNameY + ISSQLDBMetaDataDsnODBCNameY + ISSQLDBMetaDataISAttributesY + ISSQLDBMetaDataISSQLDBMetaDataNIdentifierPrimary key used to identify a particular ISSQLDBMetaData record.ISSQLDBMetaDataInsertRecordCmdY + ISSQLDBMetaDataLocalInstanceNamesY + ISSQLDBMetaDataQueryDatabasesCmdY + ISSQLDBMetaDataScriptVersion_ColumnY + ISSQLDBMetaDataScriptVersion_ColumnTypeY + ISSQLDBMetaDataScriptVersion_TableY + ISSQLDBMetaDataSelectTableCmdY + ISSQLDBMetaDataSwitchDbCmdY + ISSQLDBMetaDataTestDatabaseCmdY + ISSQLDBMetaDataTestTableCmdY + ISSQLDBMetaDataTestTableCmd2Y + ISSQLDBMetaDataVersionBeginTokenY + ISSQLDBMetaDataVersionEndTokenY + ISSQLDBMetaDataVersionInfoCmdY + ISSQLDBMetaDataWinAuthentUserIdY + ISSQLRequirementAttributesN + ISSQLRequirementISSQLConnectionDBServer_YISSQLConnectionDBServer1IdentifierForeign key into ISSQLConnectionDBServer table.ISSQLRequirementISSQLConnection_NISSQLConnection1IdentifierForeign key into ISSQLConnection table.ISSQLRequirementISSQLRequirementNIdentifierPrimary key used to identify a particular ISSQLRequirement record.ISSQLRequirementMajorVersionY + ISSQLRequirementServicePackLevelY + ISSQLScriptErrorAttributesN + ISSQLScriptErrorErrHandlingN + ISSQLScriptErrorErrNumberN + ISSQLScriptErrorISSQLScriptFile_YISSQLScriptFile1IdentifierForeign key into ISSQLScriptFile tableISSQLScriptErrorMessageYTextCustom end-user message. Reserved for future use.ISSQLScriptFileAttributesN + ISSQLScriptFileCommentsYTextCommentsISSQLScriptFileComponent_NComponent1IdentifierForeign key referencing Component that controls the SQL script.ISSQLScriptFileConditionYConditionA conditional statement that will disable this script if the specified condition evaluates to the 'False' state. If a script is disabled, it will not be installed regardless of the 'Action' state associated with the component.ISSQLScriptFileDisplayNameYTextDisplay name for the SQL script file.ISSQLScriptFileErrorHandlingN + ISSQLScriptFileISBuildSourcePathYTextFull path, the category is of Text instead of Path because of potential use of path variables.ISSQLScriptFileISSQLScriptFileNIdentifierThis is the primary key to the ISSQLScriptFile tableISSQLScriptFileInstallTextYTextFeedback end-user text at installISSQLScriptFileSchedulingN + ISSQLScriptFileUninstallTextYTextFeedback end-user text at UninstallISSQLScriptFileVersionYTextSchema Version (#####.#####.#####.#####)ISSQLScriptImportAttributesN + ISSQLScriptImportAuthenticationN + ISSQLScriptImportDatabaseY + ISSQLScriptImportExcludeTablesY + ISSQLScriptImportISSQLScriptFile_NISSQLScriptFile1IdentifierForeign key into ISSQLScriptFile table.ISSQLScriptImportIncludeTablesY + ISSQLScriptImportPasswordY + ISSQLScriptImportServerY + ISSQLScriptImportUserNameY + ISSQLScriptReplaceAttributesN + ISSQLScriptReplaceISSQLScriptFile_NISSQLScriptFile1IdentifierForeign key into ISSQLScriptFile table.ISSQLScriptReplaceISSQLScriptReplaceNIdentifierPrimary key used to identify a particular ISSQLScriptReplace record.ISSQLScriptReplaceReplaceY + ISSQLScriptReplaceSearchY + ISScriptFileISScriptFileNTextThis is the full path of the script file. The path portion may be expressed in path variable form.ISSelfRegCmdLineY + ISSelfRegCostY + ISSelfRegFileKeyNFile1IdentifierForeign key to the file tableISSelfRegOrderY + ISSetupFileFileNameYTextThis is the file name to use when streaming the file to the support files locationISSetupFileISSetupFileNIdentifierThis is the primary key to the ISSetupFile tableISSetupFileLanguageYTextFour digit language identifier. 0 for Language NeutralISSetupFilePathYTextLink to the source file on the build machineISSetupFileSplashYShortBoolean value indication whether his setup file entry belongs in the Splasc Screen sectionISSetupFileStreamYBinaryBinary stream. The bits to stream to the support locationISSetupPrerequisitesISBuildSourcePathY + ISSetupPrerequisitesISReleaseFlagsYRelease Flags that specify whether this prereq will be included in a particular release.ISSetupPrerequisitesISSetupLocationY0;1;2 + ISSetupPrerequisitesISSetupPrerequisitesN + ISSetupPrerequisitesOrderY + ISSetupTypeCommentsYTextUser Comments.ISSetupTypeDescriptionYTextLonger descriptive text describing a visible feature item.ISSetupTypeDisplayN032767Numeric sort order, used to force a specific display ordering.ISSetupTypeDisplay_NameYFormattedA string used to set the initial text contained within a control (if appropriate).ISSetupTypeISSetupTypeNIdentifierPrimary key used to identify a particular feature record.ISSetupTypeFeaturesFeature_NFeature1IdentifierForeign key into Feature table.ISSetupTypeFeaturesISSetupType_NISSetupType1IdentifierForeign key into ISSetupType table.ISStoragesISBuildSourcePathYPath to the file to stream into sub-storageISStoragesNameNName of the sub-storage keyISStringCommentYTextCommentISStringEncodedYEncoding for multi-byte strings.ISStringISLanguage_NTextThis is a foreign key to the ISLanguage table.ISStringISStringNTextString id.ISStringTimeStampYTime/DateTime Stamp. MSI's Time/Date column type is just an int, with bits packed in a certain order.ISStringValueYTextreal string value.ISSwidtagPropertyNameNIdentifierProperty nameISSwidtagPropertyValueNTextProperty valueISTargetImageFlagsYrelative order of the target imageISTargetImageIgnoreMissingFilesNIf true, ignore missing source files when creating patchISTargetImageMsiPathNTextPath to the target imageISTargetImageNameNIdentifierName of the TargetImageISTargetImageOrderNrelative order of the target imageISTargetImageUpgradedImage_NISUpgradedImage1Textforeign key to the upgraded Image tableISUpgradeMsiItemISAttributesN0;1 + ISUpgradeMsiItemISReleaseFlagsY + ISUpgradeMsiItemObjectSetupPathNTextThe path to the setup you want to upgrade.ISUpgradeMsiItemUpgradeItemNTextThe name of the Upgrade Item.ISUpgradedImageFamilyNTextName of the image familyISUpgradedImageMsiPathNTextPath to the upgraded imageISUpgradedImageNameNIdentifierName of the UpgradedImageISVirtualDirectoryDirectory_NDirectory1IdentifierForeign key into Directory table.ISVirtualDirectoryNameNIdentifierProperty nameISVirtualDirectoryValueNProperty valueISVirtualFileFile_NFile1IdentifierForeign key into File table.ISVirtualFileNameNIdentifierProperty nameISVirtualFileValueNProperty valueISVirtualPackageNameNIdentifierProperty nameISVirtualPackageValueNProperty valueISVirtualRegistryNameNIdentifierProperty nameISVirtualRegistryRegistry_NRegistry1IdentifierForeign key into Registry table.ISVirtualRegistryValueNProperty valueISVirtualReleaseISProductConfiguration_NTextForeign key into ISProductConfiguration table.ISVirtualReleaseISRelease_NTextForeign key into ISRelease table.ISVirtualReleaseNameNProperty nameISVirtualReleaseValueNProperty valueISVirtualShortcutNameNIdentifierProperty nameISVirtualShortcutShortcut_NShortcut1IdentifierForeign key into Shortcut table.ISVirtualShortcutValueNProperty valueISXmlElementContentYTextElement contentsISXmlElementISAttributesYNumberInternal XML element attributesISXmlElementISXmlElementNIdentifierPrimary key, non-localized, internal token for Xml elementISXmlElementISXmlElement_ParentYISXmlElement1IdentifierForeign key into ISXMLElement table.ISXmlElementISXmlFile_NISXmlFile1IdentifierForeign key into XmlFile table.ISXmlElementXPathYTextXPath fragment including any operatorsISXmlElementAttribISAttributesYNumberInternal XML elementattib attributesISXmlElementAttribISXmlElementAttribNIdentifierPrimary key, non-localized, internal token for Xml element attributeISXmlElementAttribISXmlElement_NISXmlElement1IdentifierForeign key into ISXMLElement table.ISXmlElementAttribNameYTextLocalized attribute nameISXmlElementAttribValueYTextLocalized attribute valueISXmlFileComponent_NComponent1IdentifierForeign key into Component table.ISXmlFileDirectoryNIdentifierForeign key into Directory table.ISXmlFileEncodingYTextXML File EncodingISXmlFileFileNameNTextLocalized XML file nameISXmlFileISAttributesYNumberInternal XML file attributesISXmlFileISXmlFileNIdentifierPrimary key, non-localized,internal token for Xml fileISXmlFileSelectionNamespacesYTextSelection namespacesISXmlLocatorAttributeYThe name of an attribute within the XML element.ISXmlLocatorElementYXPath query that will locate an element in an XML file.ISXmlLocatorISAttributesY0;1;2 + ISXmlLocatorParentYIdentifierThe parent file signature. It is also a foreign key in the Signature table.ISXmlLocatorSignature_NIdentifierThe Signature_ represents a unique file signature and is also the foreign key in the Signature, RegLocator, IniLocator, ISXmlLocator, CompLocator and the DrLocator tables.IconDataYBinaryBinary stream. The binary icon data in PE (.DLL or .EXE) or icon (.ICO) format.IconISBuildSourcePathYTextFull path to the ICO or EXE file.IconISIconIndexY-3276732767Optional icon index to be extracted.IconNameNIdentifierPrimary key. Name of the icon file.IniFileActionN0;1;3The type of modification to be made, one of iifEnumIniFileComponent_NComponent1IdentifierForeign key into the Component table referencing component that controls the installing of the .INI value.IniFileDirPropertyYIdentifierForeign key into the Directory table denoting the directory where the .INI file is.IniFileFileNameNTextThe .INI file name in which to write the informationIniFileIniFileNIdentifierPrimary key, non-localized token.IniFileKeyNFormattedThe .INI file key below Section.IniFileSectionNFormattedThe .INI file Section.IniFileValueNFormattedThe value to be written.IniLocatorFieldY032767The field in the .INI line. If Field is null or 0 the entire line is read.IniLocatorFileNameNTextThe .INI file name.IniLocatorKeyNTextKey value (followed by an equals sign in INI file).IniLocatorSectionNTextSection name within in file (within square brackets in INI file).IniLocatorSignature_NSignature1IdentifierThe table key. The Signature_ represents a unique file signature and is also the foreign key in the Signature table.IniLocatorTypeY02An integer value that determines if the .INI value read is a filename or a directory location or to be used as is w/o interpretation.InstallExecuteSequenceActionNIdentifierName of action to invoke, either in the engine or the handler DLL.InstallExecuteSequenceConditionYConditionOptional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.InstallExecuteSequenceISAttributesYThis is used to store MM Custom Action TypesInstallExecuteSequenceISCommentsYTextAuthor’s comments on this Sequence.InstallExecuteSequenceSequenceY-432767Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action.InstallShieldPropertyNIdentifierName of property, uppercase if settable by launcher or loader.InstallShieldValueYTextString value for property.InstallUISequenceActionNIdentifierName of action to invoke, either in the engine or the handler DLL.InstallUISequenceConditionYConditionOptional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.InstallUISequenceISAttributesYThis is used to store MM Custom Action TypesInstallUISequenceISCommentsYTextAuthor’s comments on this Sequence.InstallUISequenceSequenceY-432767Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action.IsolatedComponentComponent_ApplicationNComponent1IdentifierKey to Component table item for applicationIsolatedComponentComponent_SharedNComponent1IdentifierKey to Component table item to be isolatedLaunchConditionConditionNConditionExpression which must evaluate to TRUE in order for install to commence.LaunchConditionDescriptionNTextLocalizable text to display when condition fails and install must abort.ListBoxOrderN132767A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive.ListBoxPropertyNIdentifierA named property to be tied to this item. All the items tied to the same property become part of the same listbox.ListBoxTextYTextThe visible text to be assigned to the item. Optional. If this entry or the entire column is missing, the text is the same as the value.ListBoxValueNFormattedThe value string associated with this item. Selecting the line will set the associated property to this value.ListViewBinary_YBinary1IdentifierThe name of the icon to be displayed with the icon. The binary information is looked up from the Binary Table.ListViewOrderN132767A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive.ListViewPropertyNIdentifierA named property to be tied to this item. All the items tied to the same property become part of the same listview.ListViewTextYTextThe visible text to be assigned to the item. Optional. If this entry or the entire column is missing, the text is the same as the value.ListViewValueNTextThe value string associated with this item. Selecting the line will set the associated property to this value.LockPermissionsDomainYTextDomain name for user whose permissions are being set. (usually a property)LockPermissionsLockObjectNIdentifierForeign key into Registry or File tableLockPermissionsPermissionY-21474836472147483647Permission Access mask. Full Control = 268435456 (GENERIC_ALL = 0x10000000)LockPermissionsTableNIdentifierDirectory;File;RegistryReference to another table nameLockPermissionsUserNTextUser for permissions to be set. (usually a property)MIMECLSIDYClass1GuidOptional associated CLSID.MIMEContentTypeNTextPrimary key. Context identifier, typically "type/format".MIMEExtension_NExtension1TextOptional associated extension (without dot)MediaCabinetYCabinetIf some or all of the files stored on the media are compressed in a cabinet, the name of that cabinet.MediaDiskIdN132767Primary key, integer to determine sort order for table.MediaDiskPromptYTextDisk name: the visible text actually printed on the disk. This will be used to prompt the user when this disk needs to be inserted.MediaLastSequenceN032767File sequence number for the last file for this media.MediaSourceYPropertyThe property defining the location of the cabinet file.MediaVolumeLabelYTextThe label attributed to the volume.MoveFileComponent_NComponent1IdentifierIf this component is not "selected" for installation or removal, no action will be taken on the associated MoveFile entryMoveFileDestFolderNIdentifierName of a property whose value is assumed to resolve to the full path to the destination directoryMoveFileDestNameYTextName to be given to the original file after it is moved or copied. If blank, the destination file will be given the same name as the source fileMoveFileFileKeyNIdentifierPrimary key that uniquely identifies a particular MoveFile recordMoveFileOptionsN01Integer value specifying the MoveFile operating mode, one of imfoEnumMoveFileSourceFolderYIdentifierName of a property whose value is assumed to resolve to the full path to the source directoryMoveFileSourceNameYTextName of the source file(s) to be moved or copied. Can contain the '*' or '?' wildcards.MsiAssemblyAttributesYAssembly attributesMsiAssemblyComponent_NComponent1IdentifierForeign key into Component table.MsiAssemblyFeature_NFeature1IdentifierForeign key into Feature table.MsiAssemblyFile_ApplicationYFile1IdentifierForeign key into File table, denoting the application context for private assemblies. Null for global assemblies.MsiAssemblyFile_ManifestYFile1IdentifierForeign key into the File table denoting the manifest file for the assembly.MsiAssemblyNameComponent_NComponent1IdentifierForeign key into Component table.MsiAssemblyNameNameNTextThe name part of the name-value pairs for the assembly name.MsiAssemblyNameValueNTextThe value part of the name-value pairs for the assembly name.MsiDigitalCertificateCertDataNBinaryA certificate context blob for a signer certificateMsiDigitalCertificateDigitalCertificateNMsiPackageCertificate2IdentifierA unique identifier for the rowMsiDigitalSignatureDigitalCertificate_NMsiDigitalCertificate1IdentifierForeign key to MsiDigitalCertificate table identifying the signer certificateMsiDigitalSignatureHashYBinaryThe encoded hash blob from the digital signatureMsiDigitalSignatureSignObjectNTextForeign key to Media tableMsiDigitalSignatureTableNIdentifierReference to another table name (only Media table is supported)MsiDriverPackagesComponentNComponent1IdentifierPrimary key used to identify a particular component record.MsiDriverPackagesFlagsNDriver package flagsMsiDriverPackagesReferenceComponentsY + MsiDriverPackagesSequenceYInstallation sequence numberMsiEmbeddedChainerCommandLineYFormatted + MsiEmbeddedChainerConditionYCondition + MsiEmbeddedChainerMsiEmbeddedChainerNIdentifier + MsiEmbeddedChainerSourceNCustomSource + MsiEmbeddedChainerTypeYInteger2;18;50 + MsiEmbeddedUIAttributesN03IntegerInformation about the data in the Data column.MsiEmbeddedUIDataYBinaryThis column contains binary information.MsiEmbeddedUIFileNameNFilenameThe name of the file that receives the binary information in the Data column.MsiEmbeddedUIISBuildSourcePathYText + MsiEmbeddedUIMessageFilterY0234913791IntegerSpecifies the types of messages that are sent to the user interface DLL. This column is only relevant for rows with the msidbEmbeddedUI attribute.MsiEmbeddedUIMsiEmbeddedUINIdentifierThe primary key for the table.MsiFileHashFile_NFile1IdentifierPrimary key, foreign key into File table referencing file with this hashMsiFileHashHashPart1NSize of file in bytes (long integer).MsiFileHashHashPart2NSize of file in bytes (long integer).MsiFileHashHashPart3NSize of file in bytes (long integer).MsiFileHashHashPart4NSize of file in bytes (long integer).MsiFileHashOptionsN032767Various options and attributes for this hash.MsiLockPermissionsExConditionYFormattedExpression which must evaluate to TRUE in order for this set of permissions to be appliedMsiLockPermissionsExLockObjectNIdentifierForeign key into Registry, File, CreateFolder, or ServiceInstall tableMsiLockPermissionsExMsiLockPermissionsExNIdentifierPrimary key, non-localized tokenMsiLockPermissionsExSDDLTextNFormattedSDDLTextString to indicate permissions to be applied to the LockObjectMsiLockPermissionsExTableNIdentifierCreateFolder;File;Registry;ServiceInstallReference to another table nameMsiPackageCertificateDigitalCertificate_NIdentifierA foreign key to the digital certificate tableMsiPackageCertificatePackageCertificateNIdentifierA unique identifier for the rowMsiPatchCertificateDigitalCertificate_NMsiDigitalCertificate1IdentifierA foreign key to the digital certificate tableMsiPatchCertificatePatchCertificateNIdentifierA unique identifier for the rowMsiPatchMetadataCompanyYTextOptional company nameMsiPatchMetadataPatchConfiguration_NISPatchConfiguration1TextForeign key to the ISPatchConfiguration tableMsiPatchMetadataPropertyNTextName of the metadataMsiPatchMetadataValueYTextValue of the metadataMsiPatchOldAssemblyFileAssembly_YMsiPatchOldAssemblyName1 + MsiPatchOldAssemblyFileFile_NFile1 + MsiPatchOldAssemblyNameAssemblyN + MsiPatchOldAssemblyNameNameN + MsiPatchOldAssemblyNameValueY + MsiPatchSequencePatchConfiguration_NISPatchConfiguration1TextForeign key to the patch configuration tableMsiPatchSequencePatchFamilyNTextName of the family to which this patch belongsMsiPatchSequenceSequenceNVersionThe version of this patch in this familyMsiPatchSequenceSupersedeNIntegerSupersedeMsiPatchSequenceTargetYTextTarget product codes for this patch familyMsiServiceConfigArgumentYTextArgument(s) for service configuration. Value depends on the content of the ConfigType fieldMsiServiceConfigComponent_NComponent1IdentifierRequired foreign key into the Component Table that controls the configuration of the serviceMsiServiceConfigConfigTypeN-21474836472147483647Service Configuration OptionMsiServiceConfigEventN07Bit field: 0x1 = Install, 0x2 = Uninstall, 0x4 = ReinstallMsiServiceConfigMsiServiceConfigNIdentifierPrimary key, non-localized token.MsiServiceConfigNameNFormattedName of a service. /, \, comma and space are invalidMsiServiceConfigFailureActionsActionsYTextA list of integer actions separated by [~] delimiters: 0 = SC_ACTION_NONE, 1 = SC_ACTION_RESTART, 2 = SC_ACTION_REBOOT, 3 = SC_ACTION_RUN_COMMAND. Terminate with [~][~]MsiServiceConfigFailureActionsCommandYFormattedCommand line of the process to CreateProcess function to executeMsiServiceConfigFailureActionsComponent_NComponent1IdentifierRequired foreign key into the Component Table that controls the configuration of the serviceMsiServiceConfigFailureActionsDelayActionsYTextA list of delays (time in milli-seconds), separated by [~] delmiters, to wait before taking the corresponding Action. Terminate with [~][~]MsiServiceConfigFailureActionsEventN07Bit field: 0x1 = Install, 0x2 = Uninstall, 0x4 = ReinstallMsiServiceConfigFailureActionsMsiServiceConfigFailureActionsNIdentifierPrimary key, non-localized tokenMsiServiceConfigFailureActionsNameNFormattedName of a service. /, \, comma and space are invalidMsiServiceConfigFailureActionsRebootMessageYFormattedMessage to be broadcast to server users before rebootingMsiServiceConfigFailureActionsResetPeriodY02147483647Time in seconds after which to reset the failure count to zero. Leave blank if it should never be resetMsiShortcutPropertyMsiShortcutPropertyNIdentifierPrimary key, non-localized tokenMsiShortcutPropertyPropVariantValueNFormattedString representation of the value in the propertyMsiShortcutPropertyPropertyKeyNFormattedCanonical string representation of the Property Key being setMsiShortcutPropertyShortcut_NShortcut1IdentifierForeign key into the Shortcut tableODBCAttributeAttributeNTextName of ODBC driver attributeODBCAttributeDriver_NODBCDriver1IdentifierReference to ODBC driver in ODBCDriver tableODBCAttributeValueYTextValue for ODBC driver attributeODBCDataSourceComponent_NComponent1IdentifierReference to associated componentODBCDataSourceDataSourceNIdentifierPrimary key, non-localized.internal token for data sourceODBCDataSourceDescriptionNTextText used as registered name for data sourceODBCDataSourceDriverDescriptionNTextReference to driver description, may be existing driverODBCDataSourceRegistrationN01Registration option: 0=machine, 1=user, others t.b.d.ODBCDriverComponent_NComponent1IdentifierReference to associated componentODBCDriverDescriptionNTextText used as registered name for driver, non-localizedODBCDriverDriverNIdentifierPrimary key, non-localized.internal token for driverODBCDriverFile_NFile1IdentifierReference to key driver fileODBCDriverFile_SetupYFile1IdentifierOptional reference to key driver setup DLLODBCSourceAttributeAttributeNTextName of ODBC data source attributeODBCSourceAttributeDataSource_NODBCDataSource1IdentifierReference to ODBC data source in ODBCDataSource tableODBCSourceAttributeValueYTextValue for ODBC data source attributeODBCTranslatorComponent_NComponent1IdentifierReference to associated componentODBCTranslatorDescriptionNTextText used as registered name for translatorODBCTranslatorFile_NFile1IdentifierReference to key translator fileODBCTranslatorFile_SetupYFile1IdentifierOptional reference to key translator setup DLLODBCTranslatorTranslatorNIdentifierPrimary key, non-localized.internal token for translatorPatchAttributesN032767Integer containing bit flags representing patch attributesPatchFile_NFile1IdentifierPrimary key, non-localized token, foreign key to File table, must match identifier in cabinet.PatchHeaderYBinaryBinary stream. The patch header, used for patch validation.PatchISBuildSourcePathYTextFull path to patch header.PatchPatchSizeN02147483647Size of patch in bytes (long integer).PatchSequenceN032767Primary key, sequence with respect to the media images; order must track cabinet order.PatchStreamRef_YIdentifierExternal key into the MsiPatchHeaders table specifying the row that contains the patch header stream.PatchPackageMedia_N032767Foreign key to DiskId column of Media table. Indicates the disk containing the patch package.PatchPackagePatchIdNGuidA unique string GUID representing this patch.ProgIdClass_YClass1GuidThe CLSID of an OLE factory corresponding to the ProgId.ProgIdDescriptionYTextLocalized description for the Program identifier.ProgIdISAttributesYThis is used to store Installshield custom properties of a component, like ExtractIcon, etc.ProgIdIconIndexY-3276732767Optional icon index.ProgIdIcon_YIcon1IdentifierOptional foreign key into the Icon Table, specifying the icon file associated with this ProgId. Will be written under the DefaultIcon key.ProgIdProgIdNTextThe Program Identifier. Primary key.ProgIdProgId_ParentYProgId1TextThe Parent Program Identifier. If specified, the ProgId column becomes a version independent prog id.PropertyISCommentsYTextUser Comments.PropertyPropertyNIdentifierName of property, uppercase if settable by launcher or loader.PropertyValueYTextString value for property.PublishComponentAppDataYTextThis is localisable Application specific data that can be associated with a Qualified Component.PublishComponentComponentIdNGuidA string GUID that represents the component id that will be requested by the alien product.PublishComponentComponent_NComponent1IdentifierForeign key into the Component table.PublishComponentFeature_NFeature1IdentifierForeign key into the Feature table.PublishComponentQualifierNTextThis is defined only when the ComponentId column is an Qualified Component Id. This is the Qualifier for ProvideComponentIndirect.RadioButtonHeightN032767The height of the button.RadioButtonHelpYTextThe help strings used with the button. The text is optional.RadioButtonISControlIdYA number used to represent the control ID of the Control, Used in Dialog exportRadioButtonOrderN132767A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive.RadioButtonPropertyNIdentifierA named property to be tied to this radio button. All the buttons tied to the same property become part of the same group.RadioButtonTextYTextThe visible title to be assigned to the radio button.RadioButtonValueNFormattedThe value string associated with this button. Selecting the button will set the associated property to this value.RadioButtonWidthN032767The width of the button.RadioButtonXN032767The horizontal coordinate of the upper left corner of the bounding rectangle of the radio button.RadioButtonYN032767The vertical coordinate of the upper left corner of the bounding rectangle of the radio button.RegLocatorKeyNRegPathThe key for the registry value.RegLocatorNameYFormattedThe registry value name.RegLocatorRootN03The predefined root key for the registry value, one of rrkEnum.RegLocatorSignature_NSignature1IdentifierThe table key. The Signature_ represents a unique file signature and is also the foreign key in the Signature table. If the type is 0, the registry values refers a directory, and _Signature is not a foreign key.RegLocatorTypeY018An integer value that determines if the registry value is a filename or a directory location or to be used as is w/o interpretation.RegistryComponent_NComponent1IdentifierForeign key into the Component table referencing component that controls the installing of the registry value.RegistryISAttributesYThis is used to store Installshield custom properties of a registry item. Currently the only one is Automatic.RegistryKeyNRegPathThe key for the registry value.RegistryNameYFormattedThe registry value name.RegistryRegistryNIdentifierPrimary key, non-localized token.RegistryRootN-13The predefined root key for the registry value, one of rrkEnum.RegistryValueYTextThe registry value.RemoveFileComponent_NComponent1IdentifierForeign key referencing Component that controls the file to be removed.RemoveFileDirPropertyNIdentifierName of a property whose value is assumed to resolve to the full pathname to the folder of the file to be removed.RemoveFileFileKeyNIdentifierPrimary key used to identify a particular file entryRemoveFileFileNameYTextName of the file to be removed.RemoveFileInstallModeN1;2;3Installation option, one of iimEnum.RemoveIniFileActionN2;4The type of modification to be made, one of iifEnum.RemoveIniFileComponent_NComponent1IdentifierForeign key into the Component table referencing component that controls the deletion of the .INI value.RemoveIniFileDirPropertyYIdentifierForeign key into the Directory table denoting the directory where the .INI file is.RemoveIniFileFileNameNTextThe .INI file name in which to delete the informationRemoveIniFileKeyNFormattedThe .INI file key below Section.RemoveIniFileRemoveIniFileNIdentifierPrimary key, non-localized token.RemoveIniFileSectionNFormattedThe .INI file Section.RemoveIniFileValueYFormattedThe value to be deleted. The value is required when Action is iifIniRemoveTagRemoveRegistryComponent_NComponent1IdentifierForeign key into the Component table referencing component that controls the deletion of the registry value.RemoveRegistryKeyNRegPathThe key for the registry value.RemoveRegistryNameYFormattedThe registry value name.RemoveRegistryRemoveRegistryNIdentifierPrimary key, non-localized token.RemoveRegistryRootN-13The predefined root key for the registry value, one of rrkEnumReserveCostComponent_NComponent1IdentifierReserve a specified amount of space if this component is to be installed.ReserveCostReserveFolderYIdentifierName of a property whose value is assumed to resolve to the full path to the destination directoryReserveCostReserveKeyNIdentifierPrimary key that uniquely identifies a particular ReserveCost recordReserveCostReserveLocalN02147483647Disk space to reserve if linked component is installed locally.ReserveCostReserveSourceN02147483647Disk space to reserve if linked component is installed to run from the source location.SFPCatalogCatalogYBinarySFP CatalogSFPCatalogDependencyYFormattedParent catalog - only used by SFPSFPCatalogSFPCatalogNFilenameFile name for the catalog.SelfRegCostY032767The cost of registering the module.SelfRegFile_NFile1IdentifierForeign key into the File table denoting the module that needs to be registered.ServiceControlArgumentsYFormattedArguments for the service. Separate by [~].ServiceControlComponent_NComponent1IdentifierRequired foreign key into the Component Table that controls the startup of the serviceServiceControlEventN0187Bit field: Install: 0x1 = Start, 0x2 = Stop, 0x8 = Delete, Uninstall: 0x10 = Start, 0x20 = Stop, 0x80 = DeleteServiceControlNameNFormattedName of a service. /, \, comma and space are invalidServiceControlServiceControlNIdentifierPrimary key, non-localized token.ServiceControlWaitY01Boolean for whether to wait for the service to fully startServiceInstallArgumentsYFormattedArguments to include in every start of the service, passed to WinMainServiceInstallComponent_NComponent1IdentifierRequired foreign key into the Component Table that controls the startup of the serviceServiceInstallDependenciesYFormattedOther services this depends on to start. Separate by [~], and end with [~][~]ServiceInstallDescriptionYTextDescription of service.ServiceInstallDisplayNameYFormattedExternal Name of the ServiceServiceInstallErrorControlN-21474836472147483647Severity of error if service fails to startServiceInstallLoadOrderGroupYFormattedLoadOrderGroupServiceInstallNameNFormattedInternal Name of the ServiceServiceInstallPasswordYFormattedpassword to run service with. (with StartName)ServiceInstallServiceInstallNIdentifierPrimary key, non-localized token.ServiceInstallServiceTypeN-21474836472147483647Type of the serviceServiceInstallStartNameYFormattedUser or object name to run service asServiceInstallStartTypeN04Type of the serviceShortcutArgumentsYFormattedThe command-line arguments for the shortcut.ShortcutComponent_NComponent1IdentifierForeign key into the Component table denoting the component whose selection gates the the shortcut creation/deletion.ShortcutDescriptionYTextThe description for the shortcut.ShortcutDescriptionResourceDLLYFormattedThis field contains a Formatted string value for the full path to the language neutral file that contains the MUI manifest.ShortcutDescriptionResourceIdY032767The description name index for the shortcut.ShortcutDirectory_NDirectory1IdentifierForeign key into the Directory table denoting the directory where the shortcut file is created.ShortcutDisplayResourceDLLYFormattedThis field contains a Formatted string value for the full path to the language neutral file that contains the MUI manifest.ShortcutDisplayResourceIdY032767The display name index for the shortcut.ShortcutHotkeyY032767The hotkey for the shortcut. It has the virtual-key code for the key in the low-order byte, and the modifier flags in the high-order byte.ShortcutISAttributesYThis is used to store Installshield custom properties of a shortcut. Mainly used in pro project types.ShortcutISCommentsYTextAuthor’s comments on this Shortcut.ShortcutISShortcutNameYTextA non-unique name for the shortcut. Mainly used by pro pro project types.ShortcutIconIndexY-3276732767The icon index for the shortcut.ShortcutIcon_YIcon1IdentifierForeign key into the File table denoting the external icon file for the shortcut.ShortcutNameNTextThe name of the shortcut to be created.ShortcutShortcutNIdentifierPrimary key, non-localized token.ShortcutShowCmdY1;3;7The show command for the application window.The following values may be used.ShortcutTargetNShortcutThe shortcut target. This is usually a property that is expanded to a file or a folder that the shortcut points to.ShortcutWkDirYIdentifierName of property defining location of working directory.SignatureFileNameNTextThe name of the file. This may contain a "short name|long name" pair.SignatureLanguagesYLanguageThe languages supported by the file.SignatureMaxDateY02147483647The maximum creation date of the file.SignatureMaxSizeY02147483647The maximum size of the file.SignatureMaxVersionYTextThe maximum version of the file.SignatureMinDateY02147483647The minimum creation date of the file.SignatureMinSizeY02147483647The minimum size of the file.SignatureMinVersionYTextThe minimum version of the file.SignatureSignatureNIdentifierThe table key. The Signature represents a unique file signature.TextStyleColorY016777215A long integer indicating the color of the string in the RGB format (Red, Green, Blue each 0-255, RGB = R + 256*G + 256^2*B).TextStyleFaceNameNTextA string indicating the name of the font used. Required. The string must be at most 31 characters long.TextStyleSizeN032767The size of the font used. This size is given in our units (1/12 of the system font height). Assuming that the system font is set to 12 point size, this is equivalent to the point size.TextStyleStyleBitsY015A combination of style bits.TextStyleTextStyleNIdentifierName of the style. The primary key of this table. This name is embedded in the texts to indicate a style change.TypeLibComponent_NComponent1IdentifierRequired foreign key into the Component Table, specifying the component for which to return a path when called through LocateComponent.TypeLibCostY02147483647The cost associated with the registration of the typelib. This column is currently optional.TypeLibDescriptionYText + TypeLibDirectory_YDirectory1IdentifierOptional. The foreign key into the Directory table denoting the path to the help file for the type library.TypeLibFeature_NFeature1IdentifierRequired foreign key into the Feature Table, specifying the feature to validate or install in order for the type library to be operational.TypeLibLanguageN032767The language of the library.TypeLibLibIDNGuidThe GUID that represents the library.TypeLibVersionY02147483647The version of the library. The major version is in the upper 8 bits of the short integer. The minor version is in the lower 8 bits.UITextKeyNIdentifierA unique key that identifies the particular string.UITextTextYTextThe localized version of the string.UpgradeActionPropertyNUpperCaseThe property to set when a product in this set is found.UpgradeAttributesN02147483647The attributes of this product set.UpgradeISDisplayNameYISUpgradeMsiItem1 + UpgradeLanguageYLanguageA comma-separated list of languages for either products in this set or products not in this set.UpgradeRemoveYFormattedThe list of features to remove when uninstalling a product from this set. The default is "ALL".UpgradeUpgradeCodeNGuidThe UpgradeCode GUID belonging to the products in this set.UpgradeVersionMaxYTextThe maximum ProductVersion of the products in this set. The set may or may not include products with this particular version.UpgradeVersionMinYTextThe minimum ProductVersion of the products in this set. The set may or may not include products with this particular version.VerbArgumentYFormattedOptional value for the command arguments.VerbCommandYFormattedThe command text.VerbExtension_NExtension1TextThe extension associated with the table row.VerbSequenceY032767Order within the verbs for a particular extension. Also used simply to specify the default verb.VerbVerbNTextThe verb for the command._ValidationCategoryY"Text";"Formatted";"Template";"Condition";"Guid";"Path";"Version";"Language";"Identifier";"Binary";"UpperCase";"LowerCase";"Filename";"Paths";"AnyPath";"WildCardFilename";"RegPath";"KeyFormatted";"CustomSource";"Property";"Cabinet";"Shortcut";"URL";"DefaultDir"String category_ValidationColumnNIdentifierName of column_ValidationDescriptionYTextDescription of column_ValidationKeyColumnY132Column to which foreign key connects_ValidationKeyTableYIdentifierFor foreign key, Name of table to which data must link_ValidationMaxValueY-21474836472147483647Maximum value allowed_ValidationMinValueY-21474836472147483647Minimum value allowed_ValidationNullableNY;N;@Whether the column is nullable_ValidationSetYTextSet of values that are permitted_ValidationTableNIdentifierName of table
+
diff --git a/odbc/Installer/Installer.isl b/odbc/Installer/Installer.isl index cc8a40f..ab8ef4f 100644 --- a/odbc/Installer/Installer.isl +++ b/odbc/Installer/Installer.isl @@ -1,5716 +1,5716 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -]> - - - - 1252 - Installation Database - KylinODBCDriver (x86) - ##ID_STRING2## - Installer,MSI,Database - Contact: Your local administrator - - Administrator - {199BE185-27D7-428A-8A62-F53B2B0B4DD5} - - 06/21/1999 21:00 - 07/15/2000 00:50 - 200 - 0 - - InstallShield Express - 1 - - - - Action - Description - Template - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Advertise##IDS_ACTIONTEXT_Advertising## - AllocateRegistrySpace##IDS_ACTIONTEXT_AllocatingRegistry####IDS_ACTIONTEXT_FreeSpace##AppSearch##IDS_ACTIONTEXT_SearchInstalled####IDS_ACTIONTEXT_PropertySignature##BindImage##IDS_ACTIONTEXT_BindingExes####IDS_ACTIONTEXT_File##CCPSearch##IDS_ACTIONTEXT_UnregisterModules## - CostFinalize##IDS_ACTIONTEXT_ComputingSpace3## - CostInitialize##IDS_ACTIONTEXT_ComputingSpace## - CreateFolders##IDS_ACTIONTEXT_CreatingFolders####IDS_ACTIONTEXT_Folder##CreateShortcuts##IDS_ACTIONTEXT_CreatingShortcuts####IDS_ACTIONTEXT_Shortcut##DeleteServices##IDS_ACTIONTEXT_DeletingServices####IDS_ACTIONTEXT_Service##DuplicateFiles##IDS_ACTIONTEXT_CreatingDuplicate####IDS_ACTIONTEXT_FileDirectorySize##FileCost##IDS_ACTIONTEXT_ComputingSpace2## - FindRelatedProducts##IDS_ACTIONTEXT_SearchForRelated####IDS_ACTIONTEXT_FoundApp##GenerateScript##IDS_ACTIONTEXT_GeneratingScript####IDS_ACTIONTEXT_1##ISLockPermissionsCost##IDS_ACTIONTEXT_ISLockPermissionsCost## - ISLockPermissionsInstall##IDS_ACTIONTEXT_ISLockPermissionsInstall## - InstallAdminPackage##IDS_ACTIONTEXT_CopyingNetworkFiles####IDS_ACTIONTEXT_FileDirSize##InstallFiles##IDS_ACTIONTEXT_CopyingNewFiles####IDS_ACTIONTEXT_FileDirSize2##InstallODBC##IDS_ACTIONTEXT_InstallODBC## - InstallSFPCatalogFile##IDS_ACTIONTEXT_InstallingSystemCatalog####IDS_ACTIONTEXT_FileDependencies##InstallServices##IDS_ACTIONTEXT_InstallServices####IDS_ACTIONTEXT_Service2##InstallValidate##IDS_ACTIONTEXT_Validating## - LaunchConditions##IDS_ACTIONTEXT_EvaluateLaunchConditions## - MigrateFeatureStates##IDS_ACTIONTEXT_MigratingFeatureStates####IDS_ACTIONTEXT_Application##MoveFiles##IDS_ACTIONTEXT_MovingFiles####IDS_ACTIONTEXT_FileDirSize3##PatchFiles##IDS_ACTIONTEXT_PatchingFiles####IDS_ACTIONTEXT_FileDirSize4##ProcessComponents##IDS_ACTIONTEXT_UpdateComponentRegistration## - PublishComponents##IDS_ACTIONTEXT_PublishingQualifiedComponents####IDS_ACTIONTEXT_ComponentIDQualifier##PublishFeatures##IDS_ACTIONTEXT_PublishProductFeatures####IDS_ACTIONTEXT_FeatureColon##PublishProduct##IDS_ACTIONTEXT_PublishProductInfo## - RMCCPSearch##IDS_ACTIONTEXT_SearchingQualifyingProducts## - RegisterClassInfo##IDS_ACTIONTEXT_RegisterClassServer####IDS_ACTIONTEXT_ClassId##RegisterComPlus##IDS_ACTIONTEXT_RegisteringComPlus####IDS_ACTIONTEXT_AppIdAppTypeRSN##RegisterExtensionInfo##IDS_ACTIONTEXT_RegisterExtensionServers####IDS_ACTIONTEXT_Extension2##RegisterFonts##IDS_ACTIONTEXT_RegisterFonts####IDS_ACTIONTEXT_Font##RegisterMIMEInfo##IDS_ACTIONTEXT_RegisterMimeInfo####IDS_ACTIONTEXT_ContentTypeExtension##RegisterProduct##IDS_ACTIONTEXT_RegisteringProduct####IDS_ACTIONTEXT_1b##RegisterProgIdInfo##IDS_ACTIONTEXT_RegisteringProgIdentifiers####IDS_ACTIONTEXT_ProgID2##RegisterTypeLibraries##IDS_ACTIONTEXT_RegisterTypeLibs####IDS_ACTIONTEXT_LibId##RegisterUser##IDS_ACTIONTEXT_RegUser####IDS_ACTIONTEXT_1c##RemoveDuplicateFiles##IDS_ACTIONTEXT_RemovingDuplicates####IDS_ACTIONTEXT_FileDir##RemoveEnvironmentStrings##IDS_ACTIONTEXT_UpdateEnvironmentStrings####IDS_ACTIONTEXT_NameValueAction2##RemoveExistingProducts##IDS_ACTIONTEXT_RemoveApps####IDS_ACTIONTEXT_AppCommandLine##RemoveFiles##IDS_ACTIONTEXT_RemovingFiles####IDS_ACTIONTEXT_FileDir2##RemoveFolders##IDS_ACTIONTEXT_RemovingFolders####IDS_ACTIONTEXT_Folder1##RemoveIniValues##IDS_ACTIONTEXT_RemovingIni####IDS_ACTIONTEXT_FileSectionKeyValue##RemoveODBC##IDS_ACTIONTEXT_RemovingODBC## - RemoveRegistryValues##IDS_ACTIONTEXT_RemovingRegistry####IDS_ACTIONTEXT_KeyName##RemoveShortcuts##IDS_ACTIONTEXT_RemovingShortcuts####IDS_ACTIONTEXT_Shortcut1##Rollback##IDS_ACTIONTEXT_RollingBack####IDS_ACTIONTEXT_1d##RollbackCleanup##IDS_ACTIONTEXT_RemovingBackup####IDS_ACTIONTEXT_File2##SelfRegModules##IDS_ACTIONTEXT_RegisteringModules####IDS_ACTIONTEXT_FileFolder##SelfUnregModules##IDS_ACTIONTEXT_UnregisterModules####IDS_ACTIONTEXT_FileFolder2##SetODBCFolders##IDS_ACTIONTEXT_InitializeODBCDirs## - StartServices##IDS_ACTIONTEXT_StartingServices####IDS_ACTIONTEXT_Service3##StopServices##IDS_ACTIONTEXT_StoppingServices####IDS_ACTIONTEXT_Service4##UnmoveFiles##IDS_ACTIONTEXT_RemovingMoved####IDS_ACTIONTEXT_FileDir3##UnpublishComponents##IDS_ACTIONTEXT_UnpublishQualified####IDS_ACTIONTEXT_ComponentIdQualifier2##UnpublishFeatures##IDS_ACTIONTEXT_UnpublishProductFeatures####IDS_ACTIONTEXT_Feature##UnpublishProduct##IDS_ACTIONTEXT_UnpublishingProductInfo## - UnregisterClassInfo##IDS_ACTIONTEXT_UnregisterClassServers####IDS_ACTIONTEXT_ClsID##UnregisterComPlus##IDS_ACTIONTEXT_UnregisteringComPlus####IDS_ACTIONTEXT_AppId##UnregisterExtensionInfo##IDS_ACTIONTEXT_UnregisterExtensionServers####IDS_ACTIONTEXT_Extension##UnregisterFonts##IDS_ACTIONTEXT_UnregisteringFonts####IDS_ACTIONTEXT_Font2##UnregisterMIMEInfo##IDS_ACTIONTEXT_UnregisteringMimeInfo####IDS_ACTIONTEXT_ContentTypeExtension2##UnregisterProgIdInfo##IDS_ACTIONTEXT_UnregisteringProgramIds####IDS_ACTIONTEXT_ProgID##UnregisterTypeLibraries##IDS_ACTIONTEXT_UnregTypeLibs####IDS_ACTIONTEXT_Libid2##WriteEnvironmentStrings##IDS_ACTIONTEXT_EnvironmentStrings####IDS_ACTIONTEXT_NameValueAction##WriteIniValues##IDS_ACTIONTEXT_WritingINI####IDS_ACTIONTEXT_FileSectionKeyValue2##WriteRegistryValues##IDS_ACTIONTEXT_WritingRegistry####IDS_ACTIONTEXT_KeyNameValue##
- - - Action - Condition - Sequence - ISComments - ISAttributes -
CostFinalize1000CostFinalize - CostInitialize800CostInitialize - FileCost900FileCost - InstallAdminPackage3900InstallAdminPackage - InstallFiles4000InstallFiles - InstallFinalize6600InstallFinalize - InstallInitialize1500InstallInitialize - InstallValidate1400InstallValidate - ScheduleRebootISSCHEDULEREBOOT4010ScheduleReboot -
- - - Action - Condition - Sequence - ISComments - ISAttributes -
AdminWelcome1010AdminWelcome - CostFinalize1000CostFinalize - CostInitialize800CostInitialize - ExecuteAction1300ExecuteAction - FileCost900FileCost - SetupCompleteError-3SetupCompleteError - SetupCompleteSuccess-1SetupCompleteSuccess - SetupInitialization50SetupInitialization - SetupInterrupted-2SetupInterrupted - SetupProgress1020SetupProgress -
- - - Action - Condition - Sequence - ISComments - ISAttributes -
CostFinalize1000CostFinalize - CostInitialize800CostInitialize - CreateShortcuts4500CreateShortcuts - InstallFinalize6600InstallFinalize - InstallInitialize1500InstallInitialize - InstallValidate1400InstallValidate - MsiPublishAssemblies6250MsiPublishAssemblies - PublishComponents6200PublishComponents - PublishFeatures6300PublishFeatures - PublishProduct6400PublishProduct - RegisterClassInfo4600RegisterClassInfo - RegisterExtensionInfo4700RegisterExtensionInfo - RegisterMIMEInfo4900RegisterMIMEInfo - RegisterProgIdInfo4800RegisterProgIdInfo - RegisterTypeLibraries4910RegisterTypeLibraries - ScheduleRebootISSCHEDULEREBOOT6410ScheduleReboot -
- - - Action - Condition - Sequence - ISComments - ISAttributes -
- - - AppId - RemoteServerName - LocalService - ServiceParameters - DllSurrogate - ActivateAtStorage - RunAsInteractiveUser -
- - - Property - Signature_ -
- - - Billboard_ - BBControl - Type - X - Y - Width - Height - Attributes - Text -
- - - Billboard - Feature_ - Action - Ordering -
- - - Name - Data - ISBuildSourcePath - - - - - - - - - - - - - - - - - - - - - -
ISExpHlp.dll<ISRedistPlatformDependentFolder>\ISExpHlp.dllISSELFREG.DLL<ISRedistPlatformDependentFolder>\isregsvr.dllNewBinary1<ISProductFolder>\Support\Themes\InstallShield Blue Theme\banner.jpgNewBinary10<ISProductFolder>\Redist\Language Independent\OS Independent\CompleteSetupIco.ibdNewBinary11<ISProductFolder>\Redist\Language Independent\OS Independent\CustomSetupIco.ibdNewBinary12<ISProductFolder>\Redist\Language Independent\OS Independent\DestIcon.ibdNewBinary13<ISProductFolder>\Redist\Language Independent\OS Independent\NetworkInstall.icoNewBinary14<ISProductFolder>\Redist\Language Independent\OS Independent\DontInstall.icoNewBinary15<ISProductFolder>\Redist\Language Independent\OS Independent\Install.icoNewBinary16<ISProductFolder>\Redist\Language Independent\OS Independent\InstallFirstUse.icoNewBinary17<ISProductFolder>\Redist\Language Independent\OS Independent\InstallPartial.icoNewBinary18<ISProductFolder>\Redist\Language Independent\OS Independent\InstallStateMenu.icoNewBinary2<ISProductFolder>\Redist\Language Independent\OS Independent\New.ibdNewBinary3<ISProductFolder>\Redist\Language Independent\OS Independent\Up.ibdNewBinary4<ISProductFolder>\Redist\Language Independent\OS Independent\WarningIcon.ibdNewBinary5<ISProductFolder>\Support\Themes\InstallShield Blue Theme\welcome.jpgNewBinary6<ISProductFolder>\Redist\Language Independent\OS Independent\CustomSetupIco.ibdNewBinary7<ISProductFolder>\Redist\Language Independent\OS Independent\ReinstIco.ibdNewBinary8<ISProductFolder>\Redist\Language Independent\OS Independent\RemoveIco.ibdNewBinary9<ISProductFolder>\Redist\Language Independent\OS Independent\SetupIcon.ibdSetAllUsers.dll<ISRedistPlatformDependentFolder>\SetAllUsers.dll
- - - File_ - Path -
- - - Signature_ -
- - - Property - Value - - - -
ISCHECKFORPRODUCTUPDATES1LAUNCHPROGRAM1LAUNCHREADME1
- - - CLSID - Context - Component_ - ProgId_Default - Description - AppId_ - FileTypeMask - Icon_ - IconIndex - DefInprocHandler - Argument - Feature_ - Attributes -
- - - Property - Order - Value - Text -
- - - Signature_ - ComponentId - Type -
- - - Component_ - ExpType -
- - - Component - ComponentId - Directory_ - Attributes - Condition - KeyPath - ISAttributes - ISComments - ISScanAtBuildFile - ISRegFileToMergeAtBuild - ISDotNetInstallerArgsInstall - ISDotNetInstallerArgsCommit - ISDotNetInstallerArgsUninstall - ISDotNetInstallerArgsRollback - - -
Driver.Primary_Output{5033D0A3-753C-4AD9-9346-CF648DD83372}INSTALLDIR2driver.primary_output17/LogFile=/LogFile=/LogFile=/LogFile=ISX_DEFAULTCOMPONENT1{5CADC1FF-1330-4DDF-B22C-1BB1FD18199D}INSTALLDIR217/LogFile=/LogFile=/LogFile=/LogFile=
- - - Feature_ - Level - Condition -
- - - Dialog_ - Control - Type - X - Y - Width - Height - Attributes - Property - Text - Control_Next - Help - ISWindowStyle - ISControlId - ISBuildSourcePath - Binary_ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AdminChangeFolderBannerBitmap003744410NewBinary1AdminChangeFolderBannerLineLine044374010 - AdminChangeFolderBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 - AdminChangeFolderBranding2Text3228501365537##IDS_INSTALLSHIELD##0 - AdminChangeFolderCancelPushButton30124366173##IDS_CANCEL##ComboText0 - AdminChangeFolderComboDirectoryCombo216427780458755TARGETDIR##IDS__IsAdminInstallBrowse_4##Up0 - AdminChangeFolderComboTextText215099143##IDS__IsAdminInstallBrowse_LookIn##Combo0 - AdminChangeFolderDlgDescText21232922565539##IDS__IsAdminInstallBrowse_BrowseDestination##0 - AdminChangeFolderDlgLineLine48234326010 - AdminChangeFolderDlgTitleText1362922565539##IDS__IsAdminInstallBrowse_ChangeDestination##0 - AdminChangeFolderListDirectoryList2190332977TARGETDIR##IDS__IsAdminInstallBrowse_8##TailText0 - AdminChangeFolderNewFolderPushButton3356619193670019List##IDS__IsAdminInstallBrowse_CreateFolder##0NewBinary2AdminChangeFolderOKPushButton23024366173##IDS_OK##Cancel0 - AdminChangeFolderTailPathEdit21207332173TARGETDIR##IDS__IsAdminInstallBrowse_11##OK0 - AdminChangeFolderTailTextText2119399133##IDS__IsAdminInstallBrowse_FolderName##Tail0 - AdminChangeFolderUpPushButton3106619193670019NewFolder##IDS__IsAdminInstallBrowse_UpOneLevel##0NewBinary3AdminNetworkLocationBackPushButton16424366173##IDS_BACK##InstallNow0 - AdminNetworkLocationBannerBitmap003744410NewBinary1AdminNetworkLocationBannerLineLine044374010 - AdminNetworkLocationBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 - AdminNetworkLocationBranding2Text3228501365537##IDS_INSTALLSHIELD##0 - AdminNetworkLocationBrowsePushButton28612466173##IDS__IsAdminInstallPoint_Change##Back0 - AdminNetworkLocationCancelPushButton30124366173##IDS_CANCEL##SetupPathEdit0 - AdminNetworkLocationDlgDescText21232922565539##IDS__IsAdminInstallPoint_SpecifyNetworkLocation##0 - AdminNetworkLocationDlgLineLine48234326010 - AdminNetworkLocationDlgTextText215132640131075##IDS__IsAdminInstallPoint_EnterNetworkLocation##0 - AdminNetworkLocationDlgTitleText1362922565539##IDS__IsAdminInstallPoint_NetworkLocationFormatted##0 - AdminNetworkLocationInstallNowPushButton23024366173##IDS__IsAdminInstallPoint_Install##Cancel0 - AdminNetworkLocationLBBrowseText2190100103##IDS__IsAdminInstallPoint_NetworkLocation##0 - AdminNetworkLocationSetupPathEditPathEdit21102330173TARGETDIRBrowse0 - AdminWelcomeBackPushButton16424366171##IDS_BACK##Next0 - AdminWelcomeCancelPushButton30124366173##IDS_CANCEL##Back0 - AdminWelcomeDlgLineLine0234326010 - AdminWelcomeImageBitmap0037423410NewBinary5AdminWelcomeNextPushButton23024366173##IDS_NEXT##Cancel0 - AdminWelcomeTextLine1Text135822545196611##IDS__IsAdminInstallPointWelcome_Wizard##0 - AdminWelcomeTextLine2Text1355522845196611##IDS__IsAdminInstallPointWelcome_ServerImage##0 - CancelSetupIconIcon1515242452428810NewBinary4CancelSetupNoPushButton1355766173##IDS__IsCancelDlg_No##Yes0 - CancelSetupTextText481519430131075##IDS__IsCancelDlg_ConfirmCancel##0 - CancelSetupYesPushButton625766173##IDS__IsCancelDlg_Yes##No0 - CustomSetupBackPushButton16424366173##IDS_BACK##Next0 - CustomSetupBannerBitmap003744410NewBinary1CustomSetupBannerLineLine044374010 - CustomSetupBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 - CustomSetupBranding2Text3228501365537##IDS_INSTALLSHIELD##0 - CustomSetupCancelPushButton30124366173##IDS_CANCEL##Tree0 - CustomSetupChangeFolderPushButton30120366173##IDS__IsCustomSelectionDlg_Change##Help0 - CustomSetupDetailsPushButton9324366173##IDS__IsCustomSelectionDlg_Space##Back0 - CustomSetupDlgDescText17232922565539##IDS__IsCustomSelectionDlg_SelectFeatures##0 - CustomSetupDlgLineLine48234326010 - CustomSetupDlgTextText951360103##IDS__IsCustomSelectionDlg_ClickFeatureIcon##0 - CustomSetupDlgTitleText962922565539##IDS__IsCustomSelectionDlg_CustomSetup##0 - CustomSetupFeatureGroupGroupBox235671311201##IDS__IsCustomSelectionDlg_FeatureDescription##0 - CustomSetupHelpPushButton2224366173##IDS__IsCustomSelectionDlg_Help##Details0 - CustomSetupInstallLabelText8190360103##IDS__IsCustomSelectionDlg_InstallTo##0 - CustomSetupItemDescriptionText24180120503##IDS__IsCustomSelectionDlg_MultilineDescription##0 - CustomSetupLocationText8203291203##IDS__IsCustomSelectionDlg_FeaturePath##0 - CustomSetupNextPushButton23024366173##IDS_NEXT##Cancel0 - CustomSetupSizeText241133120503##IDS__IsCustomSelectionDlg_FeatureSize##0 - CustomSetupTreeSelectionTree8702201187_BrowsePropertyChangeFolder0 - CustomSetupTipsBannerBitmap003744410NewBinary1CustomSetupTipsBannerLineLine044374010 - CustomSetupTipsBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 - CustomSetupTipsBranding2Text3228501365537##IDS_INSTALLSHIELD##0 - CustomSetupTipsDlgDescText21232922565539##IDS_SetupTips_CustomSetupDescription##0 - CustomSetupTipsDlgLineLine48234326010 - CustomSetupTipsDlgTitleText1362922565539##IDS_SetupTips_CustomSetup##0 - CustomSetupTipsDontInstallIcon21155242452428810NewBinary14CustomSetupTipsDontInstallTextText60155300203##IDS_SetupTips_WillNotBeInstalled##0 - CustomSetupTipsFirstInstallTextText60180300203##IDS_SetupTips_Advertise##0 - CustomSetupTipsInstallIcon21105242452428810NewBinary15CustomSetupTipsInstallFirstUseIcon21180242452428810NewBinary16CustomSetupTipsInstallPartialIcon21130242452428810NewBinary17CustomSetupTipsInstallStateMenuIcon2152242452428810NewBinary18CustomSetupTipsInstallStateTextText2191300103##IDS_SetupTips_InstallState##00 - CustomSetupTipsInstallTextText60105300203##IDS_SetupTips_AllInstalledLocal##0 - CustomSetupTipsMenuTextText5052300363##IDS_SetupTips_IconInstallState##0 - CustomSetupTipsNetworkInstallIcon21205242452428810NewBinary13CustomSetupTipsNetworkInstallTextText60205300203##IDS_SetupTips_Network##0 - CustomSetupTipsOKPushButton30124366173##IDS_SetupTips_OK##0 - CustomSetupTipsPartialTextText60130300203##IDS_SetupTips_SubFeaturesInstalledLocal##0 - CustomerInformationBackPushButton16424366173##IDS_BACK##Next0 - CustomerInformationBannerBitmap003744410NewBinary1CustomerInformationBannerLineLine044374010 - CustomerInformationBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 - CustomerInformationBranding2Text3228501365537##IDS_INSTALLSHIELD##0 - CustomerInformationCancelPushButton30124366173##IDS_CANCEL##NameLabel0 - CustomerInformationCompanyEditEdit21100237173COMPANYNAME##IDS__IsRegisterUserDlg_Tahoma80##SerialLabel0 - CustomerInformationCompanyLabelText218975103##IDS__IsRegisterUserDlg_Organization##CompanyEdit0 - CustomerInformationDlgDescText21232922565539##IDS__IsRegisterUserDlg_PleaseEnterInfo##0 - CustomerInformationDlgLineLine48234326010 - CustomerInformationDlgRadioGroupTextText21161300142##IDS__IsRegisterUserDlg_InstallFor##0 - CustomerInformationDlgTitleText1362922565539##IDS__IsRegisterUserDlg_CustomerInformation##0 - CustomerInformationNameEditEdit2163237173USERNAME##IDS__IsRegisterUserDlg_Tahoma50##CompanyLabel0 - CustomerInformationNameLabelText215275103##IDS__IsRegisterUserDlg_UserName##NameEdit0 - CustomerInformationNextPushButton23024366173##IDS_NEXT##Cancel0 - CustomerInformationRadioGroupRadioButtonGroup63170300502ApplicationUsers##IDS__IsRegisterUserDlg_16##Back0 - CustomerInformationSerialLabelText21127109102##IDS__IsRegisterUserDlg_SerialNumber##SerialNumber0 - CustomerInformationSerialNumberMaskedEdit21138237172ISX_SERIALNUMRadioGroup0 - DatabaseFolderBackPushButton16424366173##IDS_BACK##Next0 - DatabaseFolderBannerBitmap003744410NewBinary1DatabaseFolderBannerLineLine044374010 - DatabaseFolderBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 - DatabaseFolderBranding2Text3228501365537##IDS_INSTALLSHIELD##0 - DatabaseFolderCancelPushButton30124366173##IDS_CANCEL##ChangeFolder0 - DatabaseFolderChangeFolderPushButton3016566173##IDS_CHANGE##Back0 - DatabaseFolderDatabaseFolderIcon2152242452428810NewBinary12DatabaseFolderDlgDescText21232922565539##IDS__DatabaseFolder_ChangeFolder##0 - DatabaseFolderDlgLineLine48234326010 - DatabaseFolderDlgTitleText1362922565539##IDS__DatabaseFolder_DatabaseFolder##0 - DatabaseFolderLocLabelText575229010131075##IDS_DatabaseFolder_InstallDatabaseTo##0 - DatabaseFolderLocationText5765240403_BrowseProperty##IDS__DatabaseFolder_DatabaseDir##0 - DatabaseFolderNextPushButton23024366173##IDS_NEXT##Cancel0 - DestinationFolderBackPushButton16424366173##IDS_BACK##Next0 - DestinationFolderBannerBitmap003744410NewBinary1DestinationFolderBannerLineLine044374010 - DestinationFolderBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 - DestinationFolderBranding2Text3228501365537##IDS_INSTALLSHIELD##0 - DestinationFolderCancelPushButton30124366173##IDS_CANCEL##ChangeFolder0 - DestinationFolderChangeFolderPushButton3016566173##IDS__DestinationFolder_Change##Back0 - DestinationFolderDestFolderIcon2152242452428810NewBinary12DestinationFolderDlgDescText21232922565539##IDS__DestinationFolder_ChangeFolder##0 - DestinationFolderDlgLineLine48234326010 - DestinationFolderDlgTitleText1362922565539##IDS__DestinationFolder_DestinationFolder##0 - DestinationFolderLocLabelText575229010131075##IDS__DestinationFolder_InstallTo##0 - DestinationFolderLocationText5765240403_BrowseProperty##IDS_INSTALLDIR##0 - DestinationFolderNextPushButton23024366173##IDS_NEXT##Cancel0 - DiskSpaceRequirementsBannerBitmap003744410NewBinary1DiskSpaceRequirementsBannerLineLine044374010 - DiskSpaceRequirementsBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 - DiskSpaceRequirementsBranding2Text3228501365537##IDS_INSTALLSHIELD##0 - DiskSpaceRequirementsDlgDescText17232922565539##IDS__IsFeatureDetailsDlg_SpaceRequired##0 - DiskSpaceRequirementsDlgLineLine48234326010 - DiskSpaceRequirementsDlgTextText10185358413##IDS__IsFeatureDetailsDlg_VolumesTooSmall##0 - DiskSpaceRequirementsDlgTitleText962922565539##IDS__IsFeatureDetailsDlg_DiskSpaceRequirements##0 - DiskSpaceRequirementsListVolumeCostList855358125393223##IDS__IsFeatureDetailsDlg_Numbers##0 - DiskSpaceRequirementsOKPushButton30124366173##IDS__IsFeatureDetailsDlg_OK##0 - FilesInUseBannerBitmap003744410NewBinary1FilesInUseBannerLineLine044374010 - FilesInUseBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 - FilesInUseBranding2Text3228501365537##IDS_INSTALLSHIELD##0 - FilesInUseDlgDescText21232922565539##IDS__IsFilesInUse_FilesInUseMessage##0 - FilesInUseDlgLineLine48234326010 - FilesInUseDlgTextText2151348333##IDS__IsFilesInUse_ApplicationsUsingFiles##0 - FilesInUseDlgTitleText1362922565539##IDS__IsFilesInUse_FilesInUse##0 - FilesInUseExitPushButton30124366173##IDS__IsFilesInUse_Exit##List0 - FilesInUseIgnorePushButton23024366173##IDS__IsFilesInUse_Ignore##Exit0 - FilesInUseListListBox21873311357FileInUseProcessRetry0 - FilesInUseRetryPushButton16424366173##IDS__IsFilesInUse_Retry##Ignore0 - InstallChangeFolderBannerBitmap003744410NewBinary1InstallChangeFolderBannerLineLine044374010 - InstallChangeFolderBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 - InstallChangeFolderBranding2Text3228501365537##IDS_INSTALLSHIELD##0 - InstallChangeFolderCancelPushButton30124366173##IDS_CANCEL##ComboText0 - InstallChangeFolderComboDirectoryCombo2164277804128779_BrowseProperty##IDS__IsBrowseFolderDlg_4##Up0 - InstallChangeFolderComboTextText215099143##IDS__IsBrowseFolderDlg_LookIn##Combo0 - InstallChangeFolderDlgDescText21232922565539##IDS__IsBrowseFolderDlg_BrowseDestFolder##0 - InstallChangeFolderDlgLineLine48234326010 - InstallChangeFolderDlgTitleText1362922565539##IDS__IsBrowseFolderDlg_ChangeCurrentFolder##0 - InstallChangeFolderListDirectoryList21903329715_BrowseProperty##IDS__IsBrowseFolderDlg_8##TailText0 - InstallChangeFolderNewFolderPushButton3356619193670019List##IDS__IsBrowseFolderDlg_CreateFolder##0NewBinary2InstallChangeFolderOKPushButton23024366173##IDS__IsBrowseFolderDlg_OK##Cancel0 - InstallChangeFolderTailPathEdit212073321715_BrowseProperty##IDS__IsBrowseFolderDlg_11##OK0 - InstallChangeFolderTailTextText2119399133##IDS__IsBrowseFolderDlg_FolderName##Tail0 - InstallChangeFolderUpPushButton3106619193670019NewFolder##IDS__IsBrowseFolderDlg_UpOneLevel##0NewBinary3InstallWelcomeBackPushButton16424366171##IDS_BACK##Copyright0 - InstallWelcomeCancelPushButton30124366173##IDS_CANCEL##Back0 - InstallWelcomeCopyrightText1351442287365539##IDS__IsWelcomeDlg_WarningCopyright##Next0 - InstallWelcomeDlgLineLine0234374010 - InstallWelcomeImageBitmap0037423410NewBinary5InstallWelcomeNextPushButton23024366173##IDS_NEXT##Cancel0 - InstallWelcomeTextLine1Text135822545196611##IDS__IsWelcomeDlg_WelcomeProductName##0 - InstallWelcomeTextLine2Text1355522845196611##IDS__IsWelcomeDlg_InstallProductName##0 - LicenseAgreementAgreeRadioButtonGroup8190291403AgreeToLicenseBack0 - LicenseAgreementBackPushButton16424366173##IDS_BACK##Next0 - LicenseAgreementBannerBitmap003744410NewBinary1LicenseAgreementBannerLineLine044374010 - LicenseAgreementBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 - LicenseAgreementBranding2Text3228501365537##IDS_INSTALLSHIELD##0 - LicenseAgreementCancelPushButton30124366173##IDS_CANCEL##ISPrintButton0 - LicenseAgreementDlgDescText21232922565539##IDS__IsLicenseDlg_ReadLicenseAgreement##0 - LicenseAgreementDlgLineLine48234326010 - LicenseAgreementDlgTitleText1362922565539##IDS__IsLicenseDlg_LicenseAgreement##0 - LicenseAgreementISPrintButtonPushButton30118865173##IDS_PRINT_BUTTON##Agree0 - LicenseAgreementMemoScrollableText85535813070<ISProductFolder>\Redist\0409\Eula.rtf - LicenseAgreementNextPushButton23024366173##IDS_NEXT##Cancel0 - MaintenanceTypeBackPushButton16424366173##IDS_BACK##Next0 - MaintenanceTypeBannerBitmap003744410NewBinary1MaintenanceTypeBannerLineLine044374010 - MaintenanceTypeBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 - MaintenanceTypeBranding2Text3228501365537##IDS_INSTALLSHIELD##0 - MaintenanceTypeCancelPushButton30124366173##IDS_CANCEL##RadioGroup0 - MaintenanceTypeDlgDescText21232922565539##IDS__IsMaintenanceDlg_MaitenanceOptions##0 - MaintenanceTypeDlgLineLine48234326010 - MaintenanceTypeDlgTitleText1362922565539##IDS__IsMaintenanceDlg_ProgramMaintenance##0 - MaintenanceTypeIco1Icon3575242452428810NewBinary6MaintenanceTypeIco2Icon35135242452428810NewBinary7MaintenanceTypeIco3Icon35195242452428810NewBinary8MaintenanceTypeNextPushButton23024366173##IDS_NEXT##Cancel0 - MaintenanceTypeRadioGroupRadioButtonGroup21552901703_IsMaintenanceBack0 - MaintenanceTypeText1Text8072260353##IDS__IsMaintenanceDlg_ChangeFeatures##0 - MaintenanceTypeText2Text80135260353##IDS__IsMaintenanceDlg_RepairMessage##0 - MaintenanceTypeText3Text8019226035131075##IDS__IsMaintenanceDlg_RemoveProductName##0 - MaintenanceWelcomeBackPushButton16424366171##IDS_BACK##Next0 - MaintenanceWelcomeCancelPushButton30124366173##IDS_CANCEL##Back0 - MaintenanceWelcomeDlgLineLine0234374010 - MaintenanceWelcomeImageBitmap0037423410NewBinary5MaintenanceWelcomeNextPushButton23024366173##IDS_NEXT##Cancel0 - MaintenanceWelcomeTextLine1Text135822545196611##IDS__IsMaintenanceWelcome_WizardWelcome##0 - MaintenanceWelcomeTextLine2Text1355522850196611##IDS__IsMaintenanceWelcome_MaintenanceOptionsDescription##0 - MsiRMFilesInUseBannerBitmap003744410NewBinary1MsiRMFilesInUseBannerLineLine044374010 - MsiRMFilesInUseBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 - MsiRMFilesInUseBranding2Text3228501365537##IDS_INSTALLSHIELD##0 - MsiRMFilesInUseCancelPushButton30124366173##IDS_CANCEL##Restart0 - MsiRMFilesInUseDlgDescText21232922565539##IDS__IsFilesInUse_FilesInUseMessage##0 - MsiRMFilesInUseDlgLineLine48234326010 - MsiRMFilesInUseDlgTextText2151348143##IDS__IsMsiRMFilesInUse_ApplicationsUsingFiles##0 - MsiRMFilesInUseDlgTitleText1362922565539##IDS__IsFilesInUse_FilesInUse##0 - MsiRMFilesInUseListListBox21663311303FileInUseProcessOK0 - MsiRMFilesInUseOKPushButton23024366173##IDS_OK##Cancel0 - MsiRMFilesInUseRestartRadioButtonGroup19187343403RestartManagerOptionList0 - OutOfSpaceBannerBitmap003744410NewBinary1OutOfSpaceBannerLineLine044374010 - OutOfSpaceBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 - OutOfSpaceBranding2Text3228501365537##IDS_INSTALLSHIELD##0 - OutOfSpaceDlgDescText21232922565539##IDS__IsDiskSpaceDlg_DiskSpace##0 - OutOfSpaceDlgLineLine48234326010 - OutOfSpaceDlgTextText2151326433##IDS__IsDiskSpaceDlg_HighlightedVolumes##0 - OutOfSpaceDlgTitleText1362922565539##IDS__IsDiskSpaceDlg_OutOfDiskSpace##0 - OutOfSpaceListVolumeCostList2195332120393223##IDS__IsDiskSpaceDlg_Numbers##0 - OutOfSpaceResumePushButton30124366173##IDS__IsDiskSpaceDlg_OK##0 - PatchWelcomeBackPushButton16424366171##IDS_BACK##Next0 - PatchWelcomeCancelPushButton30124366173##IDS_CANCEL##Back0 - PatchWelcomeDlgLineLine0234374010 - PatchWelcomeImageBitmap0037423410NewBinary5PatchWelcomeNextPushButton23024366173##IDS__IsPatchDlg_Update##Cancel0 - PatchWelcomeTextLine1Text135822545196611##IDS__IsPatchDlg_WelcomePatchWizard##0 - PatchWelcomeTextLine2Text1355422845196611##IDS__IsPatchDlg_PatchClickUpdate##0 - ReadmeInformationBackPushButton16424366171048579##IDS_BACK##Next0 - ReadmeInformationBannerBitmap00374443DlgTitle0NewBinary1ReadmeInformationBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##00 - ReadmeInformationBranding2Text3228501365537##IDS_INSTALLSHIELD##00 - ReadmeInformationCancelPushButton30124366171048579##IDS__IsReadmeDlg_Cancel##Readme0 - ReadmeInformationDlgDescText21232321665539##IDS__IsReadmeDlg_PleaseReadInfo##Back00 - ReadmeInformationDlgLineLine482343260300 - ReadmeInformationDlgTitleText1361931365539##IDS__IsReadmeDlg_ReadMeInfo##DlgDesc0 - ReadmeInformationNextPushButton23024366171048579##IDS_NEXT##Cancel0 - ReadmeInformationReadmeScrollableText10553531663Banner0<ISProductFolder>\Redist\0409\Readme.rtf - ReadyToInstallBackPushButton16424366173##IDS_BACK##GroupBox10 - ReadyToInstallBannerBitmap003744410NewBinary1ReadyToInstallBannerLineLine044374010 - ReadyToInstallBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 - ReadyToInstallBranding2Text3228501365537##IDS_INSTALLSHIELD##0 - ReadyToInstallCancelPushButton30124366173##IDS_CANCEL##Back0 - ReadyToInstallCompanyNameTextText3819821193##IDS__IsVerifyReadyDlg_Company##SerialNumberText0 - ReadyToInstallCurrentSettingsTextText198081103##IDS__IsVerifyReadyDlg_CurrentSettings##InstallNow0 - ReadyToInstallDlgDescText21232922565539##IDS__IsVerifyReadyDlg_WizardReady##0 - ReadyToInstallDlgLineLine482343260100 - ReadyToInstallDlgText1Text2154330243##IDS__IsVerifyReadyDlg_BackOrCancel##0 - ReadyToInstallDlgText2Text2199330202##IDS__IsRegisterUserDlg_InstallFor##0 - ReadyToInstallDlgTitleText1362922565538##IDS__IsVerifyReadyDlg_ModifyReady##0 - ReadyToInstallDlgTitle2Text1362922565538##IDS__IsVerifyReadyDlg_ReadyRepair##0 - ReadyToInstallDlgTitle3Text1362922565538##IDS__IsVerifyReadyDlg_ReadyInstall##0 - ReadyToInstallGroupBox1Text199233013365541SetupTypeText10 - ReadyToInstallInstallNowPushButton23024366178388611##IDS__IsVerifyReadyDlg_Install##InstallPerMachine0 - ReadyToInstallInstallPerMachinePushButton63123248178388610##IDS__IsRegisterUserDlg_Anyone##InstallPerUser0 - ReadyToInstallInstallPerUserPushButton63143248172##IDS__IsRegisterUserDlg_OnlyMe##Cancel0 - ReadyToInstallSerialNumberTextText3821130693##IDS__IsVerifyReadyDlg_Serial##CurrentSettingsText0 - ReadyToInstallSetupTypeText1Text2397306133##IDS__IsVerifyReadyDlg_SetupType##SetupTypeText20 - ReadyToInstallSetupTypeText2Text37114306143##IDS__IsVerifyReadyDlg_SelectedSetupType##TargetFolderText10 - ReadyToInstallTargetFolderText1Text24136306113##IDS__IsVerifyReadyDlg_DestFolder##TargetFolderText20 - ReadyToInstallTargetFolderText2Text37151306133##IDS__IsVerifyReadyDlg_Installdir##UserInformationText0 - ReadyToInstallUserInformationTextText23171306133##IDS__IsVerifyReadyDlg_UserInfo##UserNameText0 - ReadyToInstallUserNameTextText3818430693##IDS__IsVerifyReadyDlg_UserName##CompanyNameText0 - ReadyToRemoveBackPushButton16424366173##IDS_BACK##RemoveNow0 - ReadyToRemoveBannerBitmap003744410NewBinary1ReadyToRemoveBannerLineLine044374010 - ReadyToRemoveBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 - ReadyToRemoveBranding2Text3228501365537##IDS_INSTALLSHIELD##0 - ReadyToRemoveCancelPushButton30124366173##IDS_CANCEL##Back0 - ReadyToRemoveDlgDescText21232922565539##IDS__IsVerifyRemoveAllDlg_ChoseRemoveProgram##0 - ReadyToRemoveDlgLineLine48234326010 - ReadyToRemoveDlgTextText215132624131075##IDS__IsVerifyRemoveAllDlg_ClickRemove##0 - ReadyToRemoveDlgText1Text2179330233##IDS__IsVerifyRemoveAllDlg_ClickBack##0 - ReadyToRemoveDlgText2Text211023302430 - ReadyToRemoveDlgTitleText1362922565539##IDS__IsVerifyRemoveAllDlg_RemoveProgram##0 - ReadyToRemoveRemoveNowPushButton23024366178388611##IDS__IsVerifyRemoveAllDlg_Remove##Cancel0 - SetupCompleteErrorBackPushButton16424366171##IDS_BACK##Finish0 - SetupCompleteErrorCancelPushButton30124366171##IDS_CANCEL##Back0 - SetupCompleteErrorCheckShowMsiLogCheckBox1511721092ISSHOWMSILOGCancel0 - SetupCompleteErrorDlgLineLine0234374010 - SetupCompleteErrorFinishPushButton23024366173##IDS__IsFatalError_Finish##Image0 - SetupCompleteErrorFinishText1Text135802285065539##IDS__IsFatalError_NotModified##0 - SetupCompleteErrorFinishText2Text1351352282565539##IDS__IsFatalError_ClickFinish##0 - SetupCompleteErrorImageBitmap003742341CheckShowMsiLog0NewBinary5SetupCompleteErrorRestContText1Text135802285065539##IDS__IsFatalError_KeepOrRestore##0 - SetupCompleteErrorRestContText2Text1351352282565539##IDS__IsFatalError_RestoreOrContinueLater##0 - SetupCompleteErrorShowMsiLogTextText1641721981065538##IDS__IsSetupComplete_ShowMsiLog##0 - SetupCompleteErrorTextLine1Text13582254565539##IDS__IsFatalError_WizardCompleted##0 - SetupCompleteErrorTextLine2Text1355522825196611##IDS__IsFatalError_WizardInterrupted##0 - SetupCompleteSuccessBackPushButton16424366171##IDS_BACK##OK0 - SetupCompleteSuccessCancelPushButton30124366171##IDS_CANCEL##Image0 - SetupCompleteSuccessCheckBoxUpdatesCheckBox1351641092ISCHECKFORPRODUCTUPDATESCheckBox1CheckShowMsiLog0 - SetupCompleteSuccessCheckForUpdatesTextText1521621903065538##IDS__IsExitDialog_Update_YesCheckForUpdates##0 - SetupCompleteSuccessCheckLaunchProgramCheckBox1511141092LAUNCHPROGRAMCheckLaunchReadme0 - SetupCompleteSuccessCheckLaunchReadmeCheckBox1511481092LAUNCHREADMECheckBoxUpdates0 - SetupCompleteSuccessCheckShowMsiLogCheckBox1511821092ISSHOWMSILOGBack0 - SetupCompleteSuccessDlgLineLine0234374010 - SetupCompleteSuccessImageBitmap003742341CheckLaunchProgram0NewBinary5SetupCompleteSuccessLaunchProgramTextText164112981565538##IDS__IsExitDialog_LaunchProgram##00 - SetupCompleteSuccessLaunchReadmeTextText1641481201365538##IDS__IsExitDialog_ShowReadMe##00 - SetupCompleteSuccessOKPushButton23024366173##IDS__IsExitDialog_Finish##Cancel0 - SetupCompleteSuccessShowMsiLogTextText1641821981065538##IDS__IsSetupComplete_ShowMsiLog##0 - SetupCompleteSuccessTextLine1Text13582254565539##IDS__IsExitDialog_WizardCompleted##0 - SetupCompleteSuccessTextLine2Text1355522845196610##IDS__IsExitDialog_InstallSuccess##0 - SetupCompleteSuccessTextLine3Text1355522845196610##IDS__IsExitDialog_UninstallSuccess##0 - SetupCompleteSuccessUpdateTextLine1Text1353022845196610##IDS__IsExitDialog_Update_SetupFinished##0 - SetupCompleteSuccessUpdateTextLine2Text1358022845196610##IDS__IsExitDialog_Update_PossibleUpdates##0 - SetupCompleteSuccessUpdateTextLine3Text1351202284565538##IDS__IsExitDialog_Update_InternetConnection##0 - SetupErrorAPushButton1928066173##IDS__IsErrorDlg_Abort##0 - SetupErrorCPushButton1928066173##IDS_CANCEL2##0 - SetupErrorErrorIconIcon1515242452428810NewBinary4SetupErrorErrorTextText501520050131075##IDS__IsErrorDlg_ErrorText##0 - SetupErrorIPushButton1928066173##IDS__IsErrorDlg_Ignore##0 - SetupErrorNPushButton1928066173##IDS__IsErrorDlg_NO##0 - SetupErrorOPushButton1928066173##IDS__IsErrorDlg_OK##0 - SetupErrorRPushButton1928066173##IDS__IsErrorDlg_Retry##0 - SetupErrorYPushButton1928066173##IDS__IsErrorDlg_Yes##0 - SetupInitializationActionDataText1351252281265539##IDS__IsInitDlg_1##0 - SetupInitializationActionTextText1351092203665539##IDS__IsInitDlg_2##0 - SetupInitializationBackPushButton16424366171##IDS_BACK##0 - SetupInitializationCancelPushButton30124366173##IDS_CANCEL##0 - SetupInitializationDlgLineLine0234374010 - SetupInitializationImageBitmap0037423410NewBinary5SetupInitializationNextPushButton23024366171##IDS_NEXT##0 - SetupInitializationTextLine1Text135822545196611##IDS__IsInitDlg_WelcomeWizard##0 - SetupInitializationTextLine2Text1355522830196611##IDS__IsInitDlg_PreparingWizard##0 - SetupInterruptedBackPushButton16424366171##IDS_BACK##Finish0 - SetupInterruptedCancelPushButton30124366171##IDS_CANCEL##Image0 - SetupInterruptedCheckShowMsiLogCheckBox1511721092ISSHOWMSILOGBack0 - SetupInterruptedDlgLineLine0234374010 - SetupInterruptedFinishPushButton23024366173##IDS__IsUserExit_Finish##Cancel0 - SetupInterruptedFinishText1Text135802285065539##IDS__IsUserExit_NotModified##0 - SetupInterruptedFinishText2Text1351352282565539##IDS__IsUserExit_ClickFinish##0 - SetupInterruptedImageBitmap003742341CheckShowMsiLog0NewBinary5SetupInterruptedRestContText1Text135802285065539##IDS__IsUserExit_KeepOrRestore##0 - SetupInterruptedRestContText2Text1351352282565539##IDS__IsUserExit_RestoreOrContinue##0 - SetupInterruptedShowMsiLogTextText1641721981065538##IDS__IsSetupComplete_ShowMsiLog##0 - SetupInterruptedTextLine1Text13582254565539##IDS__IsUserExit_WizardCompleted##0 - SetupInterruptedTextLine2Text1355522825196611##IDS__IsUserExit_WizardInterrupted##0 - SetupProgressActionProgress95ProgressBar591132751265537##IDS__IsProgressDlg_ProgressDone##0 - SetupProgressActionTextText59100275123##IDS__IsProgressDlg_2##0 - SetupProgressBackPushButton16424366171##IDS_BACK##Next0 - SetupProgressBannerBitmap003744410NewBinary1SetupProgressBannerLineLine044374010 - SetupProgressBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 - SetupProgressBranding2Text3228501365537##IDS_INSTALLSHIELD##0 - SetupProgressCancelPushButton30124366173##IDS_CANCEL##Back0 - SetupProgressDlgDescText21232922565538##IDS__IsProgressDlg_UninstallingFeatures2##0 - SetupProgressDlgDesc2Text21232922565538##IDS__IsProgressDlg_UninstallingFeatures##0 - SetupProgressDlgLineLine48234326010 - SetupProgressDlgTextText595127530196610##IDS__IsProgressDlg_WaitUninstall2##0 - SetupProgressDlgText2Text595127530196610##IDS__IsProgressDlg_WaitUninstall##0 - SetupProgressDlgTitleText13629225196610##IDS__IsProgressDlg_InstallingProductName##0 - SetupProgressDlgTitle2Text13629225196610##IDS__IsProgressDlg_Uninstalling##0 - SetupProgressLbSecText19213932122##IDS__IsProgressDlg_SecHidden##0 - SetupProgressLbStatusText598570123##IDS__IsProgressDlg_Status##0 - SetupProgressNextPushButton23024366171##IDS_NEXT##Cancel0 - SetupProgressSetupIconIcon2151242452428810NewBinary9SetupProgressShowTimeText17013917122##IDS__IsProgressDlg_Hidden##0 - SetupProgressTextTimeText59139110122##IDS__IsProgressDlg_HiddenTimeRemaining##0 - SetupResumeBackPushButton16424366171##IDS_BACK##Next0 - SetupResumeCancelPushButton30124366173##IDS_CANCEL##Back0 - SetupResumeDlgLineLine0234374010 - SetupResumeImageBitmap0037423410NewBinary5SetupResumeNextPushButton23024366173##IDS_NEXT##Cancel0 - SetupResumePreselectedTextText1355522845196611##IDS__IsResumeDlg_WizardResume##0 - SetupResumeResumeTextText1354622845196611##IDS__IsResumeDlg_ResumeSuspended##0 - SetupResumeTextLine1Text135822545196611##IDS__IsResumeDlg_Resuming##0 - SetupTypeBackPushButton16424366173##IDS_BACK##Next0 - SetupTypeBannerBitmap003744410NewBinary1SetupTypeBannerLineLine044374010 - SetupTypeBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 - SetupTypeBranding2Text3228501365537##IDS_INSTALLSHIELD##0 - SetupTypeCancelPushButton30124366173##IDS_CANCEL##RadioGroup0 - SetupTypeCompTextText8080246303##IDS__IsSetupTypeMinDlg_AllFeatures##0 - SetupTypeCompleteIcoIcon3480242452428810NewBinary10SetupTypeCustTextText80171246302##IDS__IsSetupTypeMinDlg_ChooseFeatures##0 - SetupTypeCustomIcoIcon34171242452428800NewBinary11SetupTypeDlgDescText21232922565539##IDS__IsSetupTypeMinDlg_ChooseSetupType##0 - SetupTypeDlgLineLine48234326010 - SetupTypeDlgTextText2249326103##IDS__IsSetupTypeMinDlg_SelectSetupType##00 - SetupTypeDlgTitleText1362922565539##IDS__IsSetupTypeMinDlg_SetupType##0 - SetupTypeMinIcoIcon34125242452428800NewBinary11SetupTypeMinTextText80125246302##IDS__IsSetupTypeMinDlg_MinimumFeatures##0 - SetupTypeNextPushButton23024366173##IDS_NEXT##Cancel0 - SetupTypeRadioGroupRadioButtonGroup20592641391048579_IsSetupTypeMinBack00 - SplashBitmapBackPushButton16424366171##IDS_BACK##Next0 - SplashBitmapBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 - SplashBitmapBranding2Text3228501365537##IDS_INSTALLSHIELD##0 - SplashBitmapCancelPushButton30124366173##IDS_CANCEL##Back0 - SplashBitmapDlgLineLine48234326010 - SplashBitmapImageBitmap131234921110NewBinary5SplashBitmapNextPushButton23024366173##IDS_NEXT##Cancel0 -
- - - Dialog_ - Control_ - Action - Condition - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CustomSetupChangeFolderHideInstalledCustomSetupDetailsHideInstalledCustomSetupInstallLabelHideInstalledCustomerInformationDlgRadioGroupTextHideNOT PrivilegedCustomerInformationDlgRadioGroupTextHideProductState > 0CustomerInformationDlgRadioGroupTextHideVersion9XCustomerInformationDlgRadioGroupTextHideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledCustomerInformationRadioGroupHideNOT PrivilegedCustomerInformationRadioGroupHideProductState > 0CustomerInformationRadioGroupHideVersion9XCustomerInformationRadioGroupHideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledCustomerInformationSerialLabelShowSERIALNUMSHOWCustomerInformationSerialNumberShowSERIALNUMSHOWInstallWelcomeCopyrightHideSHOWCOPYRIGHT="No"InstallWelcomeCopyrightShowSHOWCOPYRIGHT="Yes"LicenseAgreementNextDisableAgreeToLicense <> "Yes"LicenseAgreementNextEnableAgreeToLicense = "Yes"ReadyToInstallCompanyNameTextHideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallCurrentSettingsTextHideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallDlgText2HideVersionNT < "601" OR NOT ISSupportPerUser OR InstalledReadyToInstallDlgText2ShowVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallDlgTitleShowProgressType0="Modify"ReadyToInstallDlgTitle2ShowProgressType0="Repair"ReadyToInstallDlgTitle3ShowProgressType0="install"ReadyToInstallGroupBox1HideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallInstallNowDisableVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallInstallNowEnableVersionNT < "601" OR NOT ISSupportPerUser OR InstalledReadyToInstallInstallPerMachineHideVersionNT < "601" OR NOT ISSupportPerUser OR InstalledReadyToInstallInstallPerMachineShowVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallInstallPerUserHideVersionNT < "601" OR NOT ISSupportPerUser OR InstalledReadyToInstallInstallPerUserShowVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallSerialNumberTextHideNOT SERIALNUMSHOWReadyToInstallSerialNumberTextHideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallSetupTypeText1HideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallSetupTypeText2HideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallTargetFolderText1HideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallTargetFolderText2HideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallUserInformationTextHideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallUserNameTextHideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledSetupCompleteErrorBackDefaultUpdateStartedSetupCompleteErrorBackDisableNOT UpdateStartedSetupCompleteErrorBackEnableUpdateStartedSetupCompleteErrorCancelDisableNOT UpdateStartedSetupCompleteErrorCancelEnableUpdateStartedSetupCompleteErrorCheckShowMsiLogShowMsiLogFileLocationSetupCompleteErrorFinishDefaultNOT UpdateStartedSetupCompleteErrorFinishText1HideUpdateStartedSetupCompleteErrorFinishText1ShowNOT UpdateStartedSetupCompleteErrorFinishText2HideUpdateStartedSetupCompleteErrorFinishText2ShowNOT UpdateStartedSetupCompleteErrorRestContText1HideNOT UpdateStartedSetupCompleteErrorRestContText1ShowUpdateStartedSetupCompleteErrorRestContText2HideNOT UpdateStartedSetupCompleteErrorRestContText2ShowUpdateStartedSetupCompleteErrorShowMsiLogTextShowMsiLogFileLocationSetupCompleteSuccessCheckBoxUpdatesShowISENABLEDWUSFINISHDIALOG And NOT Installed And ACTION="INSTALL"SetupCompleteSuccessCheckForUpdatesTextShowISENABLEDWUSFINISHDIALOG And NOT Installed And ACTION="INSTALL"SetupCompleteSuccessCheckLaunchProgramShowSHOWLAUNCHPROGRAM="-1" And PROGRAMFILETOLAUNCHATEND <> "" And NOT Installed And NOT ISENABLEDWUSFINISHDIALOGSetupCompleteSuccessCheckLaunchReadmeShowSHOWLAUNCHREADME="-1" And READMEFILETOLAUNCHATEND <> "" And NOT Installed And NOT ISENABLEDWUSFINISHDIALOGSetupCompleteSuccessCheckShowMsiLogShowMsiLogFileLocation And NOT ISENABLEDWUSFINISHDIALOGSetupCompleteSuccessLaunchProgramTextShowSHOWLAUNCHPROGRAM="-1" And PROGRAMFILETOLAUNCHATEND <> "" And NOT Installed And NOT ISENABLEDWUSFINISHDIALOGSetupCompleteSuccessLaunchReadmeTextShowSHOWLAUNCHREADME="-1" And READMEFILETOLAUNCHATEND <> "" And NOT Installed And NOT ISENABLEDWUSFINISHDIALOGSetupCompleteSuccessShowMsiLogTextShowMsiLogFileLocation And NOT ISENABLEDWUSFINISHDIALOGSetupCompleteSuccessTextLine2ShowProgressType2="installed" And ((ACTION<>"INSTALL") OR (NOT ISENABLEDWUSFINISHDIALOG) OR (ISENABLEDWUSFINISHDIALOG And Installed))SetupCompleteSuccessTextLine3ShowProgressType2="uninstalled" And ((ACTION<>"INSTALL") OR (NOT ISENABLEDWUSFINISHDIALOG) OR (ISENABLEDWUSFINISHDIALOG And Installed))SetupCompleteSuccessUpdateTextLine1ShowISENABLEDWUSFINISHDIALOG And NOT Installed And ACTION="INSTALL"SetupCompleteSuccessUpdateTextLine2ShowISENABLEDWUSFINISHDIALOG And NOT Installed And ACTION="INSTALL"SetupCompleteSuccessUpdateTextLine3ShowISENABLEDWUSFINISHDIALOG And NOT Installed And ACTION="INSTALL"SetupInterruptedBackDefaultUpdateStartedSetupInterruptedBackDisableNOT UpdateStartedSetupInterruptedBackEnableUpdateStartedSetupInterruptedCancelDisableNOT UpdateStartedSetupInterruptedCancelEnableUpdateStartedSetupInterruptedCheckShowMsiLogShowMsiLogFileLocationSetupInterruptedFinishDefaultNOT UpdateStartedSetupInterruptedFinishText1HideUpdateStartedSetupInterruptedFinishText1ShowNOT UpdateStartedSetupInterruptedFinishText2HideUpdateStartedSetupInterruptedFinishText2ShowNOT UpdateStartedSetupInterruptedRestContText1HideNOT UpdateStartedSetupInterruptedRestContText1ShowUpdateStartedSetupInterruptedRestContText2HideNOT UpdateStartedSetupInterruptedRestContText2ShowUpdateStartedSetupInterruptedShowMsiLogTextShowMsiLogFileLocationSetupProgressDlgDescShowProgressType2="installed"SetupProgressDlgDesc2ShowProgressType2="uninstalled"SetupProgressDlgTextShowProgressType3="installs"SetupProgressDlgText2ShowProgressType3="uninstalls"SetupProgressDlgTitleShowProgressType1="Installing"SetupProgressDlgTitle2ShowProgressType1="Uninstalling"SetupResumePreselectedTextHideRESUMESetupResumePreselectedTextShowNOT RESUMESetupResumeResumeTextHideNOT RESUMESetupResumeResumeTextShowRESUME
- - - Dialog_ - Control_ - Event - Argument - Condition - Ordering - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AdminChangeFolderCancelEndDialogReturn12AdminChangeFolderCancelReset011AdminChangeFolderNewFolderDirectoryListNew010AdminChangeFolderOKEndDialogReturn10AdminChangeFolderOKSetTargetPathTARGETDIR11AdminChangeFolderUpDirectoryListUp010AdminNetworkLocationBackNewDialogAdminWelcome10AdminNetworkLocationBrowseSpawnDialogAdminChangeFolder10AdminNetworkLocationCancelSpawnDialogCancelSetup10AdminNetworkLocationInstallNowEndDialogReturnOutOfNoRbDiskSpace <> 13AdminNetworkLocationInstallNowNewDialogOutOfSpaceOutOfNoRbDiskSpace = 12AdminNetworkLocationInstallNowSetTargetPathTARGETDIR11AdminWelcomeCancelSpawnDialogCancelSetup10AdminWelcomeNextNewDialogAdminNetworkLocation10CancelSetupNoEndDialogReturn10CancelSetupYesDoActionCleanUpISSCRIPTRUNNING="1"1CancelSetupYesEndDialogExit12CustomSetupBackNewDialogDestinationFolderNOT Installed0CustomSetupBackNewDialogMaintenanceTypeInstalled0CustomSetupCancelSpawnDialogCancelSetup10CustomSetupChangeFolderSelectionBrowseInstallChangeFolder10CustomSetupDetailsSelectionBrowseDiskSpaceRequirements11CustomSetupHelpSpawnDialogCustomSetupTips11CustomSetupNextNewDialogOutOfSpaceOutOfNoRbDiskSpace = 10CustomSetupNextNewDialogReadyToInstallOutOfNoRbDiskSpace <> 10CustomSetupNext[_IsSetupTypeMin]Custom10CustomSetupTipsOKEndDialogReturn11CustomerInformationBackNewDialogInstallWelcomeNOT Installed1CustomerInformationCancelSpawnDialogCancelSetup10CustomerInformationNextEndDialogExit(SERIALNUMVALRETRYLIMIT) And (SERIALNUMVALRETRYLIMIT<0) And (SERIALNUMVALRETURN<>SERIALNUMVALSUCCESSRETVAL)2CustomerInformationNextNewDialogSetupType(Not SERIALNUMVALRETURN) OR (SERIALNUMVALRETURN=SERIALNUMVALSUCCESSRETVAL)3CustomerInformationNext[ALLUSERS]1ApplicationUsers = "AllUsers" And Privileged1CustomerInformationNext[ALLUSERS]{}ApplicationUsers = "OnlyCurrentUser" And Privileged2DatabaseFolderBackNewDialogCustomerInformation11DatabaseFolderCancelSpawnDialogCancelSetup11DatabaseFolderChangeFolderSpawnDialogInstallChangeFolder11DatabaseFolderChangeFolder[_BrowseProperty]DATABASEDIR12DatabaseFolderNextNewDialogSetupType11DestinationFolderBackNewDialogInstallWelcomeNOT Installed0DestinationFolderCancelSpawnDialogCancelSetup11DestinationFolderChangeFolderSpawnDialogInstallChangeFolder11DestinationFolderChangeFolder[_BrowseProperty]INSTALLDIR12DestinationFolderNextNewDialogReadyToInstall10DiskSpaceRequirementsOKEndDialogReturn10FilesInUseExitEndDialogExit10FilesInUseIgnoreEndDialogIgnore10FilesInUseRetryEndDialogRetry10InstallChangeFolderCancelEndDialogReturn12InstallChangeFolderCancelReset011InstallChangeFolderNewFolderDirectoryListNew010InstallChangeFolderOKEndDialogReturn13InstallChangeFolderOKSetTargetPath[_BrowseProperty]12InstallChangeFolderUpDirectoryListUp010InstallWelcomeBackNewDialogSplashBitmapDisplay_IsBitmapDlg0InstallWelcomeCancelSpawnDialogCancelSetup10InstallWelcomeNextNewDialogDestinationFolder10LicenseAgreementBackNewDialogInstallWelcome10LicenseAgreementCancelSpawnDialogCancelSetup10LicenseAgreementISPrintButtonDoActionISPrint10LicenseAgreementNextNewDialogCustomerInformationAgreeToLicense = "Yes"0MaintenanceTypeBackNewDialogMaintenanceWelcome10MaintenanceTypeCancelSpawnDialogCancelSetup10MaintenanceTypeNextNewDialogCustomSetup_IsMaintenance = "Change"12MaintenanceTypeNextNewDialogReadyToInstall_IsMaintenance = "Reinstall"13MaintenanceTypeNextNewDialogReadyToRemove_IsMaintenance = "Remove"11MaintenanceTypeNextReinstallALL_IsMaintenance = "Reinstall"10MaintenanceTypeNextReinstallMode[ReinstallModeText]_IsMaintenance = "Reinstall"9MaintenanceTypeNext[ProgressType0]Modify_IsMaintenance = "Change"2MaintenanceTypeNext[ProgressType0]Repair_IsMaintenance = "Reinstall"1MaintenanceTypeNext[ProgressType1]Modifying_IsMaintenance = "Change"3MaintenanceTypeNext[ProgressType1]Repairing_IsMaintenance = "Reinstall"4MaintenanceTypeNext[ProgressType2]modified_IsMaintenance = "Change"6MaintenanceTypeNext[ProgressType2]repairs_IsMaintenance = "Reinstall"5MaintenanceTypeNext[ProgressType3]modifies_IsMaintenance = "Change"7MaintenanceTypeNext[ProgressType3]repairs_IsMaintenance = "Reinstall"8MaintenanceWelcomeCancelSpawnDialogCancelSetup10MaintenanceWelcomeNextNewDialogMaintenanceType10MsiRMFilesInUseCancelEndDialogExit11MsiRMFilesInUseOKEndDialogReturn11MsiRMFilesInUseOKRMShutdownAndRestart0RestartManagerOption="CloseRestart"2OutOfSpaceResumeNewDialogAdminNetworkLocationACTION = "ADMIN"0OutOfSpaceResumeNewDialogDestinationFolderACTION <> "ADMIN"0PatchWelcomeCancelSpawnDialogCancelSetup11PatchWelcomeNextEndDialogReturn13PatchWelcomeNextReinstallALLPATCH And REINSTALL=""1PatchWelcomeNextReinstallModeomusPATCH And REINSTALLMODE=""2ReadmeInformationBackNewDialogLicenseAgreement11ReadmeInformationCancelSpawnDialogCancelSetup11ReadmeInformationNextNewDialogCustomerInformation11ReadyToInstallBackNewDialogCustomSetupInstalled OR _IsSetupTypeMin = "Custom"2ReadyToInstallBackNewDialogDestinationFolderNOT Installed1ReadyToInstallBackNewDialogMaintenanceTypeInstalled AND _IsMaintenance = "Reinstall"3ReadyToInstallCancelSpawnDialogCancelSetup10ReadyToInstallInstallNowEndDialogReturnOutOfNoRbDiskSpace <> 10ReadyToInstallInstallNowNewDialogOutOfSpaceOutOfNoRbDiskSpace = 10ReadyToInstallInstallNow[ProgressType1]Installing10ReadyToInstallInstallNow[ProgressType2]installed10ReadyToInstallInstallNow[ProgressType3]installs10ReadyToInstallInstallPerMachineEndDialogReturnOutOfNoRbDiskSpace <> 10ReadyToInstallInstallPerMachineNewDialogOutOfSpaceOutOfNoRbDiskSpace = 10ReadyToInstallInstallPerMachine[ALLUSERS]110ReadyToInstallInstallPerMachine[MSIINSTALLPERUSER]{}10ReadyToInstallInstallPerMachine[ProgressType1]Installing10ReadyToInstallInstallPerMachine[ProgressType2]installed10ReadyToInstallInstallPerMachine[ProgressType3]installs10ReadyToInstallInstallPerUserEndDialogReturnOutOfNoRbDiskSpace <> 10ReadyToInstallInstallPerUserNewDialogOutOfSpaceOutOfNoRbDiskSpace = 10ReadyToInstallInstallPerUser[ALLUSERS]210ReadyToInstallInstallPerUser[MSIINSTALLPERUSER]110ReadyToInstallInstallPerUser[ProgressType1]Installing10ReadyToInstallInstallPerUser[ProgressType2]installed10ReadyToInstallInstallPerUser[ProgressType3]installs10ReadyToRemoveBackNewDialogMaintenanceType10ReadyToRemoveCancelSpawnDialogCancelSetup10ReadyToRemoveRemoveNowEndDialogReturnOutOfNoRbDiskSpace <> 12ReadyToRemoveRemoveNowNewDialogOutOfSpaceOutOfNoRbDiskSpace = 12ReadyToRemoveRemoveNowRemoveALL11ReadyToRemoveRemoveNow[ProgressType1]Uninstalling10ReadyToRemoveRemoveNow[ProgressType2]uninstalled10ReadyToRemoveRemoveNow[ProgressType3]uninstalls10SetupCompleteErrorBackEndDialogReturn12SetupCompleteErrorBack[Suspend]{}11SetupCompleteErrorCancelEndDialogReturn12SetupCompleteErrorCancel[Suspend]111SetupCompleteErrorFinishDoActionCleanUpISSCRIPTRUNNING="1"1SetupCompleteErrorFinishDoActionShowMsiLogMsiLogFileLocation And (ISSHOWMSILOG="1")3SetupCompleteErrorFinishEndDialogExit12SetupCompleteSuccessOKDoActionCleanUpISSCRIPTRUNNING="1"1SetupCompleteSuccessOKDoActionShowMsiLogMsiLogFileLocation And (ISSHOWMSILOG="1") And NOT ISENABLEDWUSFINISHDIALOG6SetupCompleteSuccessOKEndDialogExit12SetupErrorAEndDialogErrorAbort10SetupErrorCEndDialogErrorCancel10SetupErrorIEndDialogErrorIgnore10SetupErrorNEndDialogErrorNo10SetupErrorOEndDialogErrorOk10SetupErrorREndDialogErrorRetry10SetupErrorYEndDialogErrorYes10SetupInitializationCancelSpawnDialogCancelSetup10SetupInterruptedBackEndDialogExit12SetupInterruptedBack[Suspend]{}11SetupInterruptedCancelEndDialogExit12SetupInterruptedCancel[Suspend]111SetupInterruptedFinishDoActionCleanUpISSCRIPTRUNNING="1"1SetupInterruptedFinishDoActionShowMsiLogMsiLogFileLocation And (ISSHOWMSILOG="1")3SetupInterruptedFinishEndDialogExit12SetupProgressCancelSpawnDialogCancelSetup10SetupResumeCancelSpawnDialogCancelSetup10SetupResumeNextEndDialogReturnOutOfNoRbDiskSpace <> 10SetupResumeNextNewDialogOutOfSpaceOutOfNoRbDiskSpace = 10SetupTypeBackNewDialogDestinationFolderNOT Installed1SetupTypeCancelSpawnDialogCancelSetup10SetupTypeNextNewDialogCustomSetup_IsSetupTypeMin = "Custom"2SetupTypeNextNewDialogReadyToInstall_IsSetupTypeMin <> "Custom"1SetupTypeNextSetInstallLevel100_IsSetupTypeMin="Minimal"0SetupTypeNextSetInstallLevel200_IsSetupTypeMin="Typical"0SetupTypeNextSetInstallLevel300_IsSetupTypeMin="Custom"0SetupTypeNext[ISRUNSETUPTYPEADDLOCALEVENT]110SetupTypeNext[SelectedSetupType][DisplayNameCustom]_IsSetupTypeMin = "Custom"0SetupTypeNext[SelectedSetupType][DisplayNameMinimal]_IsSetupTypeMin = "Minimal"0SetupTypeNext[SelectedSetupType][DisplayNameTypical]_IsSetupTypeMin = "Typical"0SplashBitmapCancelSpawnDialogCancelSetup10SplashBitmapNextNewDialogInstallWelcome10
- - - Directory_ - Component_ - -
INSTALLDIRISX_DEFAULTCOMPONENT1
- - - Action - Type - Source - Target - ExtendedType - ISComments - - - - -
ISPreventDowngrade19[IS_PREVENT_DOWNGRADE_EXIT]Exits install when a newer version of this product is foundISPrint1SetAllUsers.dllPrintScrollableTextPrints the contents of a ScrollableText control on a dialog.ISRunSetupTypeAddLocalEvent1ISExpHlp.dllRunSetupTypeAddLocalEventRun the AddLocal events associated with the Next button on the Setup Type dialog.ISSelfRegisterCosting1ISSELFREG.DLLISSelfRegisterCosting - ISSelfRegisterFiles3073ISSELFREG.DLLISSelfRegisterFiles - ISSelfRegisterFinalize1ISSELFREG.DLLISSelfRegisterFinalize - ISUnSelfRegisterFiles3073ISSELFREG.DLLISUnSelfRegisterFiles - SetARPINSTALLLOCATION51ARPINSTALLLOCATION[INSTALLDIR] - SetAllUsersProfileNT51ALLUSERSPROFILE[%SystemRoot]\Profiles\All Users - ShowMsiLog226SystemFolder[SystemFolder]notepad.exe "[MsiLogFileLocation]"Shows Property-driven MSI LogsetAllUsersProfile2K51ALLUSERSPROFILE[%ALLUSERSPROFILE] - setUserProfileNT51USERPROFILE[%USERPROFILE] -
- - - Dialog - HCentering - VCentering - Width - Height - Attributes - Title - Control_First - Control_Default - Control_Cancel - ISComments - TextStyle_ - ISWindowStyle - ISResourceId - -
AdminChangeFolder50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##TailOKCancelInstall Point Browse0 - AdminNetworkLocation50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##InstallNowInstallNowCancelNetwork Location0 - AdminWelcome50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##NextNextCancelAdministration Welcome0 - CancelSetup5050260853##IDS_PRODUCTNAME_INSTALLSHIELD##NoNoNoCancel0 - CustomSetup505037426635##IDS_PRODUCTNAME_INSTALLSHIELD##TreeNextCancelCustom Selection0 - CustomSetupTips50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##OKOKOKCustom Setup Tips0 - CustomerInformation50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##NameEditNextCancelIdentification0 - DatabaseFolder50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##NextNextCancelDatabase Folder0 - DestinationFolder50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##NextNextCancelDestination Folder0 - DiskSpaceRequirements50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##OKOKOKFeature Details0 - FilesInUse505037426619##IDS_PRODUCTNAME_INSTALLSHIELD##RetryRetryExitFiles in Use0 - InstallChangeFolder50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##TailOKCancelBrowse0 - InstallWelcome50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##NextNextCancelWelcome Panel0 - LicenseAgreement50503742662##IDS_PRODUCTNAME_INSTALLSHIELD##AgreeNextCancelLicense Agreement0 - MaintenanceType50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##RadioGroupNextCancelChange, Reinstall, Remove0 - MaintenanceWelcome50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##NextNextCancelMaintenance Welcome0 - MsiRMFilesInUse505037426619##IDS_PRODUCTNAME_INSTALLSHIELD##OKOKCancelRestartManager Files in Use0 - OutOfSpace50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##ResumeResumeResumeOut Of Disk Space0 - PatchWelcome50503742663##IDS__IsPatchDlg_PatchWizard##NextNextCancelPatch Panel0 - ReadmeInformation50503742667##IDS_PRODUCTNAME_INSTALLSHIELD##NextNextCancelReadme Information00ReadyToInstall505037426635##IDS_PRODUCTNAME_INSTALLSHIELD##InstallNowInstallNowCancelReady to Install0 - ReadyToRemove50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##RemoveNowRemoveNowCancelVerify Remove0 - SetupCompleteError50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##FinishFinishFinishFatal Error0 - SetupCompleteSuccess50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##OKOKOKExit0 - SetupError505027011065543##IDS__IsErrorDlg_InstallerInfo##ErrorTextOCError0 - SetupInitialization50503742665##IDS_PRODUCTNAME_INSTALLSHIELD##CancelCancelCancelSetup Initialization0 - SetupInterrupted50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##FinishFinishFinishUser Exit0 - SetupProgress50503742665##IDS_PRODUCTNAME_INSTALLSHIELD##CancelCancelCancelProgress0 - SetupResume50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##NextNextCancelResume0 - SetupType50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##RadioGroupNextCancelSetup Type0 - SplashBitmap50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##NextNextCancelWelcome Bitmap0 -
- - - Directory - Directory_Parent - DefaultDir - ISDescription - ISAttributes - ISFolderName -
ALLUSERSPROFILETARGETDIR.:ALLUSE~1|All Users0 - AdminToolsFolderTARGETDIR.:Admint~1|AdminTools0 - AppDataFolderTARGETDIR.:APPLIC~1|Application Data0 - CommonAppDataFolderTARGETDIR.:Common~1|CommonAppData0 - CommonFiles64FolderTARGETDIR.:Common640 - CommonFilesFolderTARGETDIR.:Common0 - DATABASEDIRISYourDataBaseDir.0 - DesktopFolderTARGETDIR.:Desktop3 - FavoritesFolderTARGETDIR.:FAVORI~1|Favorites0 - FontsFolderTARGETDIR.:Fonts0 - GlobalAssemblyCacheTARGETDIR.:Global~1|GlobalAssemblyCache0 - INSTALLDIRKYLINODBCDRIVER__X86_.0 - ISCommonFilesFolderCommonFilesFolderInstal~1|InstallShield0 - ISYourDataBaseDirINSTALLDIRDatabase0 - KYLINODBCDRIVERkylinolapKYLINO~1|KylinODBCDriver0 - KYLINODBCDRIVER__X86_kylinolapKYLINO~1|KylinODBCDriver (x86)0 - LocalAppDataFolderTARGETDIR.:LocalA~1|LocalAppData0 - MY_PRODUCT_NAMEkylinolapMYPROD~1|My Product Name0 - MyPicturesFolderTARGETDIR.:MyPict~1|MyPictures0 - NetHoodFolderTARGETDIR.:NetHood0 - PersonalFolderTARGETDIR.:Personal0 - PrimaryVolumePathTARGETDIR.:Primar~1|PrimaryVolumePath0 - PrintHoodFolderTARGETDIR.:PRINTH~1|PrintHood0 - ProgramFiles64FolderTARGETDIR.:Prog64~1|Program Files 640 - ProgramFilesFolderTARGETDIR.:PROGRA~1|program files0 - ProgramMenuFolderTARGETDIR.:Programs3 - RecentFolderTARGETDIR.:Recent0 - SendToFolderTARGETDIR.:SendTo3 - StartMenuFolderTARGETDIR.:STARTM~1|Start Menu3 - StartupFolderTARGETDIR.:StartUp3 - System16FolderTARGETDIR.:System0 - System64FolderTARGETDIR.:System640 - SystemFolderTARGETDIR.:System320 - TARGETDIRSourceDir0 - TempFolderTARGETDIR.:Temp0 - TemplateFolderTARGETDIR.:ShellNew0 - USERPROFILETARGETDIR.:USERPR~1|UserProfile0 - WindowsFolderTARGETDIR.:Windows0 - WindowsVolumeTARGETDIR.:WinRoot0 - kylinolapProgramFilesFolderKYLINO~1|kylinolap0 -
- - - Signature_ - Parent - Path - Depth -
- - - FileKey - Component_ - File_ - DestName - DestFolder -
- - - Environment - Name - Value - Component_ -
- - - Error - Message - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
0##IDS_ERROR_0##1##IDS_ERROR_1##10##IDS_ERROR_8##11##IDS_ERROR_9##1101##IDS_ERROR_22##12##IDS_ERROR_10##13##IDS_ERROR_11##1301##IDS_ERROR_23##1302##IDS_ERROR_24##1303##IDS_ERROR_25##1304##IDS_ERROR_26##1305##IDS_ERROR_27##1306##IDS_ERROR_28##1307##IDS_ERROR_29##1308##IDS_ERROR_30##1309##IDS_ERROR_31##1310##IDS_ERROR_32##1311##IDS_ERROR_33##1312##IDS_ERROR_34##1313##IDS_ERROR_35##1314##IDS_ERROR_36##1315##IDS_ERROR_37##1316##IDS_ERROR_38##1317##IDS_ERROR_39##1318##IDS_ERROR_40##1319##IDS_ERROR_41##1320##IDS_ERROR_42##1321##IDS_ERROR_43##1322##IDS_ERROR_44##1323##IDS_ERROR_45##1324##IDS_ERROR_46##1325##IDS_ERROR_47##1326##IDS_ERROR_48##1327##IDS_ERROR_49##1328##IDS_ERROR_122##1329##IDS_ERROR_1329##1330##IDS_ERROR_1330##1331##IDS_ERROR_1331##1332##IDS_ERROR_1332##1333##IDS_ERROR_1333##1334##IDS_ERROR_1334##1335##IDS_ERROR_1335##1336##IDS_ERROR_1336##14##IDS_ERROR_12##1401##IDS_ERROR_50##1402##IDS_ERROR_51##1403##IDS_ERROR_52##1404##IDS_ERROR_53##1405##IDS_ERROR_54##1406##IDS_ERROR_55##1407##IDS_ERROR_56##1408##IDS_ERROR_57##1409##IDS_ERROR_58##1410##IDS_ERROR_59##15##IDS_ERROR_13##1500##IDS_ERROR_60##1501##IDS_ERROR_61##1502##IDS_ERROR_62##1503##IDS_ERROR_63##16##IDS_ERROR_14##1601##IDS_ERROR_64##1602##IDS_ERROR_65##1603##IDS_ERROR_66##1604##IDS_ERROR_67##1605##IDS_ERROR_68##1606##IDS_ERROR_69##1607##IDS_ERROR_70##1608##IDS_ERROR_71##1609##IDS_ERROR_1609##1651##IDS_ERROR_1651##17##IDS_ERROR_15##1701##IDS_ERROR_72##1702##IDS_ERROR_73##1703##IDS_ERROR_74##1704##IDS_ERROR_75##1705##IDS_ERROR_76##1706##IDS_ERROR_77##1707##IDS_ERROR_78##1708##IDS_ERROR_79##1709##IDS_ERROR_80##1710##IDS_ERROR_81##1711##IDS_ERROR_82##1712##IDS_ERROR_83##1713##IDS_ERROR_123##1714##IDS_ERROR_124##1715##IDS_ERROR_1715##1716##IDS_ERROR_1716##1717##IDS_ERROR_1717##1718##IDS_ERROR_1718##1719##IDS_ERROR_1719##1720##IDS_ERROR_1720##1721##IDS_ERROR_1721##1722##IDS_ERROR_1722##1723##IDS_ERROR_1723##1724##IDS_ERROR_1724##1725##IDS_ERROR_1725##1726##IDS_ERROR_1726##1727##IDS_ERROR_1727##1728##IDS_ERROR_1728##1729##IDS_ERROR_1729##1730##IDS_ERROR_1730##1731##IDS_ERROR_1731##1732##IDS_ERROR_1732##18##IDS_ERROR_16##1801##IDS_ERROR_84##1802##IDS_ERROR_85##1803##IDS_ERROR_86##1804##IDS_ERROR_87##1805##IDS_ERROR_88##1806##IDS_ERROR_89##1807##IDS_ERROR_90##19##IDS_ERROR_17##1901##IDS_ERROR_91##1902##IDS_ERROR_92##1903##IDS_ERROR_93##1904##IDS_ERROR_94##1905##IDS_ERROR_95##1906##IDS_ERROR_96##1907##IDS_ERROR_97##1908##IDS_ERROR_98##1909##IDS_ERROR_99##1910##IDS_ERROR_100##1911##IDS_ERROR_101##1912##IDS_ERROR_102##1913##IDS_ERROR_103##1914##IDS_ERROR_104##1915##IDS_ERROR_105##1916##IDS_ERROR_106##1917##IDS_ERROR_107##1918##IDS_ERROR_108##1919##IDS_ERROR_109##1920##IDS_ERROR_110##1921##IDS_ERROR_111##1922##IDS_ERROR_112##1923##IDS_ERROR_113##1924##IDS_ERROR_114##1925##IDS_ERROR_115##1926##IDS_ERROR_116##1927##IDS_ERROR_117##1928##IDS_ERROR_118##1929##IDS_ERROR_119##1930##IDS_ERROR_125##1931##IDS_ERROR_126##1932##IDS_ERROR_127##1933##IDS_ERROR_128##1934##IDS_ERROR_129##1935##IDS_ERROR_1935##1936##IDS_ERROR_1936##1937##IDS_ERROR_1937##1938##IDS_ERROR_1938##2##IDS_ERROR_2##20##IDS_ERROR_18##21##IDS_ERROR_19##2101##IDS_ERROR_2101##2102##IDS_ERROR_2102##2103##IDS_ERROR_2103##2104##IDS_ERROR_2104##2105##IDS_ERROR_2105##2106##IDS_ERROR_2106##2107##IDS_ERROR_2107##2108##IDS_ERROR_2108##2109##IDS_ERROR_2109##2110##IDS_ERROR_2110##2111##IDS_ERROR_2111##2112##IDS_ERROR_2112##2113##IDS_ERROR_2113##22##IDS_ERROR_120##2200##IDS_ERROR_2200##2201##IDS_ERROR_2201##2202##IDS_ERROR_2202##2203##IDS_ERROR_2203##2204##IDS_ERROR_2204##2205##IDS_ERROR_2205##2206##IDS_ERROR_2206##2207##IDS_ERROR_2207##2208##IDS_ERROR_2208##2209##IDS_ERROR_2209##2210##IDS_ERROR_2210##2211##IDS_ERROR_2211##2212##IDS_ERROR_2212##2213##IDS_ERROR_2213##2214##IDS_ERROR_2214##2215##IDS_ERROR_2215##2216##IDS_ERROR_2216##2217##IDS_ERROR_2217##2218##IDS_ERROR_2218##2219##IDS_ERROR_2219##2220##IDS_ERROR_2220##2221##IDS_ERROR_2221##2222##IDS_ERROR_2222##2223##IDS_ERROR_2223##2224##IDS_ERROR_2224##2225##IDS_ERROR_2225##2226##IDS_ERROR_2226##2227##IDS_ERROR_2227##2228##IDS_ERROR_2228##2229##IDS_ERROR_2229##2230##IDS_ERROR_2230##2231##IDS_ERROR_2231##2232##IDS_ERROR_2232##2233##IDS_ERROR_2233##2234##IDS_ERROR_2234##2235##IDS_ERROR_2235##2236##IDS_ERROR_2236##2237##IDS_ERROR_2237##2238##IDS_ERROR_2238##2239##IDS_ERROR_2239##2240##IDS_ERROR_2240##2241##IDS_ERROR_2241##2242##IDS_ERROR_2242##2243##IDS_ERROR_2243##2244##IDS_ERROR_2244##2245##IDS_ERROR_2245##2246##IDS_ERROR_2246##2247##IDS_ERROR_2247##2248##IDS_ERROR_2248##2249##IDS_ERROR_2249##2250##IDS_ERROR_2250##2251##IDS_ERROR_2251##2252##IDS_ERROR_2252##2253##IDS_ERROR_2253##2254##IDS_ERROR_2254##2255##IDS_ERROR_2255##2256##IDS_ERROR_2256##2257##IDS_ERROR_2257##2258##IDS_ERROR_2258##2259##IDS_ERROR_2259##2260##IDS_ERROR_2260##2261##IDS_ERROR_2261##2262##IDS_ERROR_2262##2263##IDS_ERROR_2263##2264##IDS_ERROR_2264##2265##IDS_ERROR_2265##2266##IDS_ERROR_2266##2267##IDS_ERROR_2267##2268##IDS_ERROR_2268##2269##IDS_ERROR_2269##2270##IDS_ERROR_2270##2271##IDS_ERROR_2271##2272##IDS_ERROR_2272##2273##IDS_ERROR_2273##2274##IDS_ERROR_2274##2275##IDS_ERROR_2275##2276##IDS_ERROR_2276##2277##IDS_ERROR_2277##2278##IDS_ERROR_2278##2279##IDS_ERROR_2279##2280##IDS_ERROR_2280##2281##IDS_ERROR_2281##2282##IDS_ERROR_2282##23##IDS_ERROR_121##2302##IDS_ERROR_2302##2303##IDS_ERROR_2303##2304##IDS_ERROR_2304##2305##IDS_ERROR_2305##2306##IDS_ERROR_2306##2307##IDS_ERROR_2307##2308##IDS_ERROR_2308##2309##IDS_ERROR_2309##2310##IDS_ERROR_2310##2315##IDS_ERROR_2315##2318##IDS_ERROR_2318##2319##IDS_ERROR_2319##2320##IDS_ERROR_2320##2321##IDS_ERROR_2321##2322##IDS_ERROR_2322##2323##IDS_ERROR_2323##2324##IDS_ERROR_2324##2325##IDS_ERROR_2325##2326##IDS_ERROR_2326##2327##IDS_ERROR_2327##2328##IDS_ERROR_2328##2329##IDS_ERROR_2329##2330##IDS_ERROR_2330##2331##IDS_ERROR_2331##2332##IDS_ERROR_2332##2333##IDS_ERROR_2333##2334##IDS_ERROR_2334##2335##IDS_ERROR_2335##2336##IDS_ERROR_2336##2337##IDS_ERROR_2337##2338##IDS_ERROR_2338##2339##IDS_ERROR_2339##2340##IDS_ERROR_2340##2341##IDS_ERROR_2341##2342##IDS_ERROR_2342##2343##IDS_ERROR_2343##2344##IDS_ERROR_2344##2345##IDS_ERROR_2345##2347##IDS_ERROR_2347##2348##IDS_ERROR_2348##2349##IDS_ERROR_2349##2350##IDS_ERROR_2350##2351##IDS_ERROR_2351##2352##IDS_ERROR_2352##2353##IDS_ERROR_2353##2354##IDS_ERROR_2354##2355##IDS_ERROR_2355##2356##IDS_ERROR_2356##2357##IDS_ERROR_2357##2358##IDS_ERROR_2358##2359##IDS_ERROR_2359##2360##IDS_ERROR_2360##2361##IDS_ERROR_2361##2362##IDS_ERROR_2362##2363##IDS_ERROR_2363##2364##IDS_ERROR_2364##2365##IDS_ERROR_2365##2366##IDS_ERROR_2366##2367##IDS_ERROR_2367##2368##IDS_ERROR_2368##2370##IDS_ERROR_2370##2371##IDS_ERROR_2371##2372##IDS_ERROR_2372##2373##IDS_ERROR_2373##2374##IDS_ERROR_2374##2375##IDS_ERROR_2375##2376##IDS_ERROR_2376##2379##IDS_ERROR_2379##2380##IDS_ERROR_2380##2381##IDS_ERROR_2381##2382##IDS_ERROR_2382##2401##IDS_ERROR_2401##2402##IDS_ERROR_2402##2501##IDS_ERROR_2501##2502##IDS_ERROR_2502##2503##IDS_ERROR_2503##2601##IDS_ERROR_2601##2602##IDS_ERROR_2602##2603##IDS_ERROR_2603##2604##IDS_ERROR_2604##2605##IDS_ERROR_2605##2606##IDS_ERROR_2606##2607##IDS_ERROR_2607##2608##IDS_ERROR_2608##2609##IDS_ERROR_2609##2611##IDS_ERROR_2611##2612##IDS_ERROR_2612##2613##IDS_ERROR_2613##2614##IDS_ERROR_2614##2615##IDS_ERROR_2615##2616##IDS_ERROR_2616##2617##IDS_ERROR_2617##2618##IDS_ERROR_2618##2619##IDS_ERROR_2619##2620##IDS_ERROR_2620##2621##IDS_ERROR_2621##2701##IDS_ERROR_2701##2702##IDS_ERROR_2702##2703##IDS_ERROR_2703##2704##IDS_ERROR_2704##2705##IDS_ERROR_2705##2706##IDS_ERROR_2706##2707##IDS_ERROR_2707##2708##IDS_ERROR_2708##2709##IDS_ERROR_2709##2710##IDS_ERROR_2710##2711##IDS_ERROR_2711##2712##IDS_ERROR_2712##2713##IDS_ERROR_2713##2714##IDS_ERROR_2714##2715##IDS_ERROR_2715##2716##IDS_ERROR_2716##2717##IDS_ERROR_2717##2718##IDS_ERROR_2718##2719##IDS_ERROR_2719##2720##IDS_ERROR_2720##2721##IDS_ERROR_2721##2722##IDS_ERROR_2722##2723##IDS_ERROR_2723##2724##IDS_ERROR_2724##2725##IDS_ERROR_2725##2726##IDS_ERROR_2726##2727##IDS_ERROR_2727##2728##IDS_ERROR_2728##2729##IDS_ERROR_2729##2730##IDS_ERROR_2730##2731##IDS_ERROR_2731##2732##IDS_ERROR_2732##2733##IDS_ERROR_2733##2734##IDS_ERROR_2734##2735##IDS_ERROR_2735##2736##IDS_ERROR_2736##2737##IDS_ERROR_2737##2738##IDS_ERROR_2738##2739##IDS_ERROR_2739##2740##IDS_ERROR_2740##2741##IDS_ERROR_2741##2742##IDS_ERROR_2742##2743##IDS_ERROR_2743##2744##IDS_ERROR_2744##2745##IDS_ERROR_2745##2746##IDS_ERROR_2746##2747##IDS_ERROR_2747##2748##IDS_ERROR_2748##2749##IDS_ERROR_2749##2750##IDS_ERROR_2750##27500##IDS_ERROR_130##27501##IDS_ERROR_131##27502##IDS_ERROR_27502##27503##IDS_ERROR_27503##27504##IDS_ERROR_27504##27505##IDS_ERROR_27505##27506##IDS_ERROR_27506##27507##IDS_ERROR_27507##27508##IDS_ERROR_27508##27509##IDS_ERROR_27509##2751##IDS_ERROR_2751##27510##IDS_ERROR_27510##27511##IDS_ERROR_27511##27512##IDS_ERROR_27512##27513##IDS_ERROR_27513##27514##IDS_ERROR_27514##27515##IDS_ERROR_27515##27516##IDS_ERROR_27516##27517##IDS_ERROR_27517##27518##IDS_ERROR_27518##27519##IDS_ERROR_27519##2752##IDS_ERROR_2752##27520##IDS_ERROR_27520##27521##IDS_ERROR_27521##27522##IDS_ERROR_27522##27523##IDS_ERROR_27523##27524##IDS_ERROR_27524##27525##IDS_ERROR_27525##27526##IDS_ERROR_27526##27527##IDS_ERROR_27527##27528##IDS_ERROR_27528##27529##IDS_ERROR_27529##2753##IDS_ERROR_2753##27530##IDS_ERROR_27530##27531##IDS_ERROR_27531##27532##IDS_ERROR_27532##27533##IDS_ERROR_27533##27534##IDS_ERROR_27534##27535##IDS_ERROR_27535##27536##IDS_ERROR_27536##27537##IDS_ERROR_27537##27538##IDS_ERROR_27538##27539##IDS_ERROR_27539##2754##IDS_ERROR_2754##27540##IDS_ERROR_27540##27541##IDS_ERROR_27541##27542##IDS_ERROR_27542##27543##IDS_ERROR_27543##27544##IDS_ERROR_27544##27545##IDS_ERROR_27545##27546##IDS_ERROR_27546##27547##IDS_ERROR_27547##27548##IDS_ERROR_27548##27549##IDS_ERROR_27549##2755##IDS_ERROR_2755##27550##IDS_ERROR_27550##27551##IDS_ERROR_27551##27552##IDS_ERROR_27552##27553##IDS_ERROR_27553##27554##IDS_ERROR_27554##27555##IDS_ERROR_27555##2756##IDS_ERROR_2756##2757##IDS_ERROR_2757##2758##IDS_ERROR_2758##2759##IDS_ERROR_2759##2760##IDS_ERROR_2760##2761##IDS_ERROR_2761##2762##IDS_ERROR_2762##2763##IDS_ERROR_2763##2765##IDS_ERROR_2765##2766##IDS_ERROR_2766##2767##IDS_ERROR_2767##2768##IDS_ERROR_2768##2769##IDS_ERROR_2769##2770##IDS_ERROR_2770##2771##IDS_ERROR_2771##2772##IDS_ERROR_2772##2801##IDS_ERROR_2801##2802##IDS_ERROR_2802##2803##IDS_ERROR_2803##2804##IDS_ERROR_2804##2806##IDS_ERROR_2806##2807##IDS_ERROR_2807##2808##IDS_ERROR_2808##2809##IDS_ERROR_2809##2810##IDS_ERROR_2810##2811##IDS_ERROR_2811##2812##IDS_ERROR_2812##2813##IDS_ERROR_2813##2814##IDS_ERROR_2814##2815##IDS_ERROR_2815##2816##IDS_ERROR_2816##2817##IDS_ERROR_2817##2818##IDS_ERROR_2818##2819##IDS_ERROR_2819##2820##IDS_ERROR_2820##2821##IDS_ERROR_2821##2822##IDS_ERROR_2822##2823##IDS_ERROR_2823##2824##IDS_ERROR_2824##2825##IDS_ERROR_2825##2826##IDS_ERROR_2826##2827##IDS_ERROR_2827##2828##IDS_ERROR_2828##2829##IDS_ERROR_2829##2830##IDS_ERROR_2830##2831##IDS_ERROR_2831##2832##IDS_ERROR_2832##2833##IDS_ERROR_2833##2834##IDS_ERROR_2834##2835##IDS_ERROR_2835##2836##IDS_ERROR_2836##2837##IDS_ERROR_2837##2838##IDS_ERROR_2838##2839##IDS_ERROR_2839##2840##IDS_ERROR_2840##2841##IDS_ERROR_2841##2842##IDS_ERROR_2842##2843##IDS_ERROR_2843##2844##IDS_ERROR_2844##2845##IDS_ERROR_2845##2846##IDS_ERROR_2846##2847##IDS_ERROR_2847##2848##IDS_ERROR_2848##2849##IDS_ERROR_2849##2850##IDS_ERROR_2850##2851##IDS_ERROR_2851##2852##IDS_ERROR_2852##2853##IDS_ERROR_2853##2854##IDS_ERROR_2854##2855##IDS_ERROR_2855##2856##IDS_ERROR_2856##2857##IDS_ERROR_2857##2858##IDS_ERROR_2858##2859##IDS_ERROR_2859##2860##IDS_ERROR_2860##2861##IDS_ERROR_2861##2862##IDS_ERROR_2862##2863##IDS_ERROR_2863##2864##IDS_ERROR_2864##2865##IDS_ERROR_2865##2866##IDS_ERROR_2866##2867##IDS_ERROR_2867##2868##IDS_ERROR_2868##2869##IDS_ERROR_2869##2870##IDS_ERROR_2870##2871##IDS_ERROR_2871##2872##IDS_ERROR_2872##2873##IDS_ERROR_2873##2874##IDS_ERROR_2874##2875##IDS_ERROR_2875##2876##IDS_ERROR_2876##2877##IDS_ERROR_2877##2878##IDS_ERROR_2878##2879##IDS_ERROR_2879##2880##IDS_ERROR_2880##2881##IDS_ERROR_2881##2882##IDS_ERROR_2882##2883##IDS_ERROR_2883##2884##IDS_ERROR_2884##2885##IDS_ERROR_2885##2886##IDS_ERROR_2886##2887##IDS_ERROR_2887##2888##IDS_ERROR_2888##2889##IDS_ERROR_2889##2890##IDS_ERROR_2890##2891##IDS_ERROR_2891##2892##IDS_ERROR_2892##2893##IDS_ERROR_2893##2894##IDS_ERROR_2894##2895##IDS_ERROR_2895##2896##IDS_ERROR_2896##2897##IDS_ERROR_2897##2898##IDS_ERROR_2898##2899##IDS_ERROR_2899##2901##IDS_ERROR_2901##2902##IDS_ERROR_2902##2903##IDS_ERROR_2903##2904##IDS_ERROR_2904##2905##IDS_ERROR_2905##2906##IDS_ERROR_2906##2907##IDS_ERROR_2907##2908##IDS_ERROR_2908##2909##IDS_ERROR_2909##2910##IDS_ERROR_2910##2911##IDS_ERROR_2911##2912##IDS_ERROR_2912##2919##IDS_ERROR_2919##2920##IDS_ERROR_2920##2924##IDS_ERROR_2924##2927##IDS_ERROR_2927##2928##IDS_ERROR_2928##2929##IDS_ERROR_2929##2932##IDS_ERROR_2932##2933##IDS_ERROR_2933##2934##IDS_ERROR_2934##2935##IDS_ERROR_2935##2936##IDS_ERROR_2936##2937##IDS_ERROR_2937##2938##IDS_ERROR_2938##2939##IDS_ERROR_2939##2940##IDS_ERROR_2940##2941##IDS_ERROR_2941##2942##IDS_ERROR_2942##2943##IDS_ERROR_2943##2944##IDS_ERROR_2944##2945##IDS_ERROR_2945##3001##IDS_ERROR_3001##3002##IDS_ERROR_3002##32##IDS_ERROR_20##33##IDS_ERROR_21##4##IDS_ERROR_3##5##IDS_ERROR_4##7##IDS_ERROR_5##8##IDS_ERROR_6##9##IDS_ERROR_7##
- - - Dialog_ - Control_ - Event - Attribute - - - - - - - - - - - - - - - -
CustomSetupItemDescriptionSelectionDescriptionTextCustomSetupLocationSelectionPathTextCustomSetupSizeSelectionSizeTextSetupInitializationActionDataActionDataTextSetupInitializationActionTextActionTextTextSetupProgressActionProgress95AdminInstallFinalizeProgressSetupProgressActionProgress95InstallFilesProgressSetupProgressActionProgress95MoveFilesProgressSetupProgressActionProgress95RemoveFilesProgressSetupProgressActionProgress95RemoveRegistryValuesProgressSetupProgressActionProgress95SetProgressProgressSetupProgressActionProgress95UnmoveFilesProgressSetupProgressActionProgress95WriteIniValuesProgressSetupProgressActionProgress95WriteRegistryValuesProgressSetupProgressActionTextActionTextText
- - - Extension - Component_ - ProgId_ - MIME_ - Feature_ -
- - - Feature - Feature_Parent - Title - Description - Display - Level - Directory_ - Attributes - ISReleaseFlags - ISComments - ISFeatureCabName - ISProFeatureName -
AlwaysInstall##DN_AlwaysInstall##Enter the description for this feature here.01INSTALLDIR16Enter comments regarding this feature here. -
- - - Feature_ - Component_ - - -
AlwaysInstallDriver.Primary_OutputAlwaysInstallISX_DEFAULTCOMPONENT1
- - - File - Component_ - FileName - FileSize - Version - Language - Attributes - Sequence - ISBuildSourcePath - ISAttributes - ISComponentSubFolder_ -
driver.primary_outputDriver.Primary_OutputDriver.Primary Output01<Driver>|Built3 -
- - - File_ - SFPCatalog_ -
- - - File_ - FontTitle -
- - - Tag - Data - - - -
PROJECT_ASSISTANT_DEFAULT_FEATUREAlwaysInstallPROJECT_ASSISTANT_FEATURESNonSelectableRegistryPageEnabledYes
- - - ISBillboard - Duration - Origin - X - Y - Effect - Sequence - Target - Color - Style - Font - Title - DisplayName -
- - - Package - SourcePath - ProductCode - Order - Options - InstallCondition - RemoveCondition - InstallProperties - RemoveProperties - ISReleaseFlags - DisplayName -
- - - Package_ - File - FilePath - Options - Data - ISBuildSourcePath -
- - - Action_ - Name - Value -
- - - ISComCatalogObject_ - ItemName - ItemValue -
- - - ISComCatalogCollection - ISComCatalogObject_ - CollectionName -
- - - ISComCatalogCollection_ - ISComCatalogObject_ -
- - - ISComCatalogObject - DisplayName -
- - - ISComCatalogObject_ - ComputerName - Component_ - ISAttributes - DepFiles -
- - - ISComPlusApplicationDLL - ISComPlusApplication_ - ISComCatalogObject_ - CLSID - ProgId - DLL - AlterDLL -
- - - ISComPlusProxy - ISComPlusApplication_ - Component_ - ISAttributes - DepFiles -
- - - ISComPlusApplication_ - File_ - ISPath -
- - - File_ - ISComPlusApplicationDLL_ -
- - - ISComPlusApplication_ - File_ - ISPath -
- - - File_ - ISComPlusApplicationDLL_ -
- - - Component_ - OS - Language - FilterProperty - Platforms - FTPLocation - HTTPLocation - Miscellaneous -
Driver.Primary_Output_0776C3D4_320A_4A6B_AB0E_ABD19CC469E6_FILTER - ISX_DEFAULTCOMPONENT1_B709F437_EE83_45B5_B365_1331E1C1C627_FILTER -
- - - Action_ - Description - FileType - ISCAReferenceFilePath -
- - - ISDIMReference_ - RequiredUUID - RequiredMajorVersion - RequiredMinorVersion - RequiredBuildVersion - RequiredRevisionVersion -
- - - ISDIMReference - ISBuildSourcePath -
- - - ISDIMReference_Parent - ISDIMDependency_ -
- - - ISDIMVariable - ISDIMReference_ - Name - NewValue - Type -
- - - EntryPoint - Type - Source - Target -
- - - ISDRMFile - File_ - ISDRMLicense_ - Shell -
- - - ISDRMFile_ - Property - Value -
- - - ISDRMLicense - Description - ProjectVersion - Attributes - LicenseNumber - RequestCode - ResponseCode -
- - - ISDependency - Exclude -
- - - ISDisk1File - ISBuildSourcePath - Disk -
- - - Component_ - SourceFolder - IncludeFlags - IncludeFiles - ExcludeFiles - ISAttributes -
- - - Feature_ - ISDIMReference_ -
- - - Feature_ - ModuleID - Language -
- - - Feature_ - ISMergeModule_ - Language_ -
- - - Feature_ - ISSetupPrerequisites_ -
- - - File_ - Manifest_ -
- - - ISIISItem - ISIISItem_Parent - DisplayName - Type - Component_ -
- - - ISIISProperty - ISIISItem_ - Schema - FriendlyName - MetaDataProp - MetaDataType - MetaDataUserType - MetaDataAttributes - MetaDataValue - Order - ISAttributes -
- - - EntryPoint - Type - Source - Target -
- - - ISLanguage - Included - -
10331
- - - ISLinkerLibrary - Library - Order - - -
isrt.oblisrt.obl2iswi.obliswi.obl1
- - - Dialog_ - Control_ - ISLanguage_ - Attributes - X - Y - Width - Height - Binary_ - ISBuildSourcePath -
- - - Dialog_ - ISLanguage_ - Attributes - TextStyle_ - Width - Height -
- - - Property - Order - ISLanguage_ - X - Y - Width - Height -
- - - LockObject - Table - Domain - User - Permission - Attributes -
- - - DiskId - ISProductConfiguration_ - ISRelease_ - LastSequence - DiskPrompt - Cabinet - VolumeLabel - Source -
- - - ISLogicalDisk_ - ISProductConfiguration_ - ISRelease_ - Feature_ - Sequence - ISAttributes -
- - - ISMergeModule - Language - Name - Destination - ISAttributes -
- - - ISMergeModule_ - Language_ - ModuleConfiguration_ - Value - Format - Type - ContextData - DefaultValue - Attributes - DisplayName - Description - HelpLocation - HelpKeyword -
- - - ObjectName - Language -
- - - ObjectName - Property - Value - IncludeInBuild -
- - - PatchConfiguration_ - UpgradedImage_ -
- - - Name - CanPCDiffer - CanPVDiffer - IncludeWholeFiles - LeaveDecompressed - OptimizeForSize - EnablePatchCache - PatchCacheDir - Flags - PatchGuidsToReplace - TargetProductCodes - PatchGuid - OutputPath - MinMsiVersion - Attributes -
- - - ISPatchConfiguration_ - Property - Value -
- - - Name - ISUpgradedImage_ - FileKey - FilePath -
- - - UpgradedImage - FileKey - Component -
- - - ISPathVariable - Value - TestValue - Type - - - - - - - - - -
CommonFilesFolder1DriverDriver\driver.vcxproj2ISPROJECTDIR1ISProductFolder1ISProjectDataFolder1ISProjectFolder1ProgramFilesFolder1SystemFolder1WindowsFolder1
- - - Action_ - Name - Value -
- - - ISProductConfiguration - ProductConfigurationFlags - GeneratePackageCode - -
Express1
- - - ISProductConfiguration_ - InstanceId - Property - Value -
- - - ISProductConfiguration_ - Property - Value - -
ExpressSetupFileNameKylinODBCDriver (x86)
- - - ISRelease - ISProductConfiguration_ - BuildLocation - PackageName - Type - SupportedLanguagesUI - MsiSourceType - ReleaseType - Platforms - SupportedLanguagesData - DefaultLanguage - SupportedOSs - DiskSize - DiskSizeUnit - DiskClusterSize - ReleaseFlags - DiskSpanning - SynchMsi - MediaLocation - URLLocation - DigitalURL - DigitalPVK - DigitalSPC - Password - VersionCopyright - Attributes - CDBrowser - DotNetBuildConfiguration - MsiCommandLine - ISSetupPrerequisiteLocation - - - - - - - - -
CD_ROMExpress<ISProjectDataFolder>Default0103302Intel10330650020480MediaLocationhttp://758053CustomExpress<ISProjectDataFolder>Default2103302Intel10330100010240MediaLocationhttp://758053DVD-10Express<ISProjectDataFolder>Default3103302Intel103308.75120480MediaLocationhttp://758053DVD-18Express<ISProjectDataFolder>Default3103302Intel1033015.83120480MediaLocationhttp://758053DVD-5Express<ISProjectDataFolder>Default3103302Intel103304.38120480MediaLocationhttp://758053DVD-9Express<ISProjectDataFolder>Default3103302Intel103307.95120480MediaLocationhttp://758053SingleImageExpress<ISProjectDataFolder>PackageName1103301Intel103300000MediaLocationhttp://Apache License1095973WebDeploymentExpress<ISProjectDataFolder>PackageName4103321Intel103300000MediaLocationhttp://1249413
- - - ISRelease_ - ISProductConfiguration_ - Property - Value -
- - - ISRelease_ - ISProductConfiguration_ - WebType - WebURL - WebCabSize - OneClickCabName - OneClickHtmlName - WebLocalCachePath - EngineLocation - Win9xMsiUrl - WinNTMsiUrl - ISEngineLocation - ISEngineURL - OneClickTargetBrowser - DigitalCertificateIdNS - DigitalCertificateDBaseNS - DigitalCertificatePasswordNS - DotNetRedistLocation - DotNetRedistURL - DotNetVersion - DotNetBaseLanguage - DotNetLangaugePacks - DotNetFxCmdLine - DotNetLangPackCmdLine - JSharpCmdLine - Attributes - JSharpRedistLocation - MsiEngineVersion - WinMsi30Url - CertPassword -
CD_ROMExpress0http://0installinstall[LocalAppDataFolder]Downloaded Installations0http://www.installengine.com/Msiengine20http://www.installengine.com/Msiengine200http://www.installengine.com/cert05/isengine03http://www.installengine.com/cert05/dotnetfx010333http://www.installengine.com/Msiengine30 - CustomExpress0http://0installinstall[LocalAppDataFolder]Downloaded Installations0http://www.installengine.com/Msiengine20http://www.installengine.com/Msiengine200http://www.installengine.com/cert05/isengine03http://www.installengine.com/cert05/dotnetfx010333http://www.installengine.com/Msiengine30 - DVD-10Express0http://0installinstall[LocalAppDataFolder]Downloaded Installations0http://www.installengine.com/Msiengine20http://www.installengine.com/Msiengine200http://www.installengine.com/cert05/isengine03http://www.installengine.com/cert05/dotnetfx010333http://www.installengine.com/Msiengine30 - DVD-18Express0http://0installinstall[LocalAppDataFolder]Downloaded Installations0http://www.installengine.com/Msiengine20http://www.installengine.com/Msiengine200http://www.installengine.com/cert05/isengine03http://www.installengine.com/cert05/dotnetfx010333http://www.installengine.com/Msiengine30 - DVD-5Express0http://0installinstall[LocalAppDataFolder]Downloaded Installations0http://www.installengine.com/Msiengine20http://www.installengine.com/Msiengine200http://www.installengine.com/cert05/isengine03http://www.installengine.com/cert05/dotnetfx010333http://www.installengine.com/Msiengine30 - DVD-9Express0http://0installinstall[LocalAppDataFolder]Downloaded Installations0http://www.installengine.com/Msiengine20http://www.installengine.com/Msiengine200http://www.installengine.com/cert05/isengine03http://www.installengine.com/cert05/dotnetfx010333http://www.installengine.com/Msiengine30 - SingleImageExpress0http://0installinstall[LocalAppDataFolder]Downloaded Installations1http://www.installengine.com/Msiengine20http://www.installengine.com/Msiengine200http://www.installengine.com/cert05/isengine03http://www.installengine.com/cert05/dotnetfx010333http://www.installengine.com/Msiengine30 - WebDeploymentExpress0http://0setupDefault[LocalAppDataFolder]Downloaded Installations2http://www.Installengine.com/Msiengine20http://www.Installengine.com/Msiengine200http://www.installengine.com/cert05/isengine03http://www.installengine.com/cert05/dotnetfx010333http://www.installengine.com/Msiengine30 -
- - - ISRelease_ - ISProductConfiguration_ - Name - Value - -
SingleImageExpressSetupExeDescrInstallation file for Kylin ODBC
- - - ISRelease_ - ISProductConfiguration_ - Repository - DisplayName - Publisher - Description - ISAttributes -
- - - ISSQLConnection - Server - Database - UserName - Password - Authentication - Attributes - Order - Comments - CmdTimeout - BatchSeparator - ScriptVersion_Table - ScriptVersion_Column -
- - - ISSQLConnectionDBServer - ISSQLConnection_ - ISSQLDBMetaData_ - Order -
- - - ISSQLConnection_ - ISSQLScriptFile_ - Order -
- - - ISSQLDBMetaData - DisplayName - AdoDriverName - AdoCxnDriver - AdoCxnServer - AdoCxnDatabase - AdoCxnUserID - AdoCxnPassword - AdoCxnWindowsSecurity - AdoCxnNetLibrary - TestDatabaseCmd - TestTableCmd - VersionInfoCmd - VersionBeginToken - VersionEndToken - LocalInstanceNames - CreateDbCmd - SwitchDbCmd - ISAttributes - TestTableCmd2 - WinAuthentUserId - DsnODBCName - AdoCxnPort - AdoCxnAdditional - QueryDatabasesCmd - CreateTableCmd - InsertRecordCmd - SelectTableCmd - ScriptVersion_Table - ScriptVersion_Column - ScriptVersion_ColumnType -
- - - ISSQLRequirement - ISSQLConnection_ - MajorVersion - ServicePackLevel - Attributes - ISSQLConnectionDBServer_ -
- - - ErrNumber - ISSQLScriptFile_ - ErrHandling - Message - Attributes -
- - - ISSQLScriptFile - Component_ - Scheduling - InstallText - UninstallText - ISBuildSourcePath - Comments - ErrorHandling - Attributes - Version - Condition - DisplayName -
- - - ISSQLScriptFile_ - Server - Database - UserName - Password - Authentication - IncludeTables - ExcludeTables - Attributes -
- - - ISSQLScriptReplace - ISSQLScriptFile_ - Search - Replace - Attributes -
- - - ISScriptFile -
- - - FileKey - Cost - Order - CmdLine -
- - - ISSetupFile - FileName - Stream - Language - Splash - Path -
- - - ISSetupPrerequisites - ISBuildSourcePath - Order - ISSetupLocation - ISReleaseFlags -
- - - ISSetupType - Description - Display_Name - Display - Comments -
Custom##IDS__IsSetupTypeMinDlg_ChooseFeatures####IDS__IsSetupTypeMinDlg_Custom##3 - Minimal##IDS__IsSetupTypeMinDlg_MinimumFeatures####IDS__IsSetupTypeMinDlg_Minimal##2 - Typical##IDS__IsSetupTypeMinDlg_AllFeatures####IDS__IsSetupTypeMinDlg_Typical##1 -
- - - ISSetupType_ - Feature_ - - - -
CustomAlwaysInstallMinimalAlwaysInstallTypicalAlwaysInstall
- - - Name - ISBuildSourcePath -
- - - ISString - ISLanguage_ - Value - Encoded - Comment - TimeStamp - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
COMPANY_NAME1033kylinolap01965213424DN_AlwaysInstall1033Always Install0-1977438387IDPROP_EXPRESS_LAUNCH_CONDITION_COLOR1033The color settings of your system are not adequate for running [ProductName].0-1977438387IDPROP_EXPRESS_LAUNCH_CONDITION_OS1033The operating system is not adequate for running [ProductName].0-1977438387IDPROP_EXPRESS_LAUNCH_CONDITION_PROCESSOR1033The processor is not adequate for running [ProductName].0-1977438387IDPROP_EXPRESS_LAUNCH_CONDITION_RAM1033The amount of RAM is not adequate for running [ProductName].0-1977438387IDPROP_EXPRESS_LAUNCH_CONDITION_SCREEN1033The screen resolution is not adequate for running [ProductName].0-1977438387IDPROP_SETUPTYPE_COMPACT1033Compact0-1977438387IDPROP_SETUPTYPE_COMPACT_DESC1033Compact Description0-1977438387IDPROP_SETUPTYPE_COMPLETE1033Complete0-1977438387IDPROP_SETUPTYPE_COMPLETE_DESC1033Complete0-1977438387IDPROP_SETUPTYPE_CUSTOM1033Custom0-1977438387IDPROP_SETUPTYPE_CUSTOM_DESC1033Custom Description0-1977438387IDPROP_SETUPTYPE_CUSTOM_DESC_PRO1033Custom0-1977438387IDPROP_SETUPTYPE_TYPICAL1033Typical0-1977438387IDPROP_SETUPTYPE_TYPICAL_DESC1033Typical Description0-1977438387IDS_ACTIONTEXT_11033[1]0-1977438387IDS_ACTIONTEXT_1b1033[1]0-1977438387IDS_ACTIONTEXT_1c1033[1]0-1977438387IDS_ACTIONTEXT_1d1033[1]0-1977438387IDS_ACTIONTEXT_Advertising1033Advertising application0-1977438387IDS_ACTIONTEXT_AllocatingRegistry1033Allocating registry space0-1977438387IDS_ACTIONTEXT_AppCommandLine1033Application: [1], Command line: [2]0-1977438387IDS_ACTIONTEXT_AppId1033AppId: [1]{{, AppType: [2]}}0-1977438387IDS_ACTIONTEXT_AppIdAppTypeRSN1033AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}0-1977438387IDS_ACTIONTEXT_Application1033Application: [1]0-1977438387IDS_ACTIONTEXT_BindingExes1033Binding executables0-1977438387IDS_ACTIONTEXT_ClassId1033Class ID: [1]0-1977438387IDS_ACTIONTEXT_ClsID1033Class ID: [1]0-1977438387IDS_ACTIONTEXT_ComponentIDQualifier1033Component ID: [1], Qualifier: [2]0-1977438387IDS_ACTIONTEXT_ComponentIdQualifier21033Component ID: [1], Qualifier: [2]0-1977438387IDS_ACTIONTEXT_ComputingSpace1033Computing space requirements0-1977438387IDS_ACTIONTEXT_ComputingSpace21033Computing space requirements0-1977438387IDS_ACTIONTEXT_ComputingSpace31033Computing space requirements0-1977438387IDS_ACTIONTEXT_ContentTypeExtension1033MIME Content Type: [1], Extension: [2]0-1977438387IDS_ACTIONTEXT_ContentTypeExtension21033MIME Content Type: [1], Extension: [2]0-1977438387IDS_ACTIONTEXT_CopyingNetworkFiles1033Copying files to the network0-1977438387IDS_ACTIONTEXT_CopyingNewFiles1033Copying new files0-1977438387IDS_ACTIONTEXT_CreatingDuplicate1033Creating duplicate files0-1977438387IDS_ACTIONTEXT_CreatingFolders1033Creating folders0-1977438387IDS_ACTIONTEXT_CreatingIISRoots1033Creating IIS Virtual Roots...0-1977438387IDS_ACTIONTEXT_CreatingShortcuts1033Creating shortcuts0-1977438387IDS_ACTIONTEXT_DeletingServices1033Deleting services0-1977438387IDS_ACTIONTEXT_EnvironmentStrings1033Updating environment strings0-1977438387IDS_ACTIONTEXT_EvaluateLaunchConditions1033Evaluating launch conditions0-1977438387IDS_ACTIONTEXT_Extension1033Extension: [1]0-1977438387IDS_ACTIONTEXT_Extension21033Extension: [1]0-1977438387IDS_ACTIONTEXT_Feature1033Feature: [1]0-1977438387IDS_ACTIONTEXT_FeatureColon1033Feature: [1]0-1977438387IDS_ACTIONTEXT_File1033File: [1]0-1977438387IDS_ACTIONTEXT_File21033File: [1]0-1977438387IDS_ACTIONTEXT_FileDependencies1033File: [1], Dependencies: [2]0-1977438387IDS_ACTIONTEXT_FileDir1033File: [1], Directory: [9]0-1977438387IDS_ACTIONTEXT_FileDir21033File: [1], Directory: [9]0-1977438387IDS_ACTIONTEXT_FileDir31033File: [1], Directory: [9]0-1977438387IDS_ACTIONTEXT_FileDirSize1033File: [1], Directory: [9], Size: [6]0-1977438387IDS_ACTIONTEXT_FileDirSize21033File: [1], Directory: [9], Size: [6]0-1977438387IDS_ACTIONTEXT_FileDirSize31033File: [1], Directory: [9], Size: [6]0-1977438387IDS_ACTIONTEXT_FileDirSize41033File: [1], Directory: [2], Size: [3]0-1977438387IDS_ACTIONTEXT_FileDirectorySize1033File: [1], Directory: [9], Size: [6]0-1977438387IDS_ACTIONTEXT_FileFolder1033File: [1], Folder: [2]0-1977438387IDS_ACTIONTEXT_FileFolder21033File: [1], Folder: [2]0-1977438387IDS_ACTIONTEXT_FileSectionKeyValue1033File: [1], Section: [2], Key: [3], Value: [4]0-1977438387IDS_ACTIONTEXT_FileSectionKeyValue21033File: [1], Section: [2], Key: [3], Value: [4]0-1977438387IDS_ACTIONTEXT_Folder1033Folder: [1]0-1977438387IDS_ACTIONTEXT_Folder11033Folder: [1]0-1977438387IDS_ACTIONTEXT_Font1033Font: [1]0-1977438387IDS_ACTIONTEXT_Font21033Font: [1]0-1977438387IDS_ACTIONTEXT_FoundApp1033Found application: [1]0-1977438387IDS_ACTIONTEXT_FreeSpace1033Free space: [1]0-1977438387IDS_ACTIONTEXT_GeneratingScript1033Generating script operations for action:0-1977438387IDS_ACTIONTEXT_ISLockPermissionsCost1033Gathering permissions information for objects...0-1977438387IDS_ACTIONTEXT_ISLockPermissionsInstall1033Applying permissions information for objects...0-1977438387IDS_ACTIONTEXT_InitializeODBCDirs1033Initializing ODBC directories0-1977438387IDS_ACTIONTEXT_InstallODBC1033Installing ODBC components0-1977438387IDS_ACTIONTEXT_InstallServices1033Installing new services0-1977438387IDS_ACTIONTEXT_InstallingSystemCatalog1033Installing system catalog0-1977438387IDS_ACTIONTEXT_KeyName1033Key: [1], Name: [2]0-1977438387IDS_ACTIONTEXT_KeyNameValue1033Key: [1], Name: [2], Value: [3]0-1977438387IDS_ACTIONTEXT_LibId1033LibID: [1]0-1977438387IDS_ACTIONTEXT_Libid21033LibID: [1]0-1977438387IDS_ACTIONTEXT_MigratingFeatureStates1033Migrating feature states from related applications0-1977438387IDS_ACTIONTEXT_MovingFiles1033Moving files0-1977438387IDS_ACTIONTEXT_NameValueAction1033Name: [1], Value: [2], Action [3]0-1977438387IDS_ACTIONTEXT_NameValueAction21033Name: [1], Value: [2], Action [3]0-1977438387IDS_ACTIONTEXT_PatchingFiles1033Patching files0-1977438387IDS_ACTIONTEXT_ProgID1033ProgID: [1]0-1977438387IDS_ACTIONTEXT_ProgID21033ProgID: [1]0-1977438387IDS_ACTIONTEXT_PropertySignature1033Property: [1], Signature: [2]0-1977438387IDS_ACTIONTEXT_PublishProductFeatures1033Publishing product features0-1977438387IDS_ACTIONTEXT_PublishProductInfo1033Publishing product information0-1977438387IDS_ACTIONTEXT_PublishingQualifiedComponents1033Publishing qualified components0-1977438387IDS_ACTIONTEXT_RegUser1033Registering user0-1977438387IDS_ACTIONTEXT_RegisterClassServer1033Registering class servers0-1977438387IDS_ACTIONTEXT_RegisterExtensionServers1033Registering extension servers0-1977438387IDS_ACTIONTEXT_RegisterFonts1033Registering fonts0-1977438387IDS_ACTIONTEXT_RegisterMimeInfo1033Registering MIME info0-1977438387IDS_ACTIONTEXT_RegisterTypeLibs1033Registering type libraries0-1977438387IDS_ACTIONTEXT_RegisteringComPlus1033Registering COM+ Applications and Components0-1977438387IDS_ACTIONTEXT_RegisteringModules1033Registering modules0-1977438387IDS_ACTIONTEXT_RegisteringProduct1033Registering product0-1977438387IDS_ACTIONTEXT_RegisteringProgIdentifiers1033Registering program identifiers0-1977438387IDS_ACTIONTEXT_RemoveApps1033Removing applications0-1977438387IDS_ACTIONTEXT_RemovingBackup1033Removing backup files0-1977438387IDS_ACTIONTEXT_RemovingDuplicates1033Removing duplicated files0-1977438387IDS_ACTIONTEXT_RemovingFiles1033Removing files0-1977438387IDS_ACTIONTEXT_RemovingFolders1033Removing folders0-1977438387IDS_ACTIONTEXT_RemovingIISRoots1033Removing IIS Virtual Roots...0-1977438387IDS_ACTIONTEXT_RemovingIni1033Removing INI file entries0-1977438387IDS_ACTIONTEXT_RemovingMoved1033Removing moved files0-1977438387IDS_ACTIONTEXT_RemovingODBC1033Removing ODBC components0-1977438387IDS_ACTIONTEXT_RemovingRegistry1033Removing system registry values0-1977438387IDS_ACTIONTEXT_RemovingShortcuts1033Removing shortcuts0-1977438387IDS_ACTIONTEXT_RollingBack1033Rolling back action:0-1977438387IDS_ACTIONTEXT_SearchForRelated1033Searching for related applications0-1977438387IDS_ACTIONTEXT_SearchInstalled1033Searching for installed applications0-1977438387IDS_ACTIONTEXT_SearchingQualifyingProducts1033Searching for qualifying products0-1977438387IDS_ACTIONTEXT_SearchingQualifyingProducts21033Searching for qualifying products0-1977438387IDS_ACTIONTEXT_Service1033Service: [1]0-1977438387IDS_ACTIONTEXT_Service21033Service: [2]0-1977438387IDS_ACTIONTEXT_Service31033Service: [1]0-1977438387IDS_ACTIONTEXT_Service41033Service: [1]0-1977438387IDS_ACTIONTEXT_Shortcut1033Shortcut: [1]0-1977438387IDS_ACTIONTEXT_Shortcut11033Shortcut: [1]0-1977438387IDS_ACTIONTEXT_StartingServices1033Starting services0-1977438387IDS_ACTIONTEXT_StoppingServices1033Stopping services0-1977438387IDS_ACTIONTEXT_UnpublishProductFeatures1033Unpublishing product features0-1977438387IDS_ACTIONTEXT_UnpublishQualified1033Unpublishing Qualified Components0-1977438387IDS_ACTIONTEXT_UnpublishingProductInfo1033Unpublishing product information0-1977438387IDS_ACTIONTEXT_UnregTypeLibs1033Unregistering type libraries0-1977438387IDS_ACTIONTEXT_UnregisterClassServers1033Unregister class servers0-1977438387IDS_ACTIONTEXT_UnregisterExtensionServers1033Unregistering extension servers0-1977438387IDS_ACTIONTEXT_UnregisterModules1033Unregistering modules0-1977438387IDS_ACTIONTEXT_UnregisteringComPlus1033Unregistering COM+ Applications and Components0-1977438387IDS_ACTIONTEXT_UnregisteringFonts1033Unregistering fonts0-1977438387IDS_ACTIONTEXT_UnregisteringMimeInfo1033Unregistering MIME info0-1977438387IDS_ACTIONTEXT_UnregisteringProgramIds1033Unregistering program identifiers0-1977438387IDS_ACTIONTEXT_UpdateComponentRegistration1033Updating component registration0-1977438387IDS_ACTIONTEXT_UpdateEnvironmentStrings1033Updating environment strings0-1977438387IDS_ACTIONTEXT_Validating1033Validating install0-1977438387IDS_ACTIONTEXT_WritingINI1033Writing INI file values0-1977438387IDS_ACTIONTEXT_WritingRegistry1033Writing system registry values0-1977438387IDS_BACK1033< &Back0-1977438387IDS_CANCEL1033Cancel0-1977438387IDS_CANCEL21033&Cancel0-1977438387IDS_CHANGE1033&Change...0-1977438387IDS_COMPLUS_PROGRESSTEXT_COST1033Costing COM+ application: [1]0-1977438387IDS_COMPLUS_PROGRESSTEXT_INSTALL1033Installing COM+ application: [1]0-1977438387IDS_COMPLUS_PROGRESSTEXT_UNINSTALL1033Uninstalling COM+ application: [1]0-1977438387IDS_DIALOG_TEXT2_DESCRIPTION1033Dialog Normal Description0-1977438387IDS_DIALOG_TEXT_DESCRIPTION_EXTERIOR1033{&TahomaBold10}Dialog Bold Title0-1977438387IDS_DIALOG_TEXT_DESCRIPTION_INTERIOR1033{&MSSansBold8}Dialog Bold Title0-1977438387IDS_DIFX_AMD641033[ProductName] requires an X64 processor. Click OK to exit the wizard.0-1977438387IDS_DIFX_IA641033[ProductName] requires an IA64 processor. Click OK to exit the wizard.0-1977438387IDS_DIFX_X861033[ProductName] requires an X86 processor. Click OK to exit the wizard.0-1977438387IDS_DatabaseFolder_InstallDatabaseTo1033Install [ProductName] database to:0-1977438387IDS_ERROR_01033{{Fatal error: }}0-1977438387IDS_ERROR_11033Error [1]. 0-1977438387IDS_ERROR_101033=== Logging started: [Date] [Time] ===0-1977438387IDS_ERROR_1001033Could not remove shortcut [2]. Verify that the shortcut file exists and that you can access it.0-1977438387IDS_ERROR_1011033Could not register type library for file [2]. Contact your support personnel.0-1977438387IDS_ERROR_1021033Could not unregister type library for file [2]. Contact your support personnel.0-1977438387IDS_ERROR_1031033Could not update the INI file [2][3]. Verify that the file exists and that you can access it.0-1977438387IDS_ERROR_1041033Could not schedule file [2] to replace file [3] on reboot. Verify that you have write permissions to file [3].0-1977438387IDS_ERROR_1051033Error removing ODBC driver manager, ODBC error [2]: [3]. Contact your support personnel.0-1977438387IDS_ERROR_1061033Error installing ODBC driver manager, ODBC error [2]: [3]. Contact your support personnel.0-1977438387IDS_ERROR_1071033Error removing ODBC driver [4], ODBC error [2]: [3]. Verify that you have sufficient privileges to remove ODBC drivers.0-1977438387IDS_ERROR_1081033Error installing ODBC driver [4], ODBC error [2]: [3]. Verify that the file [4] exists and that you can access it.0-1977438387IDS_ERROR_1091033Error configuring ODBC data source [4], ODBC error [2]: [3]. Verify that the file [4] exists and that you can access it.0-1977438387IDS_ERROR_111033=== Logging stopped: [Date] [Time] ===0-1977438387IDS_ERROR_1101033Service [2] ([3]) failed to start. Verify that you have sufficient privileges to start system services.0-1977438387IDS_ERROR_1111033Service [2] ([3]) could not be stopped. Verify that you have sufficient privileges to stop system services.0-1977438387IDS_ERROR_1121033Service [2] ([3]) could not be deleted. Verify that you have sufficient privileges to remove system services.0-1977438387IDS_ERROR_1131033Service [2] ([3]) could not be installed. Verify that you have sufficient privileges to install system services.0-1977438387IDS_ERROR_1141033Could not update environment variable [2]. Verify that you have sufficient privileges to modify environment variables.0-1977438387IDS_ERROR_1151033You do not have sufficient privileges to complete this installation for all users of the machine. Log on as an administrator and then retry this installation.0-1977438387IDS_ERROR_1161033Could not set file security for file [3]. Error: [2]. Verify that you have sufficient privileges to modify the security permissions for this file.0-1977438387IDS_ERROR_1171033Component Services (COM+ 1.0) are not installed on this computer. This installation requires Component Services in order to complete successfully. Component Services are available on Windows 2000.0-1977438387IDS_ERROR_1181033Error registering COM+ application. Contact your support personnel for more information.0-1977438387IDS_ERROR_1191033Error unregistering COM+ application. Contact your support personnel for more information.0-1977438387IDS_ERROR_121033Action start [Time]: [1].0-1977438387IDS_ERROR_1201033Removing older versions of this application0-1977438387IDS_ERROR_1211033Preparing to remove older versions of this application0-1977438387IDS_ERROR_1221033Error applying patch to file [2]. It has probably been updated by other means, and can no longer be modified by this patch. For more information contact your patch vendor. {{System Error: [3]}}0-1977438387IDS_ERROR_1231033[2] cannot install one of its required products. Contact your technical support group. {{System Error: [3].}}0-1977438387IDS_ERROR_1241033The older version of [2] cannot be removed. Contact your technical support group. {{System Error [3].}}0-1977438387IDS_ERROR_1251033The description for service '[2]' ([3]) could not be changed.0-1977438387IDS_ERROR_1261033The Windows Installer service cannot update the system file [2] because the file is protected by Windows. You may need to update your operating system for this program to work correctly. {{Package version: [3], OS Protected version: [4]}}0-1977438387IDS_ERROR_1271033The Windows Installer service cannot update the protected Windows file [2]. {{Package version: [3], OS Protected version: [4], SFP Error: [5]}}0-1977438387IDS_ERROR_1281033The Windows Installer service cannot update one or more protected Windows files. SFP Error: [2]. List of protected files: [3]0-1977438387IDS_ERROR_1291033User installations are disabled via policy on the machine.0-1977438387IDS_ERROR_131033Action ended [Time]: [1]. Return value [2].0-1977438387IDS_ERROR_1301033This setup requires Internet Information Server 4.0 or higher for configuring IIS Virtual Roots. Please make sure that you have IIS 4.0 or higher.0-1977438387IDS_ERROR_1311033This setup requires Administrator privileges for configuring IIS Virtual Roots.0-1977438387IDS_ERROR_13291033A file that is required cannot be installed because the cabinet file [2] is not digitally signed. This may indicate that the cabinet file is corrupt.0-1977438387IDS_ERROR_13301033A file that is required cannot be installed because the cabinet file [2] has an invalid digital signature. This may indicate that the cabinet file is corrupt.{ Error [3] was returned by WinVerifyTrust.}0-1977438387IDS_ERROR_13311033Failed to correctly copy [2] file: CRC error.0-1977438387IDS_ERROR_13321033Failed to correctly patch [2] file: CRC error.0-1977438387IDS_ERROR_13331033Failed to correctly patch [2] file: CRC error.0-1977438387IDS_ERROR_13341033The file '[2]' cannot be installed because the file cannot be found in cabinet file '[3]'. This could indicate a network error, an error reading from the CD-ROM, or a problem with this package.0-1977438387IDS_ERROR_13351033The cabinet file '[2]' required for this installation is corrupt and cannot be used. This could indicate a network error, an error reading from the CD-ROM, or a problem with this package.0-1977438387IDS_ERROR_13361033There was an error creating a temporary file that is needed to complete this installation. Folder: [3]. System error code: [2]0-1977438387IDS_ERROR_141033Time remaining: {[1] minutes }{[2] seconds}0-1977438387IDS_ERROR_151033Out of memory. Shut down other applications before retrying.0-1977438387IDS_ERROR_161033Installer is no longer responding.0-1977438387IDS_ERROR_16091033An error occurred while applying security settings. [2] is not a valid user or group. This could be a problem with the package, or a problem connecting to a domain controller on the network. Check your network connection and click Retry, or Cancel to end the install. Unable to locate the user's SID, system error [3]0-1977438387IDS_ERROR_16511033Admin user failed to apply patch for a per-user managed or a per-machine application which is in advertise state.0-1977438387IDS_ERROR_171033Installer terminated prematurely.0-1977438387IDS_ERROR_17151033Installed [2].0-1977438387IDS_ERROR_17161033Configured [2].0-1977438387IDS_ERROR_17171033Removed [2].0-1977438387IDS_ERROR_17181033File [2] was rejected by digital signature policy.0-1977438387IDS_ERROR_17191033Windows Installer service could not be accessed. Contact your support personnel to verify that it is properly registered and enabled.0-1977438387IDS_ERROR_17201033There is a problem with this Windows Installer package. A script required for this install to complete could not be run. Contact your support personnel or package vendor. Custom action [2] script error [3], [4]: [5] Line [6], Column [7], [8]0-1977438387IDS_ERROR_17211033There is a problem with this Windows Installer package. A program required for this install to complete could not be run. Contact your support personnel or package vendor. Action: [2], location: [3], command: [4]0-1977438387IDS_ERROR_17221033There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor. Action [2], location: [3], command: [4]0-1977438387IDS_ERROR_17231033There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run. Contact your support personnel or package vendor. Action [2], entry: [3], library: [4]0-1977438387IDS_ERROR_17241033Removal completed successfully.0-1977438387IDS_ERROR_17251033Removal failed.0-1977438387IDS_ERROR_17261033Advertisement completed successfully.0-1977438387IDS_ERROR_17271033Advertisement failed.0-1977438387IDS_ERROR_17281033Configuration completed successfully.0-1977438387IDS_ERROR_17291033Configuration failed.0-1977438387IDS_ERROR_17301033You must be an Administrator to remove this application. To remove this application, you can log on as an administrator, or contact your technical support group for assistance.0-1977438387IDS_ERROR_17311033The source installation package for the product [2] is out of sync with the client package. Try the installation again using a valid copy of the installation package '[3]'.0-1977438387IDS_ERROR_17321033In order to complete the installation of [2], you must restart the computer. Other users are currently logged on to this computer, and restarting may cause them to lose their work. Do you want to restart now?0-1977438387IDS_ERROR_181033Please wait while Windows configures [ProductName]0-1977438387IDS_ERROR_191033Gathering required information...0-1977438387IDS_ERROR_19351033An error occurred during the installation of assembly component [2]. HRESULT: [3]. {{assembly interface: [4], function: [5], assembly name: [6]}}0-1977438387IDS_ERROR_19361033An error occurred during the installation of assembly '[6]'. The assembly is not strongly named or is not signed with the minimal key length. HRESULT: [3]. {{assembly interface: [4], function: [5], component: [2]}}0-1977438387IDS_ERROR_19371033An error occurred during the installation of assembly '[6]'. The signature or catalog could not be verified or is not valid. HRESULT: [3]. {{assembly interface: [4], function: [5], component: [2]}}0-1977438387IDS_ERROR_19381033An error occurred during the installation of assembly '[6]'. One or more modules of the assembly could not be found. HRESULT: [3]. {{assembly interface: [4], function: [5], component: [2]}}0-1977438387IDS_ERROR_21033Warning [1]. 0-1977438387IDS_ERROR_201033{[ProductName] }Setup completed successfully.0-1977438387IDS_ERROR_211033{[ProductName] }Setup failed.0-1977438387IDS_ERROR_21011033Shortcuts not supported by the operating system.0-1977438387IDS_ERROR_21021033Invalid .ini action: [2]0-1977438387IDS_ERROR_21031033Could not resolve path for shell folder [2].0-1977438387IDS_ERROR_21041033Writing .ini file: [3]: System error: [2].0-1977438387IDS_ERROR_21051033Shortcut Creation [3] Failed. System error: [2].0-1977438387IDS_ERROR_21061033Shortcut Deletion [3] Failed. System error: [2].0-1977438387IDS_ERROR_21071033Error [3] registering type library [2].0-1977438387IDS_ERROR_21081033Error [3] unregistering type library [2].0-1977438387IDS_ERROR_21091033Section missing for .ini action.0-1977438387IDS_ERROR_21101033Key missing for .ini action.0-1977438387IDS_ERROR_21111033Detection of running applications failed, could not get performance data. Registered operation returned : [2].0-1977438387IDS_ERROR_21121033Detection of running applications failed, could not get performance index. Registered operation returned : [2].0-1977438387IDS_ERROR_21131033Detection of running applications failed.0-1977438387IDS_ERROR_221033Error reading from file: [2]. {{ System error [3].}} Verify that the file exists and that you can access it.0-1977438387IDS_ERROR_22001033Database: [2]. Database object creation failed, mode = [3].0-1977438387IDS_ERROR_22011033Database: [2]. Initialization failed, out of memory.0-1977438387IDS_ERROR_22021033Database: [2]. Data access failed, out of memory.0-1977438387IDS_ERROR_22031033Database: [2]. Cannot open database file. System error [3].0-1977438387IDS_ERROR_22041033Database: [2]. Table already exists: [3].0-1977438387IDS_ERROR_22051033Database: [2]. Table does not exist: [3].0-1977438387IDS_ERROR_22061033Database: [2]. Table could not be dropped: [3].0-1977438387IDS_ERROR_22071033Database: [2]. Intent violation.0-1977438387IDS_ERROR_22081033Database: [2]. Insufficient parameters for Execute.0-1977438387IDS_ERROR_22091033Database: [2]. Cursor in invalid state.0-1977438387IDS_ERROR_22101033Database: [2]. Invalid update data type in column [3].0-1977438387IDS_ERROR_22111033Database: [2]. Could not create database table [3].0-1977438387IDS_ERROR_22121033Database: [2]. Database not in writable state.0-1977438387IDS_ERROR_22131033Database: [2]. Error saving database tables.0-1977438387IDS_ERROR_22141033Database: [2]. Error writing export file: [3].0-1977438387IDS_ERROR_22151033Database: [2]. Cannot open import file: [3].0-1977438387IDS_ERROR_22161033Database: [2]. Import file format error: [3], Line [4].0-1977438387IDS_ERROR_22171033Database: [2]. Wrong state to CreateOutputDatabase [3].0-1977438387IDS_ERROR_22181033Database: [2]. Table name not supplied.0-1977438387IDS_ERROR_22191033Database: [2]. Invalid Installer database format.0-1977438387IDS_ERROR_22201033Database: [2]. Invalid row/field data.0-1977438387IDS_ERROR_22211033Database: [2]. Code page conflict in import file: [3].0-1977438387IDS_ERROR_22221033Database: [2]. Transform or merge code page [3] differs from database code page [4].0-1977438387IDS_ERROR_22231033Database: [2]. Databases are the same. No transform generated.0-1977438387IDS_ERROR_22241033Database: [2]. GenerateTransform: Database corrupt. Table: [3].0-1977438387IDS_ERROR_22251033Database: [2]. Transform: Cannot transform a temporary table. Table: [3].0-1977438387IDS_ERROR_22261033Database: [2]. Transform failed.0-1977438387IDS_ERROR_22271033Database: [2]. Invalid identifier '[3]' in SQL query: [4].0-1977438387IDS_ERROR_22281033Database: [2]. Unknown table '[3]' in SQL query: [4].0-1977438387IDS_ERROR_22291033Database: [2]. Could not load table '[3]' in SQL query: [4].0-1977438387IDS_ERROR_22301033Database: [2]. Repeated table '[3]' in SQL query: [4].0-1977438387IDS_ERROR_22311033Database: [2]. Missing ')' in SQL query: [3].0-1977438387IDS_ERROR_22321033Database: [2]. Unexpected token '[3]' in SQL query: [4].0-1977438387IDS_ERROR_22331033Database: [2]. No columns in SELECT clause in SQL query: [3].0-1977438387IDS_ERROR_22341033Database: [2]. No columns in ORDER BY clause in SQL query: [3].0-1977438387IDS_ERROR_22351033Database: [2]. Column '[3]' not present or ambiguous in SQL query: [4].0-1977438387IDS_ERROR_22361033Database: [2]. Invalid operator '[3]' in SQL query: [4].0-1977438387IDS_ERROR_22371033Database: [2]. Invalid or missing query string: [3].0-1977438387IDS_ERROR_22381033Database: [2]. Missing FROM clause in SQL query: [3].0-1977438387IDS_ERROR_22391033Database: [2]. Insufficient values in INSERT SQL statement.0-1977438387IDS_ERROR_22401033Database: [2]. Missing update columns in UPDATE SQL statement.0-1977438387IDS_ERROR_22411033Database: [2]. Missing insert columns in INSERT SQL statement.0-1977438387IDS_ERROR_22421033Database: [2]. Column '[3]' repeated.0-1977438387IDS_ERROR_22431033Database: [2]. No primary columns defined for table creation.0-1977438387IDS_ERROR_22441033Database: [2]. Invalid type specifier '[3]' in SQL query [4].0-1977438387IDS_ERROR_22451033IStorage::Stat failed with error [3].0-1977438387IDS_ERROR_22461033Database: [2]. Invalid Installer transform format.0-1977438387IDS_ERROR_22471033Database: [2] Transform stream read/write failure.0-1977438387IDS_ERROR_22481033Database: [2] GenerateTransform/Merge: Column type in base table does not match reference table. Table: [3] Col #: [4].0-1977438387IDS_ERROR_22491033Database: [2] GenerateTransform: More columns in base table than in reference table. Table: [3].0-1977438387IDS_ERROR_22501033Database: [2] Transform: Cannot add existing row. Table: [3].0-1977438387IDS_ERROR_22511033Database: [2] Transform: Cannot delete row that does not exist. Table: [3].0-1977438387IDS_ERROR_22521033Database: [2] Transform: Cannot add existing table. Table: [3].0-1977438387IDS_ERROR_22531033Database: [2] Transform: Cannot delete table that does not exist. Table: [3].0-1977438387IDS_ERROR_22541033Database: [2] Transform: Cannot update row that does not exist. Table: [3].0-1977438387IDS_ERROR_22551033Database: [2] Transform: Column with this name already exists. Table: [3] Col: [4].0-1977438387IDS_ERROR_22561033Database: [2] GenerateTransform/Merge: Number of primary keys in base table does not match reference table. Table: [3].0-1977438387IDS_ERROR_22571033Database: [2]. Intent to modify read only table: [3].0-1977438387IDS_ERROR_22581033Database: [2]. Type mismatch in parameter: [3].0-1977438387IDS_ERROR_22591033Database: [2] Table(s) Update failed0-1977438387IDS_ERROR_22601033Storage CopyTo failed. System error: [3].0-1977438387IDS_ERROR_22611033Could not remove stream [2]. System error: [3].0-1977438387IDS_ERROR_22621033Stream does not exist: [2]. System error: [3].0-1977438387IDS_ERROR_22631033Could not open stream [2]. System error: [3].0-1977438387IDS_ERROR_22641033Could not remove stream [2]. System error: [3].0-1977438387IDS_ERROR_22651033Could not commit storage. System error: [3].0-1977438387IDS_ERROR_22661033Could not rollback storage. System error: [3].0-1977438387IDS_ERROR_22671033Could not delete storage [2]. System error: [3].0-1977438387IDS_ERROR_22681033Database: [2]. Merge: There were merge conflicts reported in [3] tables.0-1977438387IDS_ERROR_22691033Database: [2]. Merge: The column count differed in the '[3]' table of the two databases.0-1977438387IDS_ERROR_22701033Database: [2]. GenerateTransform/Merge: Column name in base table does not match reference table. Table: [3] Col #: [4].0-1977438387IDS_ERROR_22711033SummaryInformation write for transform failed.0-1977438387IDS_ERROR_22721033Database: [2]. MergeDatabase will not write any changes because the database is open read-only.0-1977438387IDS_ERROR_22731033Database: [2]. MergeDatabase: A reference to the base database was passed as the reference database.0-1977438387IDS_ERROR_22741033Database: [2]. MergeDatabase: Unable to write errors to Error table. Could be due to a non-nullable column in a predefined Error table.0-1977438387IDS_ERROR_22751033Database: [2]. Specified Modify [3] operation invalid for table joins.0-1977438387IDS_ERROR_22761033Database: [2]. Code page [3] not supported by the system.0-1977438387IDS_ERROR_22771033Database: [2]. Failed to save table [3].0-1977438387IDS_ERROR_22781033Database: [2]. Exceeded number of expressions limit of 32 in WHERE clause of SQL query: [3].0-1977438387IDS_ERROR_22791033Database: [2] Transform: Too many columns in base table [3].0-1977438387IDS_ERROR_22801033Database: [2]. Could not create column [3] for table [4].0-1977438387IDS_ERROR_22811033Could not rename stream [2]. System error: [3].0-1977438387IDS_ERROR_22821033Stream name invalid [2].0-1977438387IDS_ERROR_231033Cannot create the file [3]. A directory with this name already exists. Cancel the installation and try installing to a different location.0-1977438387IDS_ERROR_23021033Patch notify: [2] bytes patched to far.0-1977438387IDS_ERROR_23031033Error getting volume info. GetLastError: [2].0-1977438387IDS_ERROR_23041033Error getting disk free space. GetLastError: [2]. Volume: [3].0-1977438387IDS_ERROR_23051033Error waiting for patch thread. GetLastError: [2].0-1977438387IDS_ERROR_23061033Could not create thread for patch application. GetLastError: [2].0-1977438387IDS_ERROR_23071033Source file key name is null.0-1977438387IDS_ERROR_23081033Destination file name is null.0-1977438387IDS_ERROR_23091033Attempting to patch file [2] when patch already in progress.0-1977438387IDS_ERROR_23101033Attempting to continue patch when no patch is in progress.0-1977438387IDS_ERROR_23151033Missing path separator: [2].0-1977438387IDS_ERROR_23181033File does not exist: [2].0-1977438387IDS_ERROR_23191033Error setting file attribute: [3] GetLastError: [2].0-1977438387IDS_ERROR_23201033File not writable: [2].0-1977438387IDS_ERROR_23211033Error creating file: [2].0-1977438387IDS_ERROR_23221033User canceled.0-1977438387IDS_ERROR_23231033Invalid file attribute.0-1977438387IDS_ERROR_23241033Could not open file: [3] GetLastError: [2].0-1977438387IDS_ERROR_23251033Could not get file time for file: [3] GetLastError: [2].0-1977438387IDS_ERROR_23261033Error in FileToDosDateTime.0-1977438387IDS_ERROR_23271033Could not remove directory: [3] GetLastError: [2].0-1977438387IDS_ERROR_23281033Error getting file version info for file: [2].0-1977438387IDS_ERROR_23291033Error deleting file: [3]. GetLastError: [2].0-1977438387IDS_ERROR_23301033Error getting file attributes: [3]. GetLastError: [2].0-1977438387IDS_ERROR_23311033Error loading library [2] or finding entry point [3].0-1977438387IDS_ERROR_23321033Error getting file attributes. GetLastError: [2].0-1977438387IDS_ERROR_23331033Error setting file attributes. GetLastError: [2].0-1977438387IDS_ERROR_23341033Error converting file time to local time for file: [3]. GetLastError: [2].0-1977438387IDS_ERROR_23351033Path: [2] is not a parent of [3].0-1977438387IDS_ERROR_23361033Error creating temp file on path: [3]. GetLastError: [2].0-1977438387IDS_ERROR_23371033Could not close file: [3] GetLastError: [2].0-1977438387IDS_ERROR_23381033Could not update resource for file: [3] GetLastError: [2].0-1977438387IDS_ERROR_23391033Could not set file time for file: [3] GetLastError: [2].0-1977438387IDS_ERROR_23401033Could not update resource for file: [3], Missing resource.0-1977438387IDS_ERROR_23411033Could not update resource for file: [3], Resource too large.0-1977438387IDS_ERROR_23421033Could not update resource for file: [3] GetLastError: [2].0-1977438387IDS_ERROR_23431033Specified path is empty.0-1977438387IDS_ERROR_23441033Could not find required file IMAGEHLP.DLL to validate file:[2].0-1977438387IDS_ERROR_23451033[2]: File does not contain a valid checksum value.0-1977438387IDS_ERROR_23471033User ignore.0-1977438387IDS_ERROR_23481033Error attempting to read from cabinet stream.0-1977438387IDS_ERROR_23491033Copy resumed with different info.0-1977438387IDS_ERROR_23501033FDI server error0-1977438387IDS_ERROR_23511033File key '[2]' not found in cabinet '[3]'. The installation cannot continue.0-1977438387IDS_ERROR_23521033Could not initialize cabinet file server. The required file 'CABINET.DLL' may be missing.0-1977438387IDS_ERROR_23531033Not a cabinet.0-1977438387IDS_ERROR_23541033Cannot handle cabinet.0-1977438387IDS_ERROR_23551033Corrupt cabinet.0-1977438387IDS_ERROR_23561033Could not locate cabinet in stream: [2].0-1977438387IDS_ERROR_23571033Cannot set attributes.0-1977438387IDS_ERROR_23581033Error determining whether file is in-use: [3]. GetLastError: [2].0-1977438387IDS_ERROR_23591033Unable to create the target file - file may be in use.0-1977438387IDS_ERROR_23601033Progress tick.0-1977438387IDS_ERROR_23611033Need next cabinet.0-1977438387IDS_ERROR_23621033Folder not found: [2].0-1977438387IDS_ERROR_23631033Could not enumerate subfolders for folder: [2].0-1977438387IDS_ERROR_23641033Bad enumeration constant in CreateCopier call.0-1977438387IDS_ERROR_23651033Could not BindImage exe file [2].0-1977438387IDS_ERROR_23661033User failure.0-1977438387IDS_ERROR_23671033User abort.0-1977438387IDS_ERROR_23681033Failed to get network resource information. Error [2], network path [3]. Extended error: network provider [5], error code [4], error description [6].0-1977438387IDS_ERROR_23701033Invalid CRC checksum value for [2] file.{ Its header says [3] for checksum, its computed value is [4].}0-1977438387IDS_ERROR_23711033Could not apply patch to file [2]. GetLastError: [3].0-1977438387IDS_ERROR_23721033Patch file [2] is corrupt or of an invalid format. Attempting to patch file [3]. GetLastError: [4].0-1977438387IDS_ERROR_23731033File [2] is not a valid patch file.0-1977438387IDS_ERROR_23741033File [2] is not a valid destination file for patch file [3].0-1977438387IDS_ERROR_23751033Unknown patching error: [2].0-1977438387IDS_ERROR_23761033Cabinet not found.0-1977438387IDS_ERROR_23791033Error opening file for read: [3] GetLastError: [2].0-1977438387IDS_ERROR_23801033Error opening file for write: [3]. GetLastError: [2].0-1977438387IDS_ERROR_23811033Directory does not exist: [2].0-1977438387IDS_ERROR_23821033Drive not ready: [2].0-1977438387IDS_ERROR_241033Please insert the disk: [2]0-1977438387IDS_ERROR_2401103364-bit registry operation attempted on 32-bit operating system for key [2].0-1977438387IDS_ERROR_24021033Out of memory.0-1977438387IDS_ERROR_251033The installer has insufficient privileges to access this directory: [2]. The installation cannot continue. Log on as an administrator or contact your system administrator.0-1977438387IDS_ERROR_25011033Could not create rollback script enumerator.0-1977438387IDS_ERROR_25021033Called InstallFinalize when no install in progress.0-1977438387IDS_ERROR_25031033Called RunScript when not marked in progress.0-1977438387IDS_ERROR_261033Error writing to file [2]. Verify that you have access to that directory.0-1977438387IDS_ERROR_26011033Invalid value for property [2]: '[3]'0-1977438387IDS_ERROR_26021033The [2] table entry '[3]' has no associated entry in the Media table.0-1977438387IDS_ERROR_26031033Duplicate table name [2].0-1977438387IDS_ERROR_26041033[2] Property undefined.0-1977438387IDS_ERROR_26051033Could not find server [2] in [3] or [4].0-1977438387IDS_ERROR_26061033Value of property [2] is not a valid full path: '[3]'.0-1977438387IDS_ERROR_26071033Media table not found or empty (required for installation of files).0-1977438387IDS_ERROR_26081033Could not create security descriptor for object. Error: '[2]'.0-1977438387IDS_ERROR_26091033Attempt to migrate product settings before initialization.0-1977438387IDS_ERROR_26111033The file [2] is marked as compressed, but the associated media entry does not specify a cabinet.0-1977438387IDS_ERROR_26121033Stream not found in '[2]' column. Primary key: '[3]'.0-1977438387IDS_ERROR_26131033RemoveExistingProducts action sequenced incorrectly.0-1977438387IDS_ERROR_26141033Could not access IStorage object from installation package.0-1977438387IDS_ERROR_26151033Skipped unregistration of Module [2] due to source resolution failure.0-1977438387IDS_ERROR_26161033Companion file [2] parent missing.0-1977438387IDS_ERROR_26171033Shared component [2] not found in Component table.0-1977438387IDS_ERROR_26181033Isolated application component [2] not found in Component table.0-1977438387IDS_ERROR_26191033Isolated components [2], [3] not part of same feature.0-1977438387IDS_ERROR_26201033Key file of isolated application component [2] not in File table.0-1977438387IDS_ERROR_26211033Resource DLL or Resource ID information for shortcut [2] set incorrectly.0-1977438387IDS_ERROR_271033Error reading from file [2]. Verify that the file exists and that you can access it.0-1977438387IDS_ERROR_27011033The depth of a feature exceeds the acceptable tree depth of [2] levels.0-1977438387IDS_ERROR_27021033A Feature table record ([2]) references a non-existent parent in the Attributes field.0-1977438387IDS_ERROR_27031033Property name for root source path not defined: [2]0-1977438387IDS_ERROR_27041033Root directory property undefined: [2]0-1977438387IDS_ERROR_27051033Invalid table: [2]; Could not be linked as tree.0-1977438387IDS_ERROR_27061033Source paths not created. No path exists for entry [2] in Directory table.0-1977438387IDS_ERROR_27071033Target paths not created. No path exists for entry [2] in Directory table.0-1977438387IDS_ERROR_27081033No entries found in the file table.0-1977438387IDS_ERROR_27091033The specified Component name ('[2]') not found in Component table.0-1977438387IDS_ERROR_27101033The requested 'Select' state is illegal for this Component.0-1977438387IDS_ERROR_27111033The specified Feature name ('[2]') not found in Feature table.0-1977438387IDS_ERROR_27121033Invalid return from modeless dialog: [3], in action [2].0-1977438387IDS_ERROR_27131033Null value in a non-nullable column ('[2]' in '[3]' column of the '[4]' table.0-1977438387IDS_ERROR_27141033Invalid value for default folder name: [2].0-1977438387IDS_ERROR_27151033The specified File key ('[2]') not found in the File table.0-1977438387IDS_ERROR_27161033Could not create a random subcomponent name for component '[2]'.0-1977438387IDS_ERROR_27171033Bad action condition or error calling custom action '[2]'.0-1977438387IDS_ERROR_27181033Missing package name for product code '[2]'.0-1977438387IDS_ERROR_27191033Neither UNC nor drive letter path found in source '[2]'.0-1977438387IDS_ERROR_27201033Error opening source list key. Error: '[2]'0-1977438387IDS_ERROR_27211033Custom action [2] not found in Binary table stream.0-1977438387IDS_ERROR_27221033Custom action [2] not found in File table.0-1977438387IDS_ERROR_27231033Custom action [2] specifies unsupported type.0-1977438387IDS_ERROR_27241033The volume label '[2]' on the media you're running from does not match the label '[3]' given in the Media table. This is allowed only if you have only 1 entry in your Media table.0-1977438387IDS_ERROR_27251033Invalid database tables0-1977438387IDS_ERROR_27261033Action not found: [2].0-1977438387IDS_ERROR_27271033The directory entry '[2]' does not exist in the Directory table.0-1977438387IDS_ERROR_27281033Table definition error: [2]0-1977438387IDS_ERROR_27291033Install engine not initialized.0-1977438387IDS_ERROR_27301033Bad value in database. Table: '[2]'; Primary key: '[3]'; Column: '[4]'0-1977438387IDS_ERROR_27311033Selection Manager not initialized.0-1977438387IDS_ERROR_27321033Directory Manager not initialized.0-1977438387IDS_ERROR_27331033Bad foreign key ('[2]') in '[3]' column of the '[4]' table.0-1977438387IDS_ERROR_27341033Invalid reinstall mode character.0-1977438387IDS_ERROR_27351033Custom action '[2]' has caused an unhandled exception and has been stopped. This may be the result of an internal error in the custom action, such as an access violation.0-1977438387IDS_ERROR_27361033Generation of custom action temp file failed: [2].0-1977438387IDS_ERROR_27371033Could not access custom action [2], entry [3], library [4]0-1977438387IDS_ERROR_27381033Could not access VBScript run time for custom action [2].0-1977438387IDS_ERROR_27391033Could not access JavaScript run time for custom action [2].0-1977438387IDS_ERROR_27401033Custom action [2] script error [3], [4]: [5] Line [6], Column [7], [8].0-1977438387IDS_ERROR_27411033Configuration information for product [2] is corrupt. Invalid info: [2].0-1977438387IDS_ERROR_27421033Marshaling to Server failed: [2].0-1977438387IDS_ERROR_27431033Could not execute custom action [2], location: [3], command: [4].0-1977438387IDS_ERROR_27441033EXE failed called by custom action [2], location: [3], command: [4].0-1977438387IDS_ERROR_27451033Transform [2] invalid for package [3]. Expected language [4], found language [5].0-1977438387IDS_ERROR_27461033Transform [2] invalid for package [3]. Expected product [4], found product [5].0-1977438387IDS_ERROR_27471033Transform [2] invalid for package [3]. Expected product version < [4], found product version [5].0-1977438387IDS_ERROR_27481033Transform [2] invalid for package [3]. Expected product version <= [4], found product version [5].0-1977438387IDS_ERROR_27491033Transform [2] invalid for package [3]. Expected product version == [4], found product version [5].0-1977438387IDS_ERROR_27501033Transform [2] invalid for package [3]. Expected product version >= [4], found product version [5].0-1977438387IDS_ERROR_275021033Could not connect to [2] '[3]'. [4]0-1977438387IDS_ERROR_275031033Error retrieving version string from [2] '[3]'. [4]0-1977438387IDS_ERROR_275041033SQL version requirements not met: [3]. This installation requires [2] [4] or later.0-1977438387IDS_ERROR_275051033Could not open SQL script file [2].0-1977438387IDS_ERROR_275061033Error executing SQL script [2]. Line [3]. [4]0-1977438387IDS_ERROR_275071033Connection or browsing for database servers requires that MDAC be installed.0-1977438387IDS_ERROR_275081033Error installing COM+ application [2]. [3]0-1977438387IDS_ERROR_275091033Error uninstalling COM+ application [2]. [3]0-1977438387IDS_ERROR_27511033Transform [2] invalid for package [3]. Expected product version > [4], found product version [5].0-1977438387IDS_ERROR_275101033Error installing COM+ application [2]. Could not load Microsoft(R) .NET class libraries. Registering .NET serviced components requires that Microsoft(R) .NET Framework be installed.0-1977438387IDS_ERROR_275111033Could not execute SQL script file [2]. Connection not open: [3]0-1977438387IDS_ERROR_275121033Error beginning transactions for [2] '[3]'. Database [4]. [5]0-1977438387IDS_ERROR_275131033Error committing transactions for [2] '[3]'. Database [4]. [5]0-1977438387IDS_ERROR_275141033This installation requires a Microsoft SQL Server. The specified server '[3]' is a Microsoft SQL Server Desktop Engine or SQL Server Express.0-1977438387IDS_ERROR_275151033Error retrieving schema version from [2] '[3]'. Database: '[4]'. [5]0-1977438387IDS_ERROR_275161033Error writing schema version to [2] '[3]'. Database: '[4]'. [5]0-1977438387IDS_ERROR_275171033This installation requires Administrator privileges for installing COM+ applications. Log on as an administrator and then retry this installation.0-1977438387IDS_ERROR_275181033The COM+ application "[2]" is configured to run as an NT service; this requires COM+ 1.5 or later on the system. Since your system has COM+ 1.0, this application will not be installed.0-1977438387IDS_ERROR_275191033Error updating XML file [2]. [3]0-1977438387IDS_ERROR_27521033Could not open transform [2] stored as child storage of package [4].0-1977438387IDS_ERROR_275201033Error opening XML file [2]. [3]0-1977438387IDS_ERROR_275211033This setup requires MSXML 3.0 or higher for configuring XML files. Please make sure that you have version 3.0 or higher.0-1977438387IDS_ERROR_275221033Error creating XML file [2]. [3]0-1977438387IDS_ERROR_275231033Error loading servers.0-1977438387IDS_ERROR_275241033Error loading NetApi32.DLL. The ISNetApi.dll needs to have NetApi32.DLL properly loaded and requires an NT based operating system.0-1977438387IDS_ERROR_275251033Server not found. Verify that the specified server exists. The server name can not be empty.0-1977438387IDS_ERROR_275261033Unspecified error from ISNetApi.dll.0-1977438387IDS_ERROR_275271033The buffer is too small.0-1977438387IDS_ERROR_275281033Access denied. Check administrative rights.0-1977438387IDS_ERROR_275291033Invalid computer.0-1977438387IDS_ERROR_27531033The File '[2]' is not marked for installation.0-1977438387IDS_ERROR_275301033Unknown error returned from NetAPI. System error: [2]0-1977438387IDS_ERROR_275311033Unhandled exception.0-1977438387IDS_ERROR_275321033Invalid user name for this server or domain.0-1977438387IDS_ERROR_275331033The case-sensitive passwords do not match.0-1977438387IDS_ERROR_275341033The list is empty.0-1977438387IDS_ERROR_275351033Access violation.0-1977438387IDS_ERROR_275361033Error getting group.0-1977438387IDS_ERROR_275371033Error adding user to group. Verify that the group exists for this domain or server.0-1977438387IDS_ERROR_275381033Error creating user.0-1977438387IDS_ERROR_275391033ERROR_NETAPI_ERROR_NOT_PRIMARY returned from NetAPI.0-1977438387IDS_ERROR_27541033The File '[2]' is not a valid patch file.0-1977438387IDS_ERROR_275401033The specified user already exists.0-1977438387IDS_ERROR_275411033The specified group already exists.0-1977438387IDS_ERROR_275421033Invalid password. Verify that the password is in accordance with your network password policy.0-1977438387IDS_ERROR_275431033Invalid name.0-1977438387IDS_ERROR_275441033Invalid group.0-1977438387IDS_ERROR_275451033The user name can not be empty and must be in the format DOMAIN\Username.0-1977438387IDS_ERROR_275461033Error loading or creating INI file in the user TEMP directory.0-1977438387IDS_ERROR_275471033ISNetAPI.dll is not loaded or there was an error loading the dll. This dll needs to be loaded for this operation. Verify that the dll is in the SUPPORTDIR directory.0-1977438387IDS_ERROR_275481033Error deleting INI file containing new user information from the user's TEMP directory.0-1977438387IDS_ERROR_275491033Error getting the primary domain controller (PDC).0-1977438387IDS_ERROR_27551033Server returned unexpected error [2] attempting to install package [3].0-1977438387IDS_ERROR_275501033Every field must have a value in order to create a user.0-1977438387IDS_ERROR_275511033ODBC driver for [2] not found. This is required to connect to [2] database servers.0-1977438387IDS_ERROR_275521033Error creating database [4]. Server: [2] [3]. [5]0-1977438387IDS_ERROR_275531033Error connecting to database [4]. Server: [2] [3]. [5]0-1977438387IDS_ERROR_275541033Error attempting to open connection [2]. No valid database metadata associated with this connection.0-1977438387IDS_ERROR_275551033Error attempting to apply permissions to object '[2]'. System error: [3] ([4])0-1977438387IDS_ERROR_27561033The property '[2]' was used as a directory property in one or more tables, but no value was ever assigned.0-1977438387IDS_ERROR_27571033Could not create summary info for transform [2].0-1977438387IDS_ERROR_27581033Transform [2] does not contain an MSI version.0-1977438387IDS_ERROR_27591033Transform [2] version [3] incompatible with engine; Min: [4], Max: [5].0-1977438387IDS_ERROR_27601033Transform [2] invalid for package [3]. Expected upgrade code [4], found [5].0-1977438387IDS_ERROR_27611033Cannot begin transaction. Global mutex not properly initialized.0-1977438387IDS_ERROR_27621033Cannot write script record. Transaction not started.0-1977438387IDS_ERROR_27631033Cannot run script. Transaction not started.0-1977438387IDS_ERROR_27651033Assembly name missing from AssemblyName table : Component: [4].0-1977438387IDS_ERROR_27661033The file [2] is an invalid MSI storage file.0-1977438387IDS_ERROR_27671033No more data{ while enumerating [2]}.0-1977438387IDS_ERROR_27681033Transform in patch package is invalid.0-1977438387IDS_ERROR_27691033Custom Action [2] did not close [3] MSIHANDLEs.0-1977438387IDS_ERROR_27701033Cached folder [2] not defined in internal cache folder table.0-1977438387IDS_ERROR_27711033Upgrade of feature [2] has a missing component.0-1977438387IDS_ERROR_27721033New upgrade feature [2] must be a leaf feature.0-1977438387IDS_ERROR_281033Another application has exclusive access to the file [2]. Please shut down all other applications, then click Retry.0-1977438387IDS_ERROR_28011033Unknown Message -- Type [2]. No action is taken.0-1977438387IDS_ERROR_28021033No publisher is found for the event [2].0-1977438387IDS_ERROR_28031033Dialog View did not find a record for the dialog [2].0-1977438387IDS_ERROR_28041033On activation of the control [3] on dialog [2] CMsiDialog failed to evaluate the condition [3].0-1977438387IDS_ERROR_28061033The dialog [2] failed to evaluate the condition [3].0-1977438387IDS_ERROR_28071033The action [2] is not recognized.0-1977438387IDS_ERROR_28081033Default button is ill-defined on dialog [2].0-1977438387IDS_ERROR_28091033On the dialog [2] the next control pointers do not form a cycle. There is a pointer from [3] to [4], but there is no further pointer.0-1977438387IDS_ERROR_28101033On the dialog [2] the next control pointers do not form a cycle. There is a pointer from both [3] and [5] to [4].0-1977438387IDS_ERROR_28111033On dialog [2] control [3] has to take focus, but it is unable to do so.0-1977438387IDS_ERROR_28121033The event [2] is not recognized.0-1977438387IDS_ERROR_28131033The EndDialog event was called with the argument [2], but the dialog has a parent.0-1977438387IDS_ERROR_28141033On the dialog [2] the control [3] names a nonexistent control [4] as the next control.0-1977438387IDS_ERROR_28151033ControlCondition table has a row without condition for the dialog [2].0-1977438387IDS_ERROR_28161033The EventMapping table refers to an invalid control [4] on dialog [2] for the event [3].0-1977438387IDS_ERROR_28171033The event [2] failed to set the attribute for the control [4] on dialog [3].0-1977438387IDS_ERROR_28181033In the ControlEvent table EndDialog has an unrecognized argument [2].0-1977438387IDS_ERROR_28191033Control [3] on dialog [2] needs a property linked to it.0-1977438387IDS_ERROR_28201033Attempted to initialize an already initialized handler.0-1977438387IDS_ERROR_28211033Attempted to initialize an already initialized dialog: [2].0-1977438387IDS_ERROR_28221033No other method can be called on dialog [2] until all the controls are added.0-1977438387IDS_ERROR_28231033Attempted to initialize an already initialized control: [3] on dialog [2].0-1977438387IDS_ERROR_28241033The dialog attribute [3] needs a record of at least [2] field(s).0-1977438387IDS_ERROR_28251033The control attribute [3] needs a record of at least [2] field(s).0-1977438387IDS_ERROR_28261033Control [3] on dialog [2] extends beyond the boundaries of the dialog [4] by [5] pixels.0-1977438387IDS_ERROR_28271033The button [4] on the radio button group [3] on dialog [2] extends beyond the boundaries of the group [5] by [6] pixels.0-1977438387IDS_ERROR_28281033Tried to remove control [3] from dialog [2], but the control is not part of the dialog.0-1977438387IDS_ERROR_28291033Attempt to use an uninitialized dialog.0-1977438387IDS_ERROR_28301033Attempt to use an uninitialized control on dialog [2].0-1977438387IDS_ERROR_28311033The control [3] on dialog [2] does not support [5] the attribute [4].0-1977438387IDS_ERROR_28321033The dialog [2] does not support the attribute [3].0-1977438387IDS_ERROR_28331033Control [4] on dialog [3] ignored the message [2].0-1977438387IDS_ERROR_28341033The next pointers on the dialog [2] do not form a single loop.0-1977438387IDS_ERROR_28351033The control [2] was not found on dialog [3].0-1977438387IDS_ERROR_28361033The control [3] on the dialog [2] cannot take focus.0-1977438387IDS_ERROR_28371033The control [3] on dialog [2] wants the winproc to return [4].0-1977438387IDS_ERROR_28381033The item [2] in the selection table has itself as a parent.0-1977438387IDS_ERROR_28391033Setting the property [2] failed.0-1977438387IDS_ERROR_28401033Error dialog name mismatch.0-1977438387IDS_ERROR_28411033No OK button was found on the error dialog.0-1977438387IDS_ERROR_28421033No text field was found on the error dialog.0-1977438387IDS_ERROR_28431033The ErrorString attribute is not supported for standard dialogs.0-1977438387IDS_ERROR_28441033Cannot execute an error dialog if the Errorstring is not set.0-1977438387IDS_ERROR_28451033The total width of the buttons exceeds the size of the error dialog.0-1977438387IDS_ERROR_28461033SetFocus did not find the required control on the error dialog.0-1977438387IDS_ERROR_28471033The control [3] on dialog [2] has both the icon and the bitmap style set.0-1977438387IDS_ERROR_28481033Tried to set control [3] as the default button on dialog [2], but the control does not exist.0-1977438387IDS_ERROR_28491033The control [3] on dialog [2] is of a type, that cannot be integer valued.0-1977438387IDS_ERROR_28501033Unrecognized volume type.0-1977438387IDS_ERROR_28511033The data for the icon [2] is not valid.0-1977438387IDS_ERROR_28521033At least one control has to be added to dialog [2] before it is used.0-1977438387IDS_ERROR_28531033Dialog [2] is a modeless dialog. The execute method should not be called on it.0-1977438387IDS_ERROR_28541033On the dialog [2] the control [3] is designated as first active control, but there is no such control.0-1977438387IDS_ERROR_28551033The radio button group [3] on dialog [2] has fewer than 2 buttons.0-1977438387IDS_ERROR_28561033Creating a second copy of the dialog [2].0-1977438387IDS_ERROR_28571033The directory [2] is mentioned in the selection table but not found.0-1977438387IDS_ERROR_28581033The data for the bitmap [2] is not valid.0-1977438387IDS_ERROR_28591033Test error message.0-1977438387IDS_ERROR_28601033Cancel button is ill-defined on dialog [2].0-1977438387IDS_ERROR_28611033The next pointers for the radio buttons on dialog [2] control [3] do not form a cycle.0-1977438387IDS_ERROR_28621033The attributes for the control [3] on dialog [2] do not define a valid icon size. Setting the size to 16.0-1977438387IDS_ERROR_28631033The control [3] on dialog [2] needs the icon [4] in size [5]x[5], but that size is not available. Loading the first available size.0-1977438387IDS_ERROR_28641033The control [3] on dialog [2] received a browse event, but there is no configurable directory for the present selection. Likely cause: browse button is not authored correctly.0-1977438387IDS_ERROR_28651033Control [3] on billboard [2] extends beyond the boundaries of the billboard [4] by [5] pixels.0-1977438387IDS_ERROR_28661033The dialog [2] is not allowed to return the argument [3].0-1977438387IDS_ERROR_28671033The error dialog property is not set.0-1977438387IDS_ERROR_28681033The error dialog [2] does not have the error style bit set.0-1977438387IDS_ERROR_28691033The dialog [2] has the error style bit set, but is not an error dialog.0-1977438387IDS_ERROR_28701033The help string [4] for control [3] on dialog [2] does not contain the separator character.0-1977438387IDS_ERROR_28711033The [2] table is out of date: [3].0-1977438387IDS_ERROR_28721033The argument of the CheckPath control event on dialog [2] is invalid.0-1977438387IDS_ERROR_28731033On the dialog [2] the control [3] has an invalid string length limit: [4].0-1977438387IDS_ERROR_28741033Changing the text font to [2] failed.0-1977438387IDS_ERROR_28751033Changing the text color to [2] failed.0-1977438387IDS_ERROR_28761033The control [3] on dialog [2] had to truncate the string: [4].0-1977438387IDS_ERROR_28771033The binary data [2] was not found0-1977438387IDS_ERROR_28781033On the dialog [2] the control [3] has a possible value: [4]. This is an invalid or duplicate value.0-1977438387IDS_ERROR_28791033The control [3] on dialog [2] cannot parse the mask string: [4].0-1977438387IDS_ERROR_28801033Do not perform the remaining control events.0-1977438387IDS_ERROR_28811033CMsiHandler initialization failed.0-1977438387IDS_ERROR_28821033Dialog window class registration failed.0-1977438387IDS_ERROR_28831033CreateNewDialog failed for the dialog [2].0-1977438387IDS_ERROR_28841033Failed to create a window for the dialog [2].0-1977438387IDS_ERROR_28851033Failed to create the control [3] on the dialog [2].0-1977438387IDS_ERROR_28861033Creating the [2] table failed.0-1977438387IDS_ERROR_28871033Creating a cursor to the [2] table failed.0-1977438387IDS_ERROR_28881033Executing the [2] view failed.0-1977438387IDS_ERROR_28891033Creating the window for the control [3] on dialog [2] failed.0-1977438387IDS_ERROR_28901033The handler failed in creating an initialized dialog.0-1977438387IDS_ERROR_28911033Failed to destroy window for dialog [2].0-1977438387IDS_ERROR_28921033[2] is an integer only control, [3] is not a valid integer value.0-1977438387IDS_ERROR_28931033The control [3] on dialog [2] can accept property values that are at most [5] characters long. The value [4] exceeds this limit, and has been truncated.0-1977438387IDS_ERROR_28941033Loading RICHED20.DLL failed. GetLastError() returned: [2].0-1977438387IDS_ERROR_28951033Freeing RICHED20.DLL failed. GetLastError() returned: [2].0-1977438387IDS_ERROR_28961033Executing action [2] failed.0-1977438387IDS_ERROR_28971033Failed to create any [2] font on this system.0-1977438387IDS_ERROR_28981033For [2] textstyle, the system created a '[3]' font, in [4] character set.0-1977438387IDS_ERROR_28991033Failed to create [2] textstyle. GetLastError() returned: [3].0-1977438387IDS_ERROR_291033There is not enough disk space to install the file [2]. Free some disk space and click Retry, or click Cancel to exit.0-1977438387IDS_ERROR_29011033Invalid parameter to operation [2]: Parameter [3].0-1977438387IDS_ERROR_29021033Operation [2] called out of sequence.0-1977438387IDS_ERROR_29031033The file [2] is missing.0-1977438387IDS_ERROR_29041033Could not BindImage file [2].0-1977438387IDS_ERROR_29051033Could not read record from script file [2].0-1977438387IDS_ERROR_29061033Missing header in script file [2].0-1977438387IDS_ERROR_29071033Could not create secure security descriptor. Error: [2].0-1977438387IDS_ERROR_29081033Could not register component [2].0-1977438387IDS_ERROR_29091033Could not unregister component [2].0-1977438387IDS_ERROR_29101033Could not determine user's security ID.0-1977438387IDS_ERROR_29111033Could not remove the folder [2].0-1977438387IDS_ERROR_29121033Could not schedule file [2] for removal on restart.0-1977438387IDS_ERROR_29191033No cabinet specified for compressed file: [2].0-1977438387IDS_ERROR_29201033Source directory not specified for file [2].0-1977438387IDS_ERROR_29241033Script [2] version unsupported. Script version: [3], minimum version: [4], maximum version: [5].0-1977438387IDS_ERROR_29271033ShellFolder id [2] is invalid.0-1977438387IDS_ERROR_29281033Exceeded maximum number of sources. Skipping source '[2]'.0-1977438387IDS_ERROR_29291033Could not determine publishing root. Error: [2].0-1977438387IDS_ERROR_29321033Could not create file [2] from script data. Error: [3].0-1977438387IDS_ERROR_29331033Could not initialize rollback script [2].0-1977438387IDS_ERROR_29341033Could not secure transform [2]. Error [3].0-1977438387IDS_ERROR_29351033Could not unsecure transform [2]. Error [3].0-1977438387IDS_ERROR_29361033Could not find transform [2].0-1977438387IDS_ERROR_29371033Windows Installer cannot install a system file protection catalog. Catalog: [2], Error: [3].0-1977438387IDS_ERROR_29381033Windows Installer cannot retrieve a system file protection catalog from the cache. Catalog: [2], Error: [3].0-1977438387IDS_ERROR_29391033Windows Installer cannot delete a system file protection catalog from the cache. Catalog: [2], Error: [3].0-1977438387IDS_ERROR_29401033Directory Manager not supplied for source resolution.0-1977438387IDS_ERROR_29411033Unable to compute the CRC for file [2].0-1977438387IDS_ERROR_29421033BindImage action has not been executed on [2] file.0-1977438387IDS_ERROR_29431033This version of Windows does not support deploying 64-bit packages. The script [2] is for a 64-bit package.0-1977438387IDS_ERROR_29441033GetProductAssignmentType failed.0-1977438387IDS_ERROR_29451033Installation of ComPlus App [2] failed with error [3].0-1977438387IDS_ERROR_31033Info [1]. 0-1977438387IDS_ERROR_301033Source file not found: [2]. Verify that the file exists and that you can access it.0-1977438387IDS_ERROR_30011033The patches in this list contain incorrect sequencing information: [2][3][4][5][6][7][8][9][10][11][12][13][14][15][16].0-1977438387IDS_ERROR_30021033Patch [2] contains invalid sequencing information. 0-1977438387IDS_ERROR_311033Error reading from file: [3]. {{ System error [2].}} Verify that the file exists and that you can access it.0-1977438387IDS_ERROR_321033Error writing to file: [3]. {{ System error [2].}} Verify that you have access to that directory.0-1977438387IDS_ERROR_331033Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it.0-1977438387IDS_ERROR_341033Cannot create the directory [2]. A file with this name already exists. Please rename or remove the file and click Retry, or click Cancel to exit.0-1977438387IDS_ERROR_351033The volume [2] is currently unavailable. Please select another.0-1977438387IDS_ERROR_361033The specified path [2] is unavailable.0-1977438387IDS_ERROR_371033Unable to write to the specified folder [2].0-1977438387IDS_ERROR_381033A network error occurred while attempting to read from the file [2]0-1977438387IDS_ERROR_391033An error occurred while attempting to create the directory [2]0-1977438387IDS_ERROR_41033Internal Error [1]. [2]{, [3]}{, [4]}0-1977438387IDS_ERROR_401033A network error occurred while attempting to create the directory [2]0-1977438387IDS_ERROR_411033A network error occurred while attempting to open the source file cabinet [2].0-1977438387IDS_ERROR_421033The specified path is too long [2].0-1977438387IDS_ERROR_431033The Installer has insufficient privileges to modify the file [2].0-1977438387IDS_ERROR_441033A portion of the path [2] exceeds the length allowed by the system.0-1977438387IDS_ERROR_451033The path [2] contains words that are not valid in folders.0-1977438387IDS_ERROR_461033The path [2] contains an invalid character.0-1977438387IDS_ERROR_471033[2] is not a valid short file name.0-1977438387IDS_ERROR_481033Error getting file security: [3] GetLastError: [2]0-1977438387IDS_ERROR_491033Invalid Drive: [2]0-1977438387IDS_ERROR_51033{{Disk full: }}0-1977438387IDS_ERROR_501033Could not create key [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel.0-1977438387IDS_ERROR_511033Could not open key: [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel.0-1977438387IDS_ERROR_521033Could not delete value [2] from key [3]. {{ System error [4].}} Verify that you have sufficient access to that key, or contact your support personnel.0-1977438387IDS_ERROR_531033Could not delete key [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel.0-1977438387IDS_ERROR_541033Could not read value [2] from key [3]. {{ System error [4].}} Verify that you have sufficient access to that key, or contact your support personnel.0-1977438387IDS_ERROR_551033Could not write value [2] to key [3]. {{ System error [4].}} Verify that you have sufficient access to that key, or contact your support personnel.0-1977438387IDS_ERROR_561033Could not get value names for key [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel.0-1977438387IDS_ERROR_571033Could not get sub key names for key [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel.0-1977438387IDS_ERROR_581033Could not read security information for key [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel.0-1977438387IDS_ERROR_591033Could not increase the available registry space. [2] KB of free registry space is required for the installation of this application.0-1977438387IDS_ERROR_61033Action [Time]: [1]. [2]0-1977438387IDS_ERROR_601033Another installation is in progress. You must complete that installation before continuing this one.0-1977438387IDS_ERROR_611033Error accessing secured data. Please make sure the Windows Installer is configured properly and try the installation again.0-1977438387IDS_ERROR_621033User [2] has previously initiated an installation for product [3]. That user will need to run that installation again before using that product. Your current installation will now continue.0-1977438387IDS_ERROR_631033User [2] has previously initiated an installation for product [3]. That user will need to run that installation again before using that product.0-1977438387IDS_ERROR_641033Out of disk space -- Volume: '[2]'; required space: [3] KB; available space: [4] KB. Free some disk space and retry.0-1977438387IDS_ERROR_651033Are you sure you want to cancel?0-1977438387IDS_ERROR_661033The file [2][3] is being held in use{ by the following process: Name: [4], ID: [5], Window Title: [6]}. Close that application and retry.0-1977438387IDS_ERROR_671033The product [2] is already installed, preventing the installation of this product. The two products are incompatible.0-1977438387IDS_ERROR_681033Out of disk space -- Volume: [2]; required space: [3] KB; available space: [4] KB. If rollback is disabled, enough space is available. Click Cancel to quit, Retry to check available disk space again, or Ignore to continue without rollback.0-1977438387IDS_ERROR_691033Could not access network location [2].0-1977438387IDS_ERROR_71033[ProductName]0-1977438387IDS_ERROR_701033The following applications should be closed before continuing the installation:0-1977438387IDS_ERROR_711033Could not find any previously installed compliant products on the machine for installing this product.0-1977438387IDS_ERROR_721033The key [2] is not valid. Verify that you entered the correct key.0-1977438387IDS_ERROR_731033The installer must restart your system before configuration of [2] can continue. Click Yes to restart now or No if you plan to restart later.0-1977438387IDS_ERROR_741033You must restart your system for the configuration changes made to [2] to take effect. Click Yes to restart now or No if you plan to restart later.0-1977438387IDS_ERROR_751033An installation for [2] is currently suspended. You must undo the changes made by that installation to continue. Do you want to undo those changes?0-1977438387IDS_ERROR_761033A previous installation for this product is in progress. You must undo the changes made by that installation to continue. Do you want to undo those changes?0-1977438387IDS_ERROR_771033No valid source could be found for product [2]. The Windows Installer cannot continue.0-1977438387IDS_ERROR_781033Installation operation completed successfully.0-1977438387IDS_ERROR_791033Installation operation failed.0-1977438387IDS_ERROR_81033{[2]}{, [3]}{, [4]}0-1977438387IDS_ERROR_801033Product: [2] -- [3]0-1977438387IDS_ERROR_811033You may either restore your computer to its previous state or continue the installation later. Would you like to restore?0-1977438387IDS_ERROR_821033An error occurred while writing installation information to disk. Check to make sure enough disk space is available, and click Retry, or Cancel to end the installation.0-1977438387IDS_ERROR_831033One or more of the files required to restore your computer to its previous state could not be found. Restoration will not be possible.0-1977438387IDS_ERROR_841033The path [2] is not valid. Please specify a valid path.0-1977438387IDS_ERROR_851033Out of memory. Shut down other applications before retrying.0-1977438387IDS_ERROR_861033There is no disk in drive [2]. Please insert one and click Retry, or click Cancel to go back to the previously selected volume.0-1977438387IDS_ERROR_871033There is no disk in drive [2]. Please insert one and click Retry, or click Cancel to return to the browse dialog and select a different volume.0-1977438387IDS_ERROR_881033The folder [2] does not exist. Please enter a path to an existing folder.0-1977438387IDS_ERROR_891033You have insufficient privileges to read this folder.0-1977438387IDS_ERROR_91033Message type: [1], Argument: [2]0-1977438387IDS_ERROR_901033A valid destination folder for the installation could not be determined.0-1977438387IDS_ERROR_911033Error attempting to read from the source installation database: [2].0-1977438387IDS_ERROR_921033Scheduling reboot operation: Renaming file [2] to [3]. Must reboot to complete operation.0-1977438387IDS_ERROR_931033Scheduling reboot operation: Deleting file [2]. Must reboot to complete operation.0-1977438387IDS_ERROR_941033Module [2] failed to register. HRESULT [3]. Contact your support personnel.0-1977438387IDS_ERROR_951033Module [2] failed to unregister. HRESULT [3]. Contact your support personnel.0-1977438387IDS_ERROR_961033Failed to cache package [2]. Error: [3]. Contact your support personnel.0-1977438387IDS_ERROR_971033Could not register font [2]. Verify that you have sufficient permissions to install fonts, and that the system supports this font.0-1977438387IDS_ERROR_981033Could not unregister font [2]. Verify that you have sufficient permissions to remove fonts.0-1977438387IDS_ERROR_991033Could not create shortcut [2]. Verify that the destination folder exists and that you can access it.0-1977438387IDS_INSTALLDIR1033[INSTALLDIR]0-1977438387IDS_INSTALLSHIELD1033InstallShield0-1977438387IDS_INSTALLSHIELD_FORMATTED1033{&MSSWhiteSerif8}InstallShield0-1977438387IDS_ISSCRIPT_VERSION_MISSING1033The InstallScript engine is missing from this machine. If available, please run ISScript.msi, or contact your support personnel for further assistance.0-1977438387IDS_ISSCRIPT_VERSION_OLD1033The InstallScript engine on this machine is older than the version required to run this setup. If available, please install the latest version of ISScript.msi, or contact your support personnel for further assistance.0-1977438387IDS_NEXT1033&Next >0-1977438387IDS_OK1033OK0-1977438387IDS_PREREQUISITE_SETUP_BROWSE1033Open [ProductName]'s original [SETUPEXENAME]0-1977438387IDS_PREREQUISITE_SETUP_INVALID1033This executable file does not appear to be the original executable file for [ProductName]. Without using the original [SETUPEXENAME] to install additional dependencies, [ProductName] may not work correctly. Would you like to find the original [SETUPEXENAME]?0-1977438387IDS_PREREQUISITE_SETUP_SEARCH1033This installation may require additional dependencies. Without its dependencies, [ProductName] may not work correctly. Would you like to find the original [SETUPEXENAME]?0-1977438387IDS_PREVENT_DOWNGRADE_EXIT1033A newer version of this application is already installed on this computer. If you wish to install this version, please uninstall the newer version first. Click OK to exit the wizard.0-1977438387IDS_PRINT_BUTTON1033&Print0-1977438387IDS_PRODUCTNAME_INSTALLSHIELD1033[ProductName] - InstallShield Wizard0-1977438387IDS_PROGMSG_IIS_CREATEAPPPOOL1033Creating application pool %s0-1977438387IDS_PROGMSG_IIS_CREATEAPPPOOLS1033Creating application Pools...0-1977438387IDS_PROGMSG_IIS_CREATEVROOT1033Creating IIS virtual directory %s0-1977438387IDS_PROGMSG_IIS_CREATEVROOTS1033Creating IIS virtual directories...0-1977438387IDS_PROGMSG_IIS_CREATEWEBSERVICEEXTENSION1033Creating web service extension0-1977438387IDS_PROGMSG_IIS_CREATEWEBSERVICEEXTENSIONS1033Creating web service extensions...0-1977438387IDS_PROGMSG_IIS_CREATEWEBSITE1033Creating IIS website %s0-1977438387IDS_PROGMSG_IIS_CREATEWEBSITES1033Creating IIS websites...0-1977438387IDS_PROGMSG_IIS_EXTRACT1033Extracting information for IIS virtual directories...0-1977438387IDS_PROGMSG_IIS_EXTRACTDONE1033Extracted information for IIS virtual directories...0-1977438387IDS_PROGMSG_IIS_REMOVEAPPPOOL1033Removing application pool0-1977438387IDS_PROGMSG_IIS_REMOVEAPPPOOLS1033Removing application pools...0-1977438387IDS_PROGMSG_IIS_REMOVESITE1033Removing web site at port %d0-1977438387IDS_PROGMSG_IIS_REMOVEVROOT1033Removing IIS virtual directory %s0-1977438387IDS_PROGMSG_IIS_REMOVEVROOTS1033Removing IIS virtual directories...0-1977438387IDS_PROGMSG_IIS_REMOVEWEBSERVICEEXTENSION1033Removing web service extension0-1977438387IDS_PROGMSG_IIS_REMOVEWEBSERVICEEXTENSIONS1033Removing web service extensions...0-1977438387IDS_PROGMSG_IIS_REMOVEWEBSITES1033Removing IIS websites...0-1977438387IDS_PROGMSG_IIS_ROLLBACKAPPPOOLS1033Rolling back application pools...0-1977438387IDS_PROGMSG_IIS_ROLLBACKVROOTS1033Rolling back virtual directory and web site changes...0-1977438387IDS_PROGMSG_IIS_ROLLBACKWEBSERVICEEXTENSIONS1033Rolling back web service extensions...0-1977438387IDS_PROGMSG_TEXTFILECHANGS_REPLACE1033Replacing %s with %s in %s...0-1977438387IDS_PROGMSG_XML_COSTING1033Costing XML files...0-1977438387IDS_PROGMSG_XML_CREATE_FILE1033Creating XML file %s...0-1977438387IDS_PROGMSG_XML_FILES1033Performing XML file changes...0-1977438387IDS_PROGMSG_XML_REMOVE_FILE1033Removing XML file %s...0-1977438387IDS_PROGMSG_XML_ROLLBACK_FILES1033Rolling back XML file changes...0-1977438387IDS_PROGMSG_XML_UPDATE_FILE1033Updating XML file %s...0-1977438387IDS_SETUPEXE_EXPIRE_MSG1033This setup works until %s. The setup will now exit.0-1977438387IDS_SETUPEXE_LAUNCH_COND_E1033This setup was built with an evaluation version of InstallShield and can only be launched from setup.exe.0-1977438387IDS_SQLBROWSE_INTRO1033From the list of servers below, select the database server you would like to target.0-1977438387IDS_SQLBROWSE_INTRO_DB1033From the list of catalog names below, select the database catalog you would like to target.0-1977438387IDS_SQLBROWSE_INTRO_TEMPLATE1033[IS_SQLBROWSE_INTRO]0-1977438387IDS_SQLLOGIN_BROWSE1033B&rowse...0-1977438387IDS_SQLLOGIN_BROWSE_DB1033Br&owse...0-1977438387IDS_SQLLOGIN_CATALOG1033&Name of database catalog:0-1977438387IDS_SQLLOGIN_CONNECT1033Connect using:0-1977438387IDS_SQLLOGIN_DESC1033Select database server and authentication method0-1977438387IDS_SQLLOGIN_ID1033&Login ID:0-1977438387IDS_SQLLOGIN_INTRO1033Select the database server to install to from the list below or click Browse to see a list of all database servers. You can also specify the way to authenticate your login using your current credentials or a SQL Login ID and Password.0-1977438387IDS_SQLLOGIN_PSWD1033&Password:0-1977438387IDS_SQLLOGIN_SERVER1033&Database Server:0-1977438387IDS_SQLLOGIN_SERVER21033&Database server that you are installing to:0-1977438387IDS_SQLLOGIN_SQL1033S&erver authentication using the Login ID and password below0-1977438387IDS_SQLLOGIN_TITLE1033{&MSSansBold8}Database Server0-1977438387IDS_SQLLOGIN_WIN1033&Windows authentication credentials of current user0-1977438387IDS_SQLSCRIPT_INSTALLING1033Executing SQL Install Script...0-1977438387IDS_SQLSCRIPT_UNINSTALLING1033Executing SQL Uninstall Script...0-1977438387IDS_STANDARD_USE_SETUPEXE1033This installation cannot be run by directly launching the MSI package. You must run setup.exe.0-1977438387IDS_SetupTips_Advertise1033Will be installed on first use. (Available only if the feature supports this option.)0-1977438387IDS_SetupTips_AllInstalledLocal1033Will be completely installed to the local hard drive.0-1977438387IDS_SetupTips_CustomSetup1033{&MSSansBold8}Custom Setup Tips0-1977438387IDS_SetupTips_CustomSetupDescription1033Custom Setup allows you to selectively install program features.0-1977438387IDS_SetupTips_IconInstallState1033The icon next to the feature name indicates the install state of the feature. Click the icon to drop down the install state menu for each feature.0-1977438387IDS_SetupTips_InstallState1033This install state means the feature...0-1977438387IDS_SetupTips_Network1033Will be installed to run from the network. (Available only if the feature supports this option.)0-1977438387IDS_SetupTips_OK1033OK0-1977438387IDS_SetupTips_SubFeaturesInstalledLocal1033Will have some subfeatures installed to the local hard drive. (Available only if the feature has subfeatures.)0-1977438387IDS_SetupTips_WillNotBeInstalled1033Will not be installed.0-1977438387IDS_UITEXT_Available1033Available0-1977438387IDS_UITEXT_Bytes1033bytes0-1977438387IDS_UITEXT_CompilingFeaturesCost1033Compiling cost for this feature...0-1977438387IDS_UITEXT_Differences1033Differences0-1977438387IDS_UITEXT_DiskSize1033Disk Size0-1977438387IDS_UITEXT_FeatureCompletelyRemoved1033This feature will be completely removed.0-1977438387IDS_UITEXT_FeatureContinueNetwork1033This feature will continue to be run from the network0-1977438387IDS_UITEXT_FeatureFreeSpace1033This feature frees up [1] on your hard drive.0-1977438387IDS_UITEXT_FeatureInstalledCD1033This feature, and all subfeatures, will be installed to run from the CD.0-1977438387IDS_UITEXT_FeatureInstalledCD21033This feature will be installed to run from CD.0-1977438387IDS_UITEXT_FeatureInstalledLocal1033This feature, and all subfeatures, will be installed on local hard drive.0-1977438387IDS_UITEXT_FeatureInstalledLocal21033This feature will be installed on local hard drive.0-1977438387IDS_UITEXT_FeatureInstalledNetwork1033This feature, and all subfeatures, will be installed to run from the network.0-1977438387IDS_UITEXT_FeatureInstalledNetwork21033This feature will be installed to run from network.0-1977438387IDS_UITEXT_FeatureInstalledRequired1033Will be installed when required.0-1977438387IDS_UITEXT_FeatureInstalledWhenRequired1033This feature will be set to be installed when required.0-1977438387IDS_UITEXT_FeatureInstalledWhenRequired21033This feature will be installed when required.0-1977438387IDS_UITEXT_FeatureLocal1033This feature will be installed on the local hard drive.0-1977438387IDS_UITEXT_FeatureLocal21033This feature will be installed on your local hard drive.0-1977438387IDS_UITEXT_FeatureNetwork1033This feature will be installed to run from the network.0-1977438387IDS_UITEXT_FeatureNetwork21033This feature will be available to run from the network.0-1977438387IDS_UITEXT_FeatureNotAvailable1033This feature will not be available.0-1977438387IDS_UITEXT_FeatureOnCD1033This feature will be installed to run from CD.0-1977438387IDS_UITEXT_FeatureOnCD21033This feature will be available to run from CD.0-1977438387IDS_UITEXT_FeatureRemainLocal1033This feature will remain on your local hard drive.0-1977438387IDS_UITEXT_FeatureRemoveNetwork1033This feature will be removed from your local hard drive, but will be still available to run from the network.0-1977438387IDS_UITEXT_FeatureRemovedCD1033This feature will be removed from your local hard drive but will still be available to run from CD.0-1977438387IDS_UITEXT_FeatureRemovedUnlessRequired1033This feature will be removed from your local hard drive but will be set to be installed when required.0-1977438387IDS_UITEXT_FeatureRequiredSpace1033This feature requires [1] on your hard drive.0-1977438387IDS_UITEXT_FeatureRunFromCD1033This feature will continue to be run from the CD0-1977438387IDS_UITEXT_FeatureSpaceFree1033This feature frees up [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures free up [4] on your hard drive.0-1977438387IDS_UITEXT_FeatureSpaceFree21033This feature frees up [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures require [4] on your hard drive.0-1977438387IDS_UITEXT_FeatureSpaceFree31033This feature requires [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures free up [4] on your hard drive.0-1977438387IDS_UITEXT_FeatureSpaceFree41033This feature requires [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures require [4] on your hard drive.0-1977438387IDS_UITEXT_FeatureUnavailable1033This feature will become unavailable.0-1977438387IDS_UITEXT_FeatureUninstallNoNetwork1033This feature will be uninstalled completely, and you won't be able to run it from the network.0-1977438387IDS_UITEXT_FeatureWasCD1033This feature was run from the CD but will be set to be installed when required.0-1977438387IDS_UITEXT_FeatureWasCDLocal1033This feature was run from the CD but will be installed on the local hard drive.0-1977438387IDS_UITEXT_FeatureWasOnNetworkInstalled1033This feature was run from the network but will be installed when required.0-1977438387IDS_UITEXT_FeatureWasOnNetworkLocal1033This feature was run from the network but will be installed on the local hard drive.0-1977438387IDS_UITEXT_FeatureWillBeUninstalled1033This feature will be uninstalled completely, and you won't be able to run it from CD.0-1977438387IDS_UITEXT_Folder1033Fldr|New Folder0-1977438387IDS_UITEXT_GB1033GB0-1977438387IDS_UITEXT_KB1033KB0-1977438387IDS_UITEXT_MB1033MB0-1977438387IDS_UITEXT_Required1033Required0-1977438387IDS_UITEXT_TimeRemaining1033Time remaining: {[1] min }{[2] sec}0-1977438387IDS_UITEXT_Volume1033Volume0-1977438387IDS__AgreeToLicense_01033I &do not accept the terms in the license agreement0-1977438387IDS__AgreeToLicense_11033I &accept the terms in the license agreement0-1977438387IDS__DatabaseFolder_ChangeFolder1033Click Next to install to this folder, or click Change to install to a different folder.0-1977438387IDS__DatabaseFolder_DatabaseDir1033[DATABASEDIR]0-1977438387IDS__DatabaseFolder_DatabaseFolder1033{&MSSansBold8}Database Folder0-1977438387IDS__DestinationFolder_Change1033&Change...0-1977438387IDS__DestinationFolder_ChangeFolder1033Click Next to install to this folder, or click Change to install to a different folder.0-1977438387IDS__DestinationFolder_DestinationFolder1033{&MSSansBold8}Destination Folder0-1977438387IDS__DestinationFolder_InstallTo1033Install [ProductName] to:0-1977438387IDS__DisplayName_Custom1033Custom0-1977438387IDS__DisplayName_Minimal1033Minimal0-1977438387IDS__DisplayName_Typical1033Typical0-1977438387IDS__IsAdminInstallBrowse_1110330-1977438387IDS__IsAdminInstallBrowse_410330-1977438387IDS__IsAdminInstallBrowse_810330-1977438387IDS__IsAdminInstallBrowse_BrowseDestination1033Browse to the destination folder.0-1977438387IDS__IsAdminInstallBrowse_ChangeDestination1033{&MSSansBold8}Change Current Destination Folder0-1977438387IDS__IsAdminInstallBrowse_CreateFolder1033Create new folder|0-1977438387IDS__IsAdminInstallBrowse_FolderName1033&Folder name:0-1977438387IDS__IsAdminInstallBrowse_LookIn1033&Look in:0-1977438387IDS__IsAdminInstallBrowse_UpOneLevel1033Up one level|0-1977438387IDS__IsAdminInstallPointWelcome_ServerImage1033The InstallShield(R) Wizard will create a server image of [ProductName] at a specified network location. To continue, click Next.0-1977438387IDS__IsAdminInstallPointWelcome_Wizard1033{&TahomaBold10}Welcome to the InstallShield Wizard for [ProductName]0-1977438387IDS__IsAdminInstallPoint_Change1033&Change...0-1977438387IDS__IsAdminInstallPoint_EnterNetworkLocation1033Enter the network location or click Change to browse to a location. Click Install to create a server image of [ProductName] at the specified network location or click Cancel to exit the wizard.0-1977438387IDS__IsAdminInstallPoint_Install1033&Install0-1977438387IDS__IsAdminInstallPoint_NetworkLocation1033&Network location:0-1977438387IDS__IsAdminInstallPoint_NetworkLocationFormatted1033{&MSSansBold8}Network Location0-1977438387IDS__IsAdminInstallPoint_SpecifyNetworkLocation1033Specify a network location for the server image of the product.0-1977438387IDS__IsBrowseButton1033&Browse...0-1977438387IDS__IsBrowseFolderDlg_1110330-1977438387IDS__IsBrowseFolderDlg_410330-1977438387IDS__IsBrowseFolderDlg_810330-1977438387IDS__IsBrowseFolderDlg_BrowseDestFolder1033Browse to the destination folder.0-1977438387IDS__IsBrowseFolderDlg_ChangeCurrentFolder1033{&MSSansBold8}Change Current Destination Folder0-1977438387IDS__IsBrowseFolderDlg_CreateFolder1033Create New Folder|0-1977438387IDS__IsBrowseFolderDlg_FolderName1033&Folder name:0-1977438387IDS__IsBrowseFolderDlg_LookIn1033&Look in:0-1977438387IDS__IsBrowseFolderDlg_OK1033OK0-1977438387IDS__IsBrowseFolderDlg_UpOneLevel1033Up One Level|0-1977438387IDS__IsBrowseForAccount1033Browse for a User Account0-1977438387IDS__IsBrowseGroup1033Select a Group0-1977438387IDS__IsBrowseUsernameTitle1033Select a User Name0-1977438387IDS__IsCancelDlg_ConfirmCancel1033Are you sure you want to cancel [ProductName] installation?0-1977438387IDS__IsCancelDlg_No1033&No0-1977438387IDS__IsCancelDlg_Yes1033&Yes0-1977438387IDS__IsConfirmPassword1033Con&firm password:0-1977438387IDS__IsCreateNewUserTitle1033New User Information0-1977438387IDS__IsCreateUserBrowse1033N&ew User Information...0-1977438387IDS__IsCustomSelectionDlg_Change1033&Change...0-1977438387IDS__IsCustomSelectionDlg_ClickFeatureIcon1033Click on an icon in the list below to change how a feature is installed.0-1977438387IDS__IsCustomSelectionDlg_CustomSetup1033{&MSSansBold8}Custom Setup0-1977438387IDS__IsCustomSelectionDlg_FeatureDescription1033Feature Description0-1977438387IDS__IsCustomSelectionDlg_FeaturePath1033<selected feature path>0-1977438387IDS__IsCustomSelectionDlg_FeatureSize1033Feature size0-1977438387IDS__IsCustomSelectionDlg_Help1033&Help0-1977438387IDS__IsCustomSelectionDlg_InstallTo1033Install to:0-1977438387IDS__IsCustomSelectionDlg_MultilineDescription1033Multiline description of the currently selected item0-1977438387IDS__IsCustomSelectionDlg_SelectFeatures1033Select the program features you want installed.0-1977438387IDS__IsCustomSelectionDlg_Space1033&Space0-1977438387IDS__IsDiskSpaceDlg_DiskSpace1033Disk space required for the installation exceeds available disk space.0-1977438387IDS__IsDiskSpaceDlg_HighlightedVolumes1033The highlighted volumes do not have enough disk space available for the currently selected features. You can remove files from the highlighted volumes, choose to install fewer features onto local drives, or select different destination drives.0-1977438387IDS__IsDiskSpaceDlg_Numbers1033{120}{70}{70}{70}{70}0-1977438387IDS__IsDiskSpaceDlg_OK1033OK0-1977438387IDS__IsDiskSpaceDlg_OutOfDiskSpace1033{&MSSansBold8}Out of Disk Space0-1977438387IDS__IsDomainOrServer1033&Domain or server:0-1977438387IDS__IsErrorDlg_Abort1033&Abort0-1977438387IDS__IsErrorDlg_ErrorText1033<error text goes here><error text goes here><error text goes here><error text goes here><error text goes here><error text goes here><error text goes here><error text goes here><error text goes here><error text goes here><error text goes here>0-1977438387IDS__IsErrorDlg_Ignore1033&Ignore0-1977438387IDS__IsErrorDlg_InstallerInfo1033[ProductName] Installer Information0-1977438387IDS__IsErrorDlg_NO1033&No0-1977438387IDS__IsErrorDlg_OK1033&OK0-1977438387IDS__IsErrorDlg_Retry1033&Retry0-1977438387IDS__IsErrorDlg_Yes1033&Yes0-1977438387IDS__IsExitDialog_Finish1033&Finish0-1977438387IDS__IsExitDialog_InstallSuccess1033The InstallShield Wizard has successfully installed [ProductName]. Click Finish to exit the wizard.0-1977438387IDS__IsExitDialog_LaunchProgram1033Launch the program0-1977438387IDS__IsExitDialog_ShowReadMe1033Show the readme file0-1977438387IDS__IsExitDialog_UninstallSuccess1033The InstallShield Wizard has successfully uninstalled [ProductName]. Click Finish to exit the wizard.0-1977438387IDS__IsExitDialog_Update_InternetConnection1033Your Internet connection can be used to make sure that you have the latest updates.0-1977438387IDS__IsExitDialog_Update_PossibleUpdates1033Some program files might have been updated since you purchased your copy of [ProductName].0-1977438387IDS__IsExitDialog_Update_SetupFinished1033Setup has finished installing [ProductName].0-1977438387IDS__IsExitDialog_Update_YesCheckForUpdates1033&Yes, check for program updates (Recommended) after the setup completes.0-1977438387IDS__IsExitDialog_WizardCompleted1033{&TahomaBold10}InstallShield Wizard Completed0-1977438387IDS__IsFatalError_ClickFinish1033Click Finish to exit the wizard.0-1977438387IDS__IsFatalError_Finish1033&Finish0-1977438387IDS__IsFatalError_KeepOrRestore1033You can either keep any existing installed elements on your system to continue this installation at a later time or you can restore your system to its original state prior to the installation.0-1977438387IDS__IsFatalError_NotModified1033Your system has not been modified. To complete installation at another time, please run setup again.0-1977438387IDS__IsFatalError_RestoreOrContinueLater1033Click Restore or Continue Later to exit the wizard.0-1977438387IDS__IsFatalError_WizardCompleted1033{&TahomaBold10}InstallShield Wizard Completed0-1977438387IDS__IsFatalError_WizardInterrupted1033The wizard was interrupted before [ProductName] could be completely installed.0-1977438387IDS__IsFeatureDetailsDlg_DiskSpaceRequirements1033{&MSSansBold8}Disk Space Requirements0-1977438387IDS__IsFeatureDetailsDlg_Numbers1033{120}{70}{70}{70}{70}0-1977438387IDS__IsFeatureDetailsDlg_OK1033OK0-1977438387IDS__IsFeatureDetailsDlg_SpaceRequired1033The disk space required for the installation of the selected features.0-1977438387IDS__IsFeatureDetailsDlg_VolumesTooSmall1033The highlighted volumes do not have enough disk space available for the currently selected features. You can remove files from the highlighted volumes, choose to install fewer features onto local drives, or select different destination drives.0-1977438387IDS__IsFilesInUse_ApplicationsUsingFiles1033The following applications are using files that need to be updated by this setup. Close these applications and click Retry to continue.0-1977438387IDS__IsFilesInUse_Exit1033&Exit0-1977438387IDS__IsFilesInUse_FilesInUse1033{&MSSansBold8}Files in Use0-1977438387IDS__IsFilesInUse_FilesInUseMessage1033Some files that need to be updated are currently in use.0-1977438387IDS__IsFilesInUse_Ignore1033&Ignore0-1977438387IDS__IsFilesInUse_Retry1033&Retry0-1977438387IDS__IsGroup1033&Group:0-1977438387IDS__IsGroupLabel1033Gr&oup:0-1977438387IDS__IsInitDlg_110330-1977438387IDS__IsInitDlg_210330-1977438387IDS__IsInitDlg_PreparingWizard1033[ProductName] Setup is preparing the InstallShield Wizard which will guide you through the program setup process. Please wait.0-1977438387IDS__IsInitDlg_WelcomeWizard1033{&TahomaBold10}Welcome to the InstallShield Wizard for [ProductName]0-1977438387IDS__IsLicenseDlg_LicenseAgreement1033{&MSSansBold8}License Agreement0-1977438387IDS__IsLicenseDlg_ReadLicenseAgreement1033Please read the following license agreement carefully.0-1977438387IDS__IsLogonInfoDescription1033Specify the user name and password of the user account that will logon to use this application. The user account must be in the form DOMAIN\Username.0-1977438387IDS__IsLogonInfoTitle1033{&MSSansBold8}Logon Information0-1977438387IDS__IsLogonInfoTitleDescription1033Specify a user name and password0-1977438387IDS__IsLogonNewUserDescription1033Select the button below to specify information about a new user that will be created during the installation.0-1977438387IDS__IsMaintenanceDlg_ChangeFeatures1033Change which program features are installed. This option displays the Custom Selection dialog in which you can change the way features are installed.0-1977438387IDS__IsMaintenanceDlg_MaitenanceOptions1033Modify, repair, or remove the program.0-1977438387IDS__IsMaintenanceDlg_Modify1033{&MSSansBold8}&Modify0-1977438387IDS__IsMaintenanceDlg_ProgramMaintenance1033{&MSSansBold8}Program Maintenance0-1977438387IDS__IsMaintenanceDlg_Remove1033{&MSSansBold8}&Remove0-1977438387IDS__IsMaintenanceDlg_RemoveProductName1033Remove [ProductName] from your computer.0-1977438387IDS__IsMaintenanceDlg_Repair1033{&MSSansBold8}Re&pair0-1977438387IDS__IsMaintenanceDlg_RepairMessage1033Repair installation errors in the program. This option fixes missing or corrupt files, shortcuts, and registry entries.0-1977438387IDS__IsMaintenanceWelcome_MaintenanceOptionsDescription1033The InstallShield(R) Wizard will allow you to modify, repair, or remove [ProductName]. To continue, click Next.0-1977438387IDS__IsMaintenanceWelcome_WizardWelcome1033{&TahomaBold10}Welcome to the InstallShield Wizard for [ProductName]0-1977438387IDS__IsMsiRMFilesInUse_ApplicationsUsingFiles1033The following applications are using files that need to be updated by this setup.0-1977438387IDS__IsMsiRMFilesInUse_CloseRestart1033Automatically close and attempt to restart applications.0-1977438387IDS__IsMsiRMFilesInUse_RebootAfter1033Do not close applications. (A reboot will be required.)0-1977438387IDS__IsPatchDlg_PatchClickUpdate1033The InstallShield(R) Wizard will install the Patch for [ProductName] on your computer. To continue, click Update.0-1977438387IDS__IsPatchDlg_PatchWizard1033[ProductName] Patch - InstallShield Wizard0-1977438387IDS__IsPatchDlg_Update1033&Update >0-1977438387IDS__IsPatchDlg_WelcomePatchWizard1033{&TahomaBold10}Welcome to the Patch for [ProductName]0-1977438387IDS__IsProgressDlg_210330-1977438387IDS__IsProgressDlg_Hidden1033(Hidden for now)0-1977438387IDS__IsProgressDlg_HiddenTimeRemaining1033)Hidden for now)Estimated time remaining:0-1977438387IDS__IsProgressDlg_InstallingProductName1033{&MSSansBold8}Installing [ProductName]0-1977438387IDS__IsProgressDlg_ProgressDone1033Progress done0-1977438387IDS__IsProgressDlg_SecHidden1033(Hidden for now)Sec.0-1977438387IDS__IsProgressDlg_Status1033Status:0-1977438387IDS__IsProgressDlg_Uninstalling1033{&MSSansBold8}Uninstalling [ProductName]0-1977438387IDS__IsProgressDlg_UninstallingFeatures1033The program features you selected are being uninstalled.0-1977438387IDS__IsProgressDlg_UninstallingFeatures21033The program features you selected are being installed.0-1977438387IDS__IsProgressDlg_WaitUninstall1033Please wait while the InstallShield Wizard uninstalls [ProductName]. This may take several minutes.0-1977438387IDS__IsProgressDlg_WaitUninstall21033Please wait while the InstallShield Wizard installs [ProductName]. This may take several minutes.0-1977438387IDS__IsReadmeDlg_Cancel1033&Cancel0-1977438387IDS__IsReadmeDlg_PleaseReadInfo1033Please read the following readme information carefully.0-1977438387IDS__IsReadmeDlg_ReadMeInfo1033{&MSSansBold8}Readme Information0-1977438387IDS__IsRegisterUserDlg_1610330-1977438387IDS__IsRegisterUserDlg_Anyone1033&Anyone who uses this computer (all users)0-1977438387IDS__IsRegisterUserDlg_CustomerInformation1033{&MSSansBold8}Customer Information0-1977438387IDS__IsRegisterUserDlg_InstallFor1033Install this application for:0-1977438387IDS__IsRegisterUserDlg_OnlyMe1033Only for &me ([USERNAME])0-1977438387IDS__IsRegisterUserDlg_Organization1033&Organization:0-1977438387IDS__IsRegisterUserDlg_PleaseEnterInfo1033Please enter your information.0-1977438387IDS__IsRegisterUserDlg_SerialNumber1033&Serial Number:0-1977438387IDS__IsRegisterUserDlg_Tahoma501033{\Tahoma8}{50}0-1977438387IDS__IsRegisterUserDlg_Tahoma801033{\Tahoma8}{80}0-1977438387IDS__IsRegisterUserDlg_UserName1033&User Name:0-1977438387IDS__IsResumeDlg_ResumeSuspended1033The InstallShield(R) Wizard will complete the suspended installation of [ProductName] on your computer. To continue, click Next.0-1977438387IDS__IsResumeDlg_Resuming1033{&TahomaBold10}Resuming the InstallShield Wizard for [ProductName]0-1977438387IDS__IsResumeDlg_WizardResume1033The InstallShield(R) Wizard will complete the installation of [ProductName] on your computer. To continue, click Next.0-1977438387IDS__IsSelectDomainOrServer1033Select a Domain or Server0-1977438387IDS__IsSelectDomainUserInstructions1033Use the browse buttons to select a domain\server and a user name.0-1977438387IDS__IsSetupComplete_ShowMsiLog1033Show the Windows Installer log0-1977438387IDS__IsSetupTypeMinDlg_1310330-1977438387IDS__IsSetupTypeMinDlg_AllFeatures1033All program features will be installed. (Requires the most disk space.)0-1977438387IDS__IsSetupTypeMinDlg_ChooseFeatures1033Choose which program features you want installed and where they will be installed. Recommended for advanced users.0-1977438387IDS__IsSetupTypeMinDlg_ChooseSetupType1033Choose the setup type that best suits your needs.0-1977438387IDS__IsSetupTypeMinDlg_Complete1033{&MSSansBold8}&Complete0-1977438387IDS__IsSetupTypeMinDlg_Custom1033{&MSSansBold8}Cu&stom0-1977438387IDS__IsSetupTypeMinDlg_Minimal1033{&MSSansBold8}&Minimal0-1977438387IDS__IsSetupTypeMinDlg_MinimumFeatures1033Minimum required features will be installed.0-1977438387IDS__IsSetupTypeMinDlg_SelectSetupType1033Please select a setup type.0-1977438387IDS__IsSetupTypeMinDlg_SetupType1033{&MSSansBold8}Setup Type0-1977438387IDS__IsSetupTypeMinDlg_Typical1033{&MSSansBold8}&Typical0-1977438387IDS__IsUserExit_ClickFinish1033Click Finish to exit the wizard.0-1977438387IDS__IsUserExit_Finish1033&Finish0-1977438387IDS__IsUserExit_KeepOrRestore1033You can either keep any existing installed elements on your system to continue this installation at a later time or you can restore your system to its original state prior to the installation.0-1977438387IDS__IsUserExit_NotModified1033Your system has not been modified. To install this program at a later time, please run the installation again.0-1977438387IDS__IsUserExit_RestoreOrContinue1033Click Restore or Continue Later to exit the wizard.0-1977438387IDS__IsUserExit_WizardCompleted1033{&TahomaBold10}InstallShield Wizard Completed0-1977438387IDS__IsUserExit_WizardInterrupted1033The wizard was interrupted before [ProductName] could be completely installed.0-1977438387IDS__IsUserNameLabel1033&User name:0-1977438387IDS__IsVerifyReadyDlg_BackOrCancel1033If you want to review or change any of your installation settings, click Back. Click Cancel to exit the wizard.0-1977438387IDS__IsVerifyReadyDlg_ClickInstall1033Click Install to begin the installation.0-1977438387IDS__IsVerifyReadyDlg_Company1033Company: [COMPANYNAME]0-1977438387IDS__IsVerifyReadyDlg_CurrentSettings1033Current Settings:0-1977438387IDS__IsVerifyReadyDlg_DestFolder1033Destination Folder:0-1977438387IDS__IsVerifyReadyDlg_Install1033&Install0-1977438387IDS__IsVerifyReadyDlg_Installdir1033[INSTALLDIR]0-1977438387IDS__IsVerifyReadyDlg_ModifyReady1033{&MSSansBold8}Ready to Modify the Program0-1977438387IDS__IsVerifyReadyDlg_ReadyInstall1033{&MSSansBold8}Ready to Install the Program0-1977438387IDS__IsVerifyReadyDlg_ReadyRepair1033{&MSSansBold8}Ready to Repair the Program0-1977438387IDS__IsVerifyReadyDlg_SelectedSetupType1033[SelectedSetupType]0-1977438387IDS__IsVerifyReadyDlg_Serial1033Serial: [ISX_SERIALNUM]0-1977438387IDS__IsVerifyReadyDlg_SetupType1033Setup Type:0-1977438387IDS__IsVerifyReadyDlg_UserInfo1033User Information:0-1977438387IDS__IsVerifyReadyDlg_UserName1033Name: [USERNAME]0-1977438387IDS__IsVerifyReadyDlg_WizardReady1033The wizard is ready to begin installation.0-1977438387IDS__IsVerifyRemoveAllDlg_ChoseRemoveProgram1033You have chosen to remove the program from your system.0-1977438387IDS__IsVerifyRemoveAllDlg_ClickBack1033If you want to review or change any settings, click Back.0-1977438387IDS__IsVerifyRemoveAllDlg_ClickRemove1033Click Remove to remove [ProductName] from your computer. After removal, this program will no longer be available for use.0-1977438387IDS__IsVerifyRemoveAllDlg_Remove1033&Remove0-1977438387IDS__IsVerifyRemoveAllDlg_RemoveProgram1033{&MSSansBold8}Remove the Program0-1977438387IDS__IsWelcomeDlg_InstallProductName1033The InstallShield(R) Wizard will install [ProductName] on your computer. To continue, click Next.0-1977438387IDS__IsWelcomeDlg_WarningCopyright1033WARNING: This program is protected by copyright law and international treaties.0-1977438387IDS__IsWelcomeDlg_WelcomeProductName1033{&TahomaBold10}Welcome to the InstallShield Wizard for [ProductName]0-1977438387IDS__TargetReq_DESC_COLOR1033The color settings of your system are not adequate for running [ProductName].0-1977438387IDS__TargetReq_DESC_OS1033The operating system is not adequate for running [ProductName].0-1977438387IDS__TargetReq_DESC_PROCESSOR1033The processor is not adequate for running [ProductName].0-1977438387IDS__TargetReq_DESC_RAM1033The amount of RAM is not adequate for running [ProductName].0-1977438387IDS__TargetReq_DESC_RESOLUTION1033The screen resolution is not adequate for running [ProductName].0-1977438387ID_STRING11033http://kylin.io01965188880ID_STRING21033kylinolap01965213424IIDS_UITEXT_FeatureUninstalled1033This feature will remain uninstalled.0-1977438387
- - - Name - Value - -
UniqueIdC2398A63-0719-42C8-835B-18B1739DC41A
- - - UpgradedImage_ - Name - MsiPath - Order - Flags - IgnoreMissingFiles -
- - - UpgradeItem - ObjectSetupPath - ISReleaseFlags - ISAttributes -
- - - Name - MsiPath - Family -
- - - Directory_ - Name - Value -
- - - File_ - Name - Value -
- - - Name - Value -
- - - Registry_ - Name - Value -
- - - ISRelease_ - ISProductConfiguration_ - Name - Value -
- - - Shortcut_ - Name - Value -
- - - ISXmlElement - ISXmlFile_ - ISXmlElement_Parent - XPath - Content - ISAttributes -
- - - ISXmlElementAttrib - ISXmlElement_ - Name - Value - ISAttributes -
- - - ISXmlFile - FileName - Component_ - Directory - ISAttributes - SelectionNamespaces - Encoding -
- - - Signature_ - Parent - Element - Attribute - ISAttributes -
- - - Name - Data - ISBuildSourcePath - ISIconIndex - -
ARPPRODUCTICON.exe<ISProductFolder>\redist\Language Independent\OS Independent\setupicon.ico0
- - - IniFile - FileName - DirProperty - Section - Key - Value - Action - Component_ -
- - - Signature_ - FileName - Section - Key - Field - Type -
- - - Action - Condition - Sequence - ISComments - ISAttributes -
AllocateRegistrySpaceNOT Installed1550AllocateRegistrySpace - AppSearch400AppSearch - BindImage4300BindImage - CCPSearchCCP_TEST500CCPSearch - CostFinalize1000CostFinalize - CostInitialize800CostInitialize - CreateFolders3700CreateFolders - CreateShortcuts4500CreateShortcuts - DeleteServicesVersionNT2000DeleteServices - DuplicateFiles4210DuplicateFiles - FileCost900FileCost - FindRelatedProductsNOT ISSETUPDRIVEN420FindRelatedProducts - ISPreventDowngradeISFOUNDNEWERPRODUCTVERSION450ISPreventDowngrade - ISRunSetupTypeAddLocalEventNot Installed And Not ISRUNSETUPTYPEADDLOCALEVENT1050ISRunSetupTypeAddLocalEvent - ISSelfRegisterCosting2201 - ISSelfRegisterFiles5601 - ISSelfRegisterFinalize6601 - ISUnSelfRegisterFiles2202 - InstallFiles4000InstallFiles - InstallFinalize6600InstallFinalize - InstallInitialize1501InstallInitialize - InstallODBC5400InstallODBC - InstallServicesVersionNT5800InstallServices - InstallValidate1400InstallValidate - IsolateComponents950IsolateComponents - LaunchConditionsNot Installed410LaunchConditions - MigrateFeatureStates1010MigrateFeatureStates - MoveFiles3800MoveFiles - MsiConfigureServicesVersionMsi >= "5.00"5850MSI5 MsiConfigureServices - MsiPublishAssemblies6250MsiPublishAssemblies - MsiUnpublishAssemblies1750MsiUnpublishAssemblies - PatchFiles4090PatchFiles - ProcessComponents1600ProcessComponents - PublishComponents6200PublishComponents - PublishFeatures6300PublishFeatures - PublishProduct6400PublishProduct - RMCCPSearchNot CCP_SUCCESS And CCP_TEST600RMCCPSearch - RegisterClassInfo4600RegisterClassInfo - RegisterComPlus5700RegisterComPlus - RegisterExtensionInfo4700RegisterExtensionInfo - RegisterFonts5300RegisterFonts - RegisterMIMEInfo4900RegisterMIMEInfo - RegisterProduct6100RegisterProduct - RegisterProgIdInfo4800RegisterProgIdInfo - RegisterTypeLibraries5500RegisterTypeLibraries - RegisterUser6000RegisterUser - RemoveDuplicateFiles3400RemoveDuplicateFiles - RemoveEnvironmentStrings3300RemoveEnvironmentStrings - RemoveExistingProducts1410RemoveExistingProducts - RemoveFiles3500RemoveFiles - RemoveFolders3600RemoveFolders - RemoveIniValues3100RemoveIniValues - RemoveODBC2400RemoveODBC - RemoveRegistryValues2600RemoveRegistryValues - RemoveShortcuts3200RemoveShortcuts - ResolveSourceNot Installed850ResolveSource - ScheduleRebootISSCHEDULEREBOOT6410ScheduleReboot - SelfRegModules5600SelfRegModules - SelfUnregModules2200SelfUnregModules - SetARPINSTALLLOCATION1100SetARPINSTALLLOCATION - SetAllUsersProfileNTVersionNT = 400970 - SetODBCFolders1200SetODBCFolders - StartServicesVersionNT5900StartServices - StopServicesVersionNT1900StopServices - UnpublishComponents1700UnpublishComponents - UnpublishFeatures1800UnpublishFeatures - UnregisterClassInfo2700UnregisterClassInfo - UnregisterComPlus2100UnregisterComPlus - UnregisterExtensionInfo2800UnregisterExtensionInfo - UnregisterFonts2500UnregisterFonts - UnregisterMIMEInfo3000UnregisterMIMEInfo - UnregisterProgIdInfo2900UnregisterProgIdInfo - UnregisterTypeLibraries2300UnregisterTypeLibraries - ValidateProductID700ValidateProductID - WriteEnvironmentStrings5200WriteEnvironmentStrings - WriteIniValues5100WriteIniValues - WriteRegistryValues5000WriteRegistryValues - setAllUsersProfile2KVersionNT >= 500980 - setUserProfileNTVersionNT960 -
- - - Property - Value - - - - - - - - - - - - - - - - - - - - - - - - -
ActiveLanguage1033Comments - CurrentMedia -UwBpAG4AZwBsAGUASQBtAGEAZwBlAAEARQB4AHAAcgBlAHMAcwA= - DefaultProductConfigurationExpressEnableSwidtag1ISCompilerOption_CompileBeforeBuild1ISCompilerOption_Debug0ISCompilerOption_IncludePath - ISCompilerOption_LibraryPath - ISCompilerOption_MaxErrors50ISCompilerOption_MaxWarnings50ISCompilerOption_OutputPath<ISProjectDataFolder>\Script FilesISCompilerOption_PreProcessor_ISSCRIPT_NEW_STYLE_DLG_DEFSISCompilerOption_WarningLevel3ISCompilerOption_WarningsAsErrors1ISThemeInstallShield Blue.themeISUSLock{0A6AB81B-BB2B-496F-A081-4537537925F0}ISUSSignature{5AC729BB-C794-4587-84A9-14ADD90D06AF}ISVisitedViewsviewUI,viewISToday,viewAssistant,viewAppV,viewProject,viewRealSetupDesign,viewSetupDesign,viewSetupTypes,viewSystemSearch,viewRelease,viewAppFiles,viewUpgradePaths,viewUpdateService,viewDesignPatches,viewSupportFilesLimited1LockPermissionMode1MsiExecCmdLineOptions - MsiLogFile - OnUpgrade0Owner - PatchFamilyMyPatchFamily1PatchSequence1.0.0SaveAsSchema - SccEnabled0SccPath - SchemaVersion774TypeMSIE
- - - Action - Condition - Sequence - ISComments - ISAttributes -
AppSearch400AppSearch - CCPSearchCCP_TEST500CCPSearch - CostFinalize1000CostFinalize - CostInitialize800CostInitialize - ExecuteAction1300ExecuteAction - FileCost900FileCost - FindRelatedProducts430FindRelatedProducts - ISPreventDowngradeISFOUNDNEWERPRODUCTVERSION450ISPreventDowngrade - InstallWelcomeNot Installed1210InstallWelcome - IsolateComponents950IsolateComponents - LaunchConditionsNot Installed410LaunchConditions - MaintenanceWelcomeInstalled And Not RESUME And Not Preselected And Not PATCH1230MaintenanceWelcome - MigrateFeatureStates1200MigrateFeatureStates - PatchWelcomeInstalled And PATCH And Not IS_MAJOR_UPGRADE1205Patch Panel - RMCCPSearchNot CCP_SUCCESS And CCP_TEST600RMCCPSearch - ResolveSourceNot Installed990ResolveSource - SetAllUsersProfileNTVersionNT = 400970 - SetupCompleteError-3SetupCompleteError - SetupCompleteSuccess-1SetupCompleteSuccess - SetupInitialization420SetupInitialization - SetupInterrupted-2SetupInterrupted - SetupProgress1240SetupProgress - SetupResumeInstalled And (RESUME Or Preselected) And Not PATCH1220SetupResume - ValidateProductID700ValidateProductID - setAllUsersProfile2KVersionNT >= 500980 - setUserProfileNTVersionNT960 -
- - - Component_Shared - Component_Application -
- - - Condition - Description -
- - - Property - Order - Value - Text -
- - - Property - Order - Value - Text - Binary_ -
- - - LockObject - Table - Domain - User - Permission -
- - - ContentType - Extension_ - CLSID -
- - - DiskId - LastSequence - DiskPrompt - Cabinet - VolumeLabel - Source -
- - - FileKey - Component_ - SourceName - DestName - SourceFolder - DestFolder - Options -
- - - Component_ - Feature_ - File_Manifest - File_Application - Attributes -
- - - Component_ - Name - Value -
- - - DigitalCertificate - CertData -
- - - Table - SignObject - DigitalCertificate_ - Hash -
- - - Component - Flags - Sequence - ReferenceComponents -
- - - MsiEmbeddedChainer - Condition - CommandLine - Source - Type -
- - - MsiEmbeddedUI - FileName - Attributes - MessageFilter - Data - ISBuildSourcePath -
- - - File_ - Options - HashPart1 - HashPart2 - HashPart3 - HashPart4 -
- - - MsiLockPermissionsEx - LockObject - Table - SDDLText - Condition -
- - - PackageCertificate - DigitalCertificate_ -
- - - PatchCertificate - DigitalCertificate_ -
- - - PatchConfiguration_ - Company - Property - Value -
- - - File_ - Assembly_ -
- - - Assembly - Name - Value -
- - - PatchConfiguration_ - PatchFamily - Target - Sequence - Supersede -
- - - MsiServiceConfig - Name - Event - ConfigType - Argument - Component_ -
- - - MsiServiceConfigFailureActions - Name - Event - ResetPeriod - RebootMessage - Command - Actions - DelayActions - Component_ -
- - - MsiShortcutProperty - Shortcut_ - PropertyKey - PropVariantValue -
- - - Driver_ - Attribute - Value -
- - - DataSource - Component_ - Description - DriverDescription - Registration -
- - - Driver - Component_ - Description - File_ - File_Setup -
- - - DataSource_ - Attribute - Value -
- - - Translator - Component_ - Description - File_ - File_Setup -
- - - File_ - Sequence - PatchSize - Attributes - Header - StreamRef_ - ISBuildSourcePath -
- - - PatchId - Media_ -
- - - ProgId - ProgId_Parent - Class_ - Description - Icon_ - IconIndex - ISAttributes -
- - - Property - Value - ISComments -
ALLUSERS1 - ARPINSTALLLOCATION - ARPPRODUCTICONARPPRODUCTICON.exe - ARPSIZE - ARPURLINFOABOUT##ID_STRING1## - AgreeToLicenseNo - ApplicationUsersAllUsers - DWUSINTERVAL30 - DWUSLINKCEFC97D8A9AB87B8CEAC87D87ECB978F0E4C808F59EC000FCEFC87A8F9BB37FF198CA7FFA9AC - DefaultUIFontExpressDefault - DialogCaptionInstallShield for Windows Installer - DiskPrompt[1] - DiskSerial1234-5678 - DisplayNameCustom##IDS__DisplayName_Custom## - DisplayNameMinimal##IDS__DisplayName_Minimal## - DisplayNameTypical##IDS__DisplayName_Typical## - Display_IsBitmapDlg1 - ErrorDialogSetupError - INSTALLLEVEL200 - ISCHECKFORPRODUCTUPDATES1 - ISENABLEDWUSFINISHDIALOG - ISSHOWMSILOG - ISVROOT_PORT_NO0 - IS_COMPLUS_PROGRESSTEXT_COST##IDS_COMPLUS_PROGRESSTEXT_COST## - IS_COMPLUS_PROGRESSTEXT_INSTALL##IDS_COMPLUS_PROGRESSTEXT_INSTALL## - IS_COMPLUS_PROGRESSTEXT_UNINSTALL##IDS_COMPLUS_PROGRESSTEXT_UNINSTALL## - IS_PREVENT_DOWNGRADE_EXIT##IDS_PREVENT_DOWNGRADE_EXIT## - IS_PROGMSG_TEXTFILECHANGS_REPLACE##IDS_PROGMSG_TEXTFILECHANGS_REPLACE## - IS_PROGMSG_XML_COSTING##IDS_PROGMSG_XML_COSTING## - IS_PROGMSG_XML_CREATE_FILE##IDS_PROGMSG_XML_CREATE_FILE## - IS_PROGMSG_XML_FILES##IDS_PROGMSG_XML_FILES## - IS_PROGMSG_XML_REMOVE_FILE##IDS_PROGMSG_XML_REMOVE_FILE## - IS_PROGMSG_XML_ROLLBACK_FILES##IDS_PROGMSG_XML_ROLLBACK_FILES## - IS_PROGMSG_XML_UPDATE_FILE##IDS_PROGMSG_XML_UPDATE_FILE## - IS_SQLSERVER_AUTHENTICATION0 - IS_SQLSERVER_DATABASE - IS_SQLSERVER_PASSWORD - IS_SQLSERVER_SERVER - IS_SQLSERVER_USERNAMEsa - InstallChoiceAR - LAUNCHPROGRAM1 - LAUNCHREADME1 - Manufacturer##COMPANY_NAME## - PIDKEY - PIDTemplate12345<###-%%%%%%%>@@@@@ - PROGMSG_IIS_CREATEAPPPOOL##IDS_PROGMSG_IIS_CREATEAPPPOOL## - PROGMSG_IIS_CREATEAPPPOOLS##IDS_PROGMSG_IIS_CREATEAPPPOOLS## - PROGMSG_IIS_CREATEVROOT##IDS_PROGMSG_IIS_CREATEVROOT## - PROGMSG_IIS_CREATEVROOTS##IDS_PROGMSG_IIS_CREATEVROOTS## - PROGMSG_IIS_CREATEWEBSERVICEEXTENSION##IDS_PROGMSG_IIS_CREATEWEBSERVICEEXTENSION## - PROGMSG_IIS_CREATEWEBSERVICEEXTENSIONS##IDS_PROGMSG_IIS_CREATEWEBSERVICEEXTENSIONS## - PROGMSG_IIS_CREATEWEBSITE##IDS_PROGMSG_IIS_CREATEWEBSITE## - PROGMSG_IIS_CREATEWEBSITES##IDS_PROGMSG_IIS_CREATEWEBSITES## - PROGMSG_IIS_EXTRACT##IDS_PROGMSG_IIS_EXTRACT## - PROGMSG_IIS_EXTRACTDONE##IDS_PROGMSG_IIS_EXTRACTDONE## - PROGMSG_IIS_EXTRACTDONEz##IDS_PROGMSG_IIS_EXTRACTDONE## - PROGMSG_IIS_EXTRACTzDONE##IDS_PROGMSG_IIS_EXTRACTDONE## - PROGMSG_IIS_REMOVEAPPPOOL##IDS_PROGMSG_IIS_REMOVEAPPPOOL## - PROGMSG_IIS_REMOVEAPPPOOLS##IDS_PROGMSG_IIS_REMOVEAPPPOOLS## - PROGMSG_IIS_REMOVESITE##IDS_PROGMSG_IIS_REMOVESITE## - PROGMSG_IIS_REMOVEVROOT##IDS_PROGMSG_IIS_REMOVEVROOT## - PROGMSG_IIS_REMOVEVROOTS##IDS_PROGMSG_IIS_REMOVEVROOTS## - PROGMSG_IIS_REMOVEWEBSERVICEEXTENSION##IDS_PROGMSG_IIS_REMOVEWEBSERVICEEXTENSION## - PROGMSG_IIS_REMOVEWEBSERVICEEXTENSIONS##IDS_PROGMSG_IIS_REMOVEWEBSERVICEEXTENSIONS## - PROGMSG_IIS_REMOVEWEBSITES##IDS_PROGMSG_IIS_REMOVEWEBSITES## - PROGMSG_IIS_ROLLBACKAPPPOOLS##IDS_PROGMSG_IIS_ROLLBACKAPPPOOLS## - PROGMSG_IIS_ROLLBACKVROOTS##IDS_PROGMSG_IIS_ROLLBACKVROOTS## - PROGMSG_IIS_ROLLBACKWEBSERVICEEXTENSIONS##IDS_PROGMSG_IIS_ROLLBACKWEBSERVICEEXTENSIONS## - ProductCode{A920FB5E-591B-4537-901D-7D0303088884} - ProductNameKylinODBCDriver (x86) - ProductVersion0.6.1000 - ProgressType0install - ProgressType1Installing - ProgressType2installed - ProgressType3installs - RebootYesNoYes - ReinstallFileVersiono - ReinstallModeTextomus - ReinstallRepairr - RestartManagerOptionCloseRestart - SERIALNUMBER - SERIALNUMVALSUCCESSRETVAL1 - SecureCustomPropertiesISFOUNDNEWERPRODUCTVERSION;USERNAME;COMPANYNAME;ISX_SERIALNUM;SUPPORTDIR - SelectedSetupType##IDS__DisplayName_Typical## - SetupTypeTypical - UpgradeCode{F96098D5-A754-42DE-920D-29AAF8551408} - _IsMaintenanceChange - _IsSetupTypeMinTypical -
- - - ComponentId - Qualifier - Component_ - AppData - Feature_ -
- - - Property - Order - Value - X - Y - Width - Height - Text - Help - ISControlId -
AgreeToLicense1No01529115##IDS__AgreeToLicense_0## - AgreeToLicense2Yes0029115##IDS__AgreeToLicense_1## - ApplicationUsers1AllUsers1729014##IDS__IsRegisterUserDlg_Anyone## - ApplicationUsers2OnlyCurrentUser12329014##IDS__IsRegisterUserDlg_OnlyMe## - RestartManagerOption1CloseRestart6933114##IDS__IsMsiRMFilesInUse_CloseRestart## - RestartManagerOption2Reboot62133114##IDS__IsMsiRMFilesInUse_RebootAfter## - _IsMaintenance1Change0029014##IDS__IsMaintenanceDlg_Modify## - _IsMaintenance2Reinstall06029014##IDS__IsMaintenanceDlg_Repair## - _IsMaintenance3Remove012029014##IDS__IsMaintenanceDlg_Remove## - _IsSetupTypeMin1Typical1626414##IDS__IsSetupTypeMinDlg_Typical## -
- - - Signature_ - Root - Key - Name - Type -
- - - Registry - Root - Key - Name - Value - Component_ - ISAttributes - - - - - - -
Registry12SOFTWARE\ODBC\ODBCINST.INI\KylinODBCDriverDir[INSTALLDIR]ISX_DEFAULTCOMPONENT10Registry22SOFTWARE\ODBC\ODBCINST.INI\ODBC DriversKylinODBCDriverInstalledISX_DEFAULTCOMPONENT10Registry32SOFTWARE\ODBC\ODBCINST.INI\KylinODBCDriverSetup[INSTALLDIR]driver.dllISX_DEFAULTCOMPONENT10Registry42SOFTWARE\ODBC\ODBCINST.INI\KylinODBCDriverDriver[INSTALLDIR]driver.dllISX_DEFAULTCOMPONENT10Registry52SOFTWARE\ODBC\ODBCINST.INI\KylinODBCDriverUsageCount#1ISX_DEFAULTCOMPONENT10Registry62SOFTWARE\ODBC\ODBCINST.INI\KylinODBCDriverLogLevel#1ISX_DEFAULTCOMPONENT10
- - - FileKey - Component_ - FileName - DirProperty - InstallMode -
- - - RemoveIniFile - FileName - DirProperty - Section - Key - Value - Action - Component_ -
- - - RemoveRegistry - Root - Key - Name - Component_ -
- - - ReserveKey - Component_ - ReserveFolder - ReserveLocal - ReserveSource -
- - - SFPCatalog - Catalog - Dependency -
- - - File_ - Cost -
- - - ServiceControl - Name - Event - Arguments - Wait - Component_ -
- - - ServiceInstall - Name - DisplayName - ServiceType - StartType - ErrorControl - LoadOrderGroup - Dependencies - StartName - Password - Arguments - Component_ - Description -
- - - Shortcut - Directory_ - Name - Component_ - Target - Arguments - Description - Hotkey - Icon_ - IconIndex - ShowCmd - WkDir - DisplayResourceDLL - DisplayResourceId - DescriptionResourceDLL - DescriptionResourceId - ISComments - ISShortcutName - ISAttributes -
- - - Signature - FileName - MinVersion - MaxVersion - MinSize - MaxSize - MinDate - MaxDate - Languages -
- - - TextStyle - FaceName - Size - Color - StyleBits - - - - - - - -
Arial8Arial8 - Arial9Arial9 - ArialBlue10Arial1016711680 - ArialBlueStrike10Arial10167116808CourierNew8Courier New8 - CourierNew9Courier New9 - ExpressDefaultTahoma8 - MSGothic9MS Gothic9 - MSSGreySerif8MS Sans Serif88421504 - MSSWhiteSerif8Tahoma816777215 - MSSansBold8Tahoma81MSSansSerif8MS Sans Serif8 - MSSansSerif9MS Sans Serif9 - Tahoma10Tahoma10 - Tahoma8Tahoma8 - Tahoma9Tahoma9 - TahomaBold10Tahoma101TahomaBold8Tahoma81Times8Times New Roman8 - Times9Times New Roman9 - TimesItalic12Times New Roman122TimesItalicBlue10Times New Roman10167116802TimesRed16Times New Roman16255 - VerdanaBold14Verdana131
- - - LibID - Language - Component_ - Version - Description - Directory_ - Feature_ - Cost -
- - - Key - Text - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AbsentPath - GB##IDS_UITEXT_GB##KB##IDS_UITEXT_KB##MB##IDS_UITEXT_MB##MenuAbsent##IDS_UITEXT_FeatureNotAvailable##MenuAdvertise##IDS_UITEXT_FeatureInstalledWhenRequired2##MenuAllCD##IDS_UITEXT_FeatureInstalledCD##MenuAllLocal##IDS_UITEXT_FeatureInstalledLocal##MenuAllNetwork##IDS_UITEXT_FeatureInstalledNetwork##MenuCD##IDS_UITEXT_FeatureInstalledCD2##MenuLocal##IDS_UITEXT_FeatureInstalledLocal2##MenuNetwork##IDS_UITEXT_FeatureInstalledNetwork2##NewFolder##IDS_UITEXT_Folder##SelAbsentAbsent##IDS_UITEXT_GB##SelAbsentAdvertise##IDS_UITEXT_FeatureInstalledWhenRequired##SelAbsentCD##IDS_UITEXT_FeatureOnCD##SelAbsentLocal##IDS_UITEXT_FeatureLocal##SelAbsentNetwork##IDS_UITEXT_FeatureNetwork##SelAdvertiseAbsent##IDS_UITEXT_FeatureUnavailable##SelAdvertiseAdvertise##IDS_UITEXT_FeatureInstalledRequired##SelAdvertiseCD##IDS_UITEXT_FeatureOnCD2##SelAdvertiseLocal##IDS_UITEXT_FeatureLocal2##SelAdvertiseNetwork##IDS_UITEXT_FeatureNetwork2##SelCDAbsent##IDS_UITEXT_FeatureWillBeUninstalled##SelCDAdvertise##IDS_UITEXT_FeatureWasCD##SelCDCD##IDS_UITEXT_FeatureRunFromCD##SelCDLocal##IDS_UITEXT_FeatureWasCDLocal##SelChildCostNeg##IDS_UITEXT_FeatureFreeSpace##SelChildCostPos##IDS_UITEXT_FeatureRequiredSpace##SelCostPending##IDS_UITEXT_CompilingFeaturesCost##SelLocalAbsent##IDS_UITEXT_FeatureCompletelyRemoved##SelLocalAdvertise##IDS_UITEXT_FeatureRemovedUnlessRequired##SelLocalCD##IDS_UITEXT_FeatureRemovedCD##SelLocalLocal##IDS_UITEXT_FeatureRemainLocal##SelLocalNetwork##IDS_UITEXT_FeatureRemoveNetwork##SelNetworkAbsent##IDS_UITEXT_FeatureUninstallNoNetwork##SelNetworkAdvertise##IDS_UITEXT_FeatureWasOnNetworkInstalled##SelNetworkLocal##IDS_UITEXT_FeatureWasOnNetworkLocal##SelNetworkNetwork##IDS_UITEXT_FeatureContinueNetwork##SelParentCostNegNeg##IDS_UITEXT_FeatureSpaceFree##SelParentCostNegPos##IDS_UITEXT_FeatureSpaceFree2##SelParentCostPosNeg##IDS_UITEXT_FeatureSpaceFree3##SelParentCostPosPos##IDS_UITEXT_FeatureSpaceFree4##TimeRemaining##IDS_UITEXT_TimeRemaining##VolumeCostAvailable##IDS_UITEXT_Available##VolumeCostDifference##IDS_UITEXT_Differences##VolumeCostRequired##IDS_UITEXT_Required##VolumeCostSize##IDS_UITEXT_DiskSize##VolumeCostVolume##IDS_UITEXT_Volume##bytes##IDS_UITEXT_Bytes##
- - - UpgradeCode - VersionMin - VersionMax - Language - Attributes - Remove - ActionProperty - ISDisplayName - -
{00000000-0000-0000-0000-000000000000}***ALL_VERSIONS***2ISFOUNDNEWERPRODUCTVERSIONISPreventDowngrade
- - - Extension_ - Verb - Sequence - Command - Argument -
- - - Table - Column - Nullable - MinValue - MaxValue - KeyTable - KeyColumn - Category - Set - Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ActionTextActionNIdentifierName of action to be described.ActionTextDescriptionYTextLocalized description displayed in progress dialog and log when action is executing.ActionTextTemplateYTemplateOptional localized format template used to format action data records for display during action execution.AdminExecuteSequenceActionNIdentifierName of action to invoke, either in the engine or the handler DLL.AdminExecuteSequenceConditionYConditionOptional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.AdminExecuteSequenceISAttributesYThis is used to store MM Custom Action TypesAdminExecuteSequenceISCommentsYTextAuthor’s comments on this Sequence.AdminExecuteSequenceSequenceY-432767Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action.AdminUISequenceActionNIdentifierName of action to invoke, either in the engine or the handler DLL.AdminUISequenceConditionYConditionOptional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.AdminUISequenceISAttributesYThis is used to store MM Custom Action TypesAdminUISequenceISCommentsYTextAuthor’s comments on this Sequence.AdminUISequenceSequenceY-432767Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action.AdvtExecuteSequenceActionNIdentifierName of action to invoke, either in the engine or the handler DLL.AdvtExecuteSequenceConditionYConditionOptional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.AdvtExecuteSequenceISAttributesYThis is used to store MM Custom Action TypesAdvtExecuteSequenceISCommentsYTextAuthor’s comments on this Sequence.AdvtExecuteSequenceSequenceY-432767Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action.AdvtUISequenceActionNIdentifierName of action to invoke, either in the engine or the handler DLL.AdvtUISequenceConditionYConditionOptional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.AdvtUISequenceISAttributesYThis is used to store MM Custom Action TypesAdvtUISequenceISCommentsYTextAuthor’s comments on this Sequence.AdvtUISequenceSequenceY-432767Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action.AppIdActivateAtStorageY01 - AppIdAppIdNGuid - AppIdDllSurrogateYText - AppIdLocalServiceYText - AppIdRemoteServerNameYFormatted - AppIdRunAsInteractiveUserY01 - AppIdServiceParametersYText - AppSearchPropertyNIdentifierThe property associated with a SignatureAppSearchSignature_NISXmlLocator;Signature1IdentifierThe Signature_ represents a unique file signature and is also the foreign key in the Signature, RegLocator, IniLocator, CompLocator and the DrLocator tables.BBControlAttributesY02147483647A 32-bit word that specifies the attribute flags to be applied to this control.BBControlBBControlNIdentifierName of the control. This name must be unique within a billboard, but can repeat on different billboard.BBControlBillboard_NBillboard1IdentifierExternal key to the Billboard table, name of the billboard.BBControlHeightN032767Height of the bounding rectangle of the control.BBControlTextYTextA string used to set the initial text contained within a control (if appropriate).BBControlTypeNIdentifierThe type of the control.BBControlWidthN032767Width of the bounding rectangle of the control.BBControlXN032767Horizontal coordinate of the upper left corner of the bounding rectangle of the control.BBControlYN032767Vertical coordinate of the upper left corner of the bounding rectangle of the control.BillboardActionYIdentifierThe name of an action. The billboard is displayed during the progress messages received from this action.BillboardBillboardNIdentifierName of the billboard.BillboardFeature_NFeature1IdentifierAn external key to the Feature Table. The billboard is shown only if this feature is being installed.BillboardOrderingY032767A positive integer. If there is more than one billboard corresponding to an action they will be shown in the order defined by this column.BinaryDataYBinaryBinary stream. The binary icon data in PE (.DLL or .EXE) or icon (.ICO) format.BinaryISBuildSourcePathYTextFull path to the ICO or EXE file.BinaryNameNIdentifierUnique key identifying the binary data.BindImageFile_NFile1IdentifierThe index into the File table. This must be an executable file.BindImagePathYPathsA list of ; delimited paths that represent the paths to be searched for the import DLLS. The list is usually a list of properties each enclosed within square brackets [] .CCPSearchSignature_NSignature1IdentifierThe Signature_ represents a unique file signature and is also the foreign key in the Signature, RegLocator, IniLocator, CompLocator and the DrLocator tables.CheckBoxPropertyNIdentifierA named property to be tied to the item.CheckBoxValueYFormattedThe value string associated with the item.ClassAppId_YAppId1GuidOptional AppID containing DCOM information for associated application (string GUID).ClassArgumentYFormattedoptional argument for LocalServers.ClassAttributesY32767Class registration attributes.ClassCLSIDNGuidThe CLSID of an OLE factory.ClassComponent_NComponent1IdentifierRequired foreign key into the Component Table, specifying the component for which to return a path when called through LocateComponent.ClassContextNIdentifierThe numeric server context for this server. CLSCTX_xxxxClassDefInprocHandlerYText1;2;3Optional default inproc handler. Only optionally provided if Context=CLSCTX_LOCAL_SERVER. Typically "ole32.dll" or "mapi32.dll"ClassDescriptionYTextLocalized description for the Class.ClassFeature_NFeature1IdentifierRequired foreign key into the Feature Table, specifying the feature to validate or install in order for the CLSID factory to be operational.ClassFileTypeMaskYTextOptional string containing information for the HKCRthis CLSID) key. If multiple patterns exist, they must be delimited by a semicolon, and numeric subkeys will be generated: 0,1,2...ClassIconIndexY-3276732767Optional icon index.ClassIcon_YIcon1IdentifierOptional foreign key into the Icon Table, specifying the icon file associated with this CLSID. Will be written under the DefaultIcon key.ClassProgId_DefaultYProgId1TextOptional ProgId associated with this CLSID.ComboBoxOrderN132767A positive integer used to determine the ordering of the items within one list. The integers do not have to be consecutive.ComboBoxPropertyNIdentifierA named property to be tied to this item. All the items tied to the same property become part of the same combobox.ComboBoxTextYFormattedThe visible text to be assigned to the item. Optional. If this entry or the entire column is missing, the text is the same as the value.ComboBoxValueNFormattedThe value string associated with this item. Selecting the line will set the associated property to this value.CompLocatorComponentIdNGuidA string GUID unique to this component, version, and language.CompLocatorSignature_NSignature1IdentifierThe table key. The Signature_ represents a unique file signature and is also the foreign key in the Signature table.CompLocatorTypeY01A boolean value that determines if the registry value is a filename or a directory location.ComplusComponent_NComponent1IdentifierForeign key referencing Component that controls the ComPlus component.ComplusExpTypeY032767ComPlus component attributes.ComponentAttributesNRemote execution option, one of irsEnumComponentComponentNIdentifierPrimary key used to identify a particular component record.ComponentComponentIdYGuidA string GUID unique to this component, version, and language.ComponentConditionYConditionA conditional statement that will disable this component if the specified condition evaluates to the 'True' state. If a component is disabled, it will not be installed, regardless of the 'Action' state associated with the component.ComponentDirectory_NDirectory1IdentifierRequired key of a Directory table record. This is actually a property name whose value contains the actual path, set either by the AppSearch action or with the default setting obtained from the Directory table.ComponentISAttributesYThis is used to store Installshield custom properties of a component.ComponentISCommentsYTextUser Comments.ComponentISDotNetInstallerArgsCommitYTextArguments passed to the key file of the component if if implements the .NET Installer classComponentISDotNetInstallerArgsInstallYTextArguments passed to the key file of the component if if implements the .NET Installer classComponentISDotNetInstallerArgsRollbackYTextArguments passed to the key file of the component if if implements the .NET Installer classComponentISDotNetInstallerArgsUninstallYTextArguments passed to the key file of the component if if implements the .NET Installer classComponentISRegFileToMergeAtBuildYTextPath and File name of a .REG file to merge into the component at build time.ComponentISScanAtBuildFileYTextFile used by the Dot Net scanner to populate dependant assemblies' File_Application field.ComponentKeyPathYFile;ODBCDataSource;Registry1IdentifierEither the primary key into the File table, Registry table, or ODBCDataSource table. This extract path is stored when the component is installed, and is used to detect the presence of the component and to return the path to it.ConditionConditionYConditionExpression evaluated to determine if Level in the Feature table is to change.ConditionFeature_NFeature1IdentifierReference to a Feature entry in Feature table.ConditionLevelN032767New selection Level to set in Feature table if Condition evaluates to TRUE.ControlAttributesY02147483647A 32-bit word that specifies the attribute flags to be applied to this control.ControlBinary_YBinary1IdentifierExternal key to the Binary table.ControlControlNIdentifierName of the control. This name must be unique within a dialog, but can repeat on different dialogs.ControlControl_NextYControl2IdentifierThe name of an other control on the same dialog. This link defines the tab order of the controls. The links have to form one or more cycles!ControlDialog_NDialog1IdentifierExternal key to the Dialog table, name of the dialog.ControlHeightN032767Height of the bounding rectangle of the control.ControlHelpYTextThe help strings used with the button. The text is optional.ControlISBuildSourcePathYTextFull path to .rtf file for scrollable text controlControlISControlIdYA number used to represent the control ID of the Control, Used in Dialog exportControlISWindowStyleY02147483647A 32-bit word that specifies non-MSI window styles to be applied to this control.ControlPropertyYIdentifierThe name of a defined property to be linked to this control.ControlTextYFormattedA string used to set the initial text contained within a control (if appropriate).ControlTypeNIdentifierThe type of the control.ControlWidthN032767Width of the bounding rectangle of the control.ControlXN032767Horizontal coordinate of the upper left corner of the bounding rectangle of the control.ControlYN032767Vertical coordinate of the upper left corner of the bounding rectangle of the control.ControlConditionActionNDefault;Disable;Enable;Hide;ShowThe desired action to be taken on the specified control.ControlConditionConditionNConditionA standard conditional statement that specifies under which conditions the action should be triggered.ControlConditionControl_NControl2IdentifierA foreign key to the Control table, name of the control.ControlConditionDialog_NDialog1IdentifierA foreign key to the Dialog table, name of the dialog.ControlEventArgumentNFormattedA value to be used as a modifier when triggering a particular event.ControlEventConditionYConditionA standard conditional statement that specifies under which conditions an event should be triggered.ControlEventControl_NControl2IdentifierA foreign key to the Control table, name of the controlControlEventDialog_NDialog1IdentifierA foreign key to the Dialog table, name of the dialog.ControlEventEventNFormattedAn identifier that specifies the type of the event that should take place when the user interacts with control specified by the first two entries.ControlEventOrderingY02147483647An integer used to order several events tied to the same control. Can be left blank.CreateFolderComponent_NComponent1IdentifierForeign key into the Component table.CreateFolderDirectory_NDirectory1IdentifierPrimary key, could be foreign key into the Directory table.CustomActionActionNIdentifierPrimary key, name of action, normally appears in sequence table unless private use.CustomActionExtendedTypeY02147483647The numeric custom action type info flags.CustomActionISCommentsYTextAuthor’s comments for this custom action.CustomActionSourceYCustomSourceThe table reference of the source of the code.CustomActionTargetYISDLLWrapper;ISInstallScriptAction1FormattedExcecution parameter, depends on the type of custom actionCustomActionTypeN132767The numeric custom action type, consisting of source location, code type, entry, option flags.DialogAttributesY02147483647A 32-bit word that specifies the attribute flags to be applied to this dialog.DialogControl_CancelYControl2IdentifierDefines the cancel control. Hitting escape or clicking on the close icon on the dialog is equivalent to pushing this button.DialogControl_DefaultYControl2IdentifierDefines the default control. Hitting return is equivalent to pushing this button.DialogControl_FirstNControl2IdentifierDefines the control that has the focus when the dialog is created.DialogDialogNIdentifierName of the dialog.DialogHCenteringN0100Horizontal position of the dialog on a 0-100 scale. 0 means left end, 100 means right end of the screen, 50 center.DialogHeightN032767Height of the bounding rectangle of the dialog.DialogISCommentsYTextAuthor’s comments for this dialog.DialogISResourceIdYA Number the Specifies the Dialog ID to be used in Dialog ExportDialogISWindowStyleYA 32-bit word that specifies non-MSI window styles to be applied to this control. This is only used in Script Based Setups.DialogTextStyle_YIdentifierForeign Key into TextStyle table, only used in Script Based Projects.DialogTitleYFormattedA text string specifying the title to be displayed in the title bar of the dialog's window.DialogVCenteringN0100Vertical position of the dialog on a 0-100 scale. 0 means top end, 100 means bottom end of the screen, 50 center.DialogWidthN032767Width of the bounding rectangle of the dialog.DirectoryDefaultDirNTextThe default sub-path under parent's path.DirectoryDirectoryNIdentifierUnique identifier for directory entry, primary key. If a property by this name is defined, it contains the full path to the directory.DirectoryDirectory_ParentYDirectory1IdentifierReference to the entry in this table specifying the default parent directory. A record parented to itself or with a Null parent represents a root of the install tree.DirectoryISAttributesY0;1;2;3;4;5;6;7This is used to store Installshield custom properties of a directory. Currently the only one is Shortcut.DirectoryISDescriptionYTextDescription of folderDirectoryISFolderNameYTextThis is used in Pro projects because the pro identifier used in the tree wasn't necessarily unique.DrLocatorDepthY032767The depth below the path to which the Signature_ is recursively searched. If absent, the depth is assumed to be 0.DrLocatorParentYIdentifierThe parent file signature. It is also a foreign key in the Signature table. If null and the Path column does not expand to a full path, then all the fixed drives of the user system are searched using the Path.DrLocatorPathYAnyPathThe path on the user system. This is a either a subpath below the value of the Parent or a full path. The path may contain properties enclosed within [ ] that will be expanded.DrLocatorSignature_NSignature1IdentifierThe Signature_ represents a unique file signature and is also the foreign key in the Signature table.DuplicateFileComponent_NComponent1IdentifierForeign key referencing Component that controls the duplicate file.DuplicateFileDestFolderYIdentifierName of a property whose value is assumed to resolve to the full pathname to a destination folder.DuplicateFileDestNameYTextFilename to be given to the duplicate file.DuplicateFileFileKeyNIdentifierPrimary key used to identify a particular file entryDuplicateFileFile_NFile1IdentifierForeign key referencing the source file to be duplicated.EnvironmentComponent_NComponent1IdentifierForeign key into the Component table referencing component that controls the installing of the environmental value.EnvironmentEnvironmentNIdentifierUnique identifier for the environmental variable settingEnvironmentNameNTextThe name of the environmental value.EnvironmentValueYFormattedThe value to set in the environmental settings.ErrorErrorN032767Integer error number, obtained from header file IError(...) macros.ErrorMessageYTemplateError formatting template, obtained from user ed. or localizers.EventMappingAttributeNIdentifierThe name of the control attribute, that is set when this event is received.EventMappingControl_NControl2IdentifierA foreign key to the Control table, name of the control.EventMappingDialog_NDialog1IdentifierA foreign key to the Dialog table, name of the Dialog.EventMappingEventNIdentifierAn identifier that specifies the type of the event that the control subscribes to.ExtensionComponent_NComponent1IdentifierRequired foreign key into the Component Table, specifying the component for which to return a path when called through LocateComponent.ExtensionExtensionNTextThe extension associated with the table row.ExtensionFeature_NFeature1IdentifierRequired foreign key into the Feature Table, specifying the feature to validate or install in order for the CLSID factory to be operational.ExtensionMIME_YMIME1TextOptional Context identifier, typically "type/format" associated with the extensionExtensionProgId_YProgId1TextOptional ProgId associated with this extension.FeatureAttributesN0;1;2;4;5;6;8;9;10;16;17;18;20;21;22;24;25;26;32;33;34;36;37;38;48;49;50;52;53;54Feature attributesFeatureDescriptionYTextLonger descriptive text describing a visible feature item.FeatureDirectory_YDirectory1UpperCaseThe name of the Directory that can be configured by the UI. A non-null value will enable the browse button.FeatureDisplayY032767Numeric sort order, used to force a specific display ordering.FeatureFeatureNIdentifierPrimary key used to identify a particular feature record.FeatureFeature_ParentYFeature1IdentifierOptional key of a parent record in the same table. If the parent is not selected, then the record will not be installed. Null indicates a root item.FeatureISCommentsYCommentsFeatureISFeatureCabNameYName of CAB used when compressing CABs by Feature. Used to override build generated name for CAB file.FeatureISProFeatureNameYTextThe name of the feature used by pro projects. This doesn't have to be unique.FeatureISReleaseFlagsYRelease Flags that specify whether this feature will be built in a particular release.FeatureLevelN032767The install level at which record will be initially selected. An install level of 0 will disable an item and prevent its display.FeatureTitleYTextShort text identifying a visible feature item.FeatureComponentsComponent_NComponent1IdentifierForeign key into Component table.FeatureComponentsFeature_NFeature1IdentifierForeign key into Feature table.FileAttributesY032767Integer containing bit flags representing file attributes (with the decimal value of each bit position in parentheses)FileComponent_NComponent1IdentifierForeign key referencing Component that controls the file.FileFileNIdentifierPrimary key, non-localized token, must match identifier in cabinet. For uncompressed files, this field is ignored.FileFileNameNTextFile name used for installation. This may contain a "short name|long name" pair. It may be just a long name, hence it cannot be of the Filename data type.FileFileSizeN02147483647Size of file in bytes (long integer).FileISAttributesY02147483647This field contains the following attributes: UseSystemSettings(0x1)FileISBuildSourcePathYTextFull path, the category is of Text instead of Path because of potential use of path variables.FileISComponentSubFolder_YIdentifierForeign key referencing component subfolder containing this file. Only for Pro.FileLanguageYLanguageList of decimal language Ids, comma-separated if more than one.FileSequenceN132767Sequence with respect to the media images; order must track cabinet order.FileVersionYFile1VersionVersion string for versioned files; Blank for unversioned files.FileSFPCatalogFile_NFile1IdentifierFile associated with the catalogFileSFPCatalogSFPCatalog_NSFPCatalog1TextCatalog associated with the fileFontFile_NFile1IdentifierPrimary key, foreign key into File table referencing font file.FontFontTitleYTextFont name.ISAssistantTagDataY - ISAssistantTagTagN - ISBillBoardColorY - ISBillBoardDisplayNameY - ISBillBoardDurationN032767 - ISBillBoardEffectN032767 - ISBillBoardFontY - ISBillBoardISBillboardN - ISBillBoardOriginN032767 - ISBillBoardSequenceN-3276732767 - ISBillBoardStyleY - ISBillBoardTargetN032767 - ISBillBoardTitleY - ISBillBoardXN032767 - ISBillBoardYN032767 - ISChainPackageDisplayNameYTextDisplay name for the chained package. Used only in the IDE.ISChainPackageISReleaseFlagsY - ISChainPackageInstallConditionYCondition - ISChainPackageInstallPropertiesYFormatted - ISChainPackageOptionsNInteger - ISChainPackageOrderNInteger - ISChainPackagePackageNIdentifier - ISChainPackageProductCodeY - ISChainPackageRemoveConditionYCondition - ISChainPackageRemovePropertiesYFormatted - ISChainPackageSourcePathY - ISChainPackageDataDataYBinaryBinary stream. The binary icon data in PE (.DLL or .EXE) or icon (.ICO) format.ISChainPackageDataFileNIdentifier - ISChainPackageDataFilePathNFormatted - ISChainPackageDataISBuildSourcePathYTextFull path to the ICO or EXE file.ISChainPackageDataOptionsY - ISChainPackageDataPackage_NISChainPackage1Identifier - ISClrWrapAction_NCustomAction1IdentifierForeign key into CustomAction tableISClrWrapNameNTextProperty associated with this ActionISClrWrapValueYTextValue associated with this PropertyISComCatalogAttributeISComCatalogObject_NISComCatalogObject1IdentifierForeign key into the ISComCatalogObject table.ISComCatalogAttributeItemNameNTextThe named attribute for a catalog object.ISComCatalogAttributeItemValueYTextA value associated with the attribute defined in the ItemName column.ISComCatalogCollectionCollectionNameNTextA catalog collection name.ISComCatalogCollectionISComCatalogCollectionNIdentifierA unique key for the ISComCatalogCollection table.ISComCatalogCollectionISComCatalogObject_NISComCatalogObject1IdentifierForeign key into the ISComCatalogObject table.ISComCatalogCollectionObjectsISComCatalogCollection_NISComCatalogCollection1IdentifierA unique key for the ISComCatalogCollection table.ISComCatalogCollectionObjectsISComCatalogObject_NISComCatalogObject1IdentifierForeign key into the ISComCatalogObject table.ISComCatalogObjectDisplayNameNThe display name of a catalog object.ISComCatalogObjectISComCatalogObjectNIdentifierA unique key for the ISComCatalogObject table.ISComPlusApplicationComponent_NComponent1IdentifierForeign key into the Component table that a COM+ application belongs to.ISComPlusApplicationComputerNameYTextComputer name that a COM+ application belongs to.ISComPlusApplicationDepFilesYTextList of the dependent files.ISComPlusApplicationISAttributesYInstallShield custom attributes associated with a COM+ application.ISComPlusApplicationISComCatalogObject_NISComCatalogObject1IdentifierForeign key into the ISComCatalogObject table.ISComPlusApplicationDLLAlterDLLYTextAlternate filename of the COM+ application component. Will be used for a .NET serviced component.ISComPlusApplicationDLLCLSIDNTextCLSID of the COM+ application component.ISComPlusApplicationDLLDLLYTextFilename of the COM+ application component.ISComPlusApplicationDLLISComCatalogObject_NISComCatalogObject1IdentifierForeign key into the ISComCatalogObject table.ISComPlusApplicationDLLISComPlusApplicationDLLNIdentifierA unique key for the ISComPlusApplicationDLL table.ISComPlusApplicationDLLISComPlusApplication_NISComPlusApplication1IdentifierForeign key into the ISComPlusApplication table.ISComPlusApplicationDLLProgIdYTextProgId of the COM+ application component.ISComPlusProxyComponent_YComponent1IdentifierForeign key into the Component table that a COM+ application proxy belongs to.ISComPlusProxyDepFilesYTextList of the dependent files.ISComPlusProxyISAttributesYInstallShield custom attributes associated with a COM+ application proxy.ISComPlusProxyISComPlusApplication_NISComPlusApplication1IdentifierForeign key into the ISComPlusApplication table that a COM+ application proxy belongs to.ISComPlusProxyISComPlusProxyNIdentifierA unique key for the ISComPlusProxy table.ISComPlusProxyDepFileFile_NFile1IdentifierForeign key into the File table.ISComPlusProxyDepFileISComPlusApplication_NISComPlusApplication1IdentifierForeign key into the ISComPlusApplication table.ISComPlusProxyDepFileISPathYTextFull path of the dependent file.ISComPlusProxyFileFile_NFile1IdentifierForeign key into the File table.ISComPlusProxyFileISComPlusApplicationDLL_NISComPlusApplicationDLL1IdentifierForeign key into the ISComPlusApplicationDLL table.ISComPlusServerDepFileFile_NFile1IdentifierForeign key into the File table.ISComPlusServerDepFileISComPlusApplication_NISComPlusApplication1IdentifierForeign key into the ISComPlusApplication table.ISComPlusServerDepFileISPathYTextFull path of the dependent file.ISComPlusServerFileFile_NFile1IdentifierForeign key into the File table.ISComPlusServerFileISComPlusApplicationDLL_NISComPlusApplicationDLL1IdentifierForeign key into the ISComPlusApplicationDLL table.ISComponentExtendedComponent_NComponent1IdentifierPrimary key used to identify a particular component record.ISComponentExtendedFTPLocationYTextFTP LocationISComponentExtendedFilterPropertyNIdentifierProperty to set if you want to filter a componentISComponentExtendedHTTPLocationYTextHTTP LocationISComponentExtendedLanguageYTextLanguageISComponentExtendedMiscellaneousYTextMiscellaneousISComponentExtendedOSYbitwise addition of OSsISComponentExtendedPlatformsYbitwise addition of Platforms.ISCustomActionReferenceAction_NCustomAction1IdentifierForeign key into theICustomAction table.ISCustomActionReferenceDescriptionYTextContents of the file speciifed in ISCAReferenceFilePath. This column is only used by MSI.ISCustomActionReferenceFileTypeYTextfile type of the file specified ISCAReferenceFilePath. This column is only used by MSI.ISCustomActionReferenceISCAReferenceFilePathYTextFull path, the category is of Text instead of Path because of potential use of path variables. This column only exists in ISM.ISDIMDependencyISDIMReference_NIdentifierThis is the primary key to the ISDIMDependency tableISDIMDependencyRequiredBuildVersionYTextthe build version identifying the required DIMISDIMDependencyRequiredMajorVersionYTextthe major version identifying the required DIMISDIMDependencyRequiredMinorVersionYTextthe minor version identifying the required DIMISDIMDependencyRequiredRevisionVersionYTextthe revision version identifying the required DIMISDIMDependencyRequiredUUIDNTextthe UUID identifying the required DIMISDIMReferenceISBuildSourcePathYTextFull path, the category is of Text instead of Path because of potential use of path variables.ISDIMReferenceISDIMReferenceNISDIMDependency1IdentifierThis is the primary key to the ISDIMReference tableISDIMReferenceDependenciesISDIMDependency_NISDIMDependency1IdentifierForeign key into ISDIMDependency table.ISDIMReferenceDependenciesISDIMReference_ParentNISDIMReference1IdentifierForeign key into ISDIMReference table.ISDIMVariableISDIMReference_NISDIMReference1IdentifierForeign key into ISDIMReference table.ISDIMVariableISDIMVariableNIdentifierThis is the primary key to the ISDIMVariable tableISDIMVariableNameNTextName of a variable defined in the .dim fileISDIMVariableNewValueYTextNew value that you want to override withISDIMVariableTypeYType of the variable. 0: Build Variable, 1: Runtime VariableISDLLWrapperEntryPointNTextThis is a foreign key to the target column in the CustomAction tableISDLLWrapperSourceNFormattedThis is column points to the source file for the DLLWrapper Custom ActionISDLLWrapperTargetNTextThe function signatureISDLLWrapperTypeYTypeISDRMFileFile_YFile1IdentifierForeign key into File table. A null value will cause a build warning.ISDRMFileISDRMFileNIdentifierUnique identifier for this item.ISDRMFileISDRMLicense_YISDRMLicense1IdentifierForeign key referencing License that packages this file.ISDRMFileShellNTextText indicating the activation shell used at runtime.ISDRMFileAttributeISDRMFile_NISDRMFile1IdentifierPrimary foreign key into ISDRMFile table.ISDRMFileAttributePropertyNTextThe name of the attributeISDRMFileAttributeValueYTextThe value of the attributeISDRMLicenseAttributesYNumberBitwise field used to specify binary attributes of this license.ISDRMLicenseDescriptionYTextAn internal description of this license.ISDRMLicenseISDRMLicenseNIdentifierUnique key identifying the license record.ISDRMLicenseLicenseNumberYTextThe license number.ISDRMLicenseProjectVersionYTextThe version of the project that this license is tied to.ISDRMLicenseRequestCodeYTextThe request code.ISDRMLicenseResponseCodeYTextThe response code.ISDependencyExcludeY - ISDependencyISDependencyY - ISDisk1FileDiskY-1;0;1Used to differentiate between disk1(1), last disk(-1), and other(0).ISDisk1FileISBuildSourcePathNTextFull path of file to be copied to Disk1 folderISDisk1FileISDisk1FileNIdentifierPrimary key for ISDisk1File tableISDynamicFileComponent_NComponent1IdentifierForeign key referencing Component that controls the file.ISDynamicFileExcludeFilesYTextWildcards for excluded files.ISDynamicFileISAttributesY0;1;2;3;4;5;6;7;8;9;10;11;12;13;14;15This is used to store Installshield custom properties of a dynamic filet. Currently the only one is SelfRegister.ISDynamicFileIncludeFilesYTextWildcards for included files.ISDynamicFileIncludeFlagsYInclude flags.ISDynamicFileSourceFolderNTextFull path, the category is of Text instead of Path because of potential use of path variables.ISFeatureDIMReferencesFeature_NFeature1IdentifierForeign key into Feature table.ISFeatureDIMReferencesISDIMReference_NISDIMReference1IdentifierForeign key into ISDIMReference table.ISFeatureMergeModuleExcludesFeature_NIdentifierForeign key into Feature table.ISFeatureMergeModuleExcludesLanguageNForeign key into ISMergeModule table.ISFeatureMergeModuleExcludesModuleIDNIdentifierForeign key into ISMergeModule table.ISFeatureMergeModulesFeature_NFeature1IdentifierForeign key into Feature table.ISFeatureMergeModulesISMergeModule_NISMergeModule1TextForeign key into ISMergeModule table.ISFeatureMergeModulesLanguage_NISMergeModule2Foreign key into ISMergeModule table.ISFeatureSetupPrerequisitesFeature_NFeature1IdentifierForeign key into Feature table.ISFeatureSetupPrerequisitesISSetupPrerequisites_NISSetupPrerequisites1 - ISFileManifestsFile_NIdentifierForeign key into File table.ISFileManifestsManifest_NIdentifierForeign key into File table.ISIISItemComponent_YComponent1IdentifierForeign key to Component table.ISIISItemDisplayNameYTextLocalizable Item Name.ISIISItemISIISItemNIdentifierPrimary key for each item.ISIISItemISIISItem_ParentYISIISItem1IdentifierThis record's parent record.ISIISItemTypeNIIS resource type.ISIISPropertyFriendlyNameYTextIIS property name.ISIISPropertyISAttributesYFlags.ISIISPropertyISIISItem_NISIISItem1IdentifierPrimary key for table, foreign key into ISIISItem.ISIISPropertyISIISPropertyNIdentifierPrimary key for table.ISIISPropertyMetaDataAttributesYIIS property attributes.ISIISPropertyMetaDataPropYIIS property ID.ISIISPropertyMetaDataTypeYIIS property data type.ISIISPropertyMetaDataUserTypeYIIS property user data type.ISIISPropertyMetaDataValueYTextIIS property value.ISIISPropertyOrderYOrder sequencing.ISIISPropertySchemaYTextIIS7 schema information.ISInstallScriptActionEntryPointNTextThis is a foreign key to the target column in the CustomAction tableISInstallScriptActionSourceNFormattedThis is column points to the source file for the DLLWrapper Custom ActionISInstallScriptActionTargetYTextThe function signatureISInstallScriptActionTypeYTypeISLanguageISLanguageNTextThis is the language ID.ISLanguageIncludedY0;1Specify whether this language should be included.ISLinkerLibraryISLinkerLibraryNIdentifierUnique identifier for the link library.ISLinkerLibraryLibraryNTextFull path of the object library (.obl file).ISLinkerLibraryOrderNOrder of the LibraryISLocalControlAttributesYA 32-bit word that specifies the attribute flags to be applied to this control.ISLocalControlBinary_YBinary1IdentifierExternal key to the Binary table.ISLocalControlControl_NControl2IdentifierName of the control. This name must be unique within a dialog, but can repeat on different dialogs.ISLocalControlDialog_NDialog1IdentifierExternal key to the Dialog table, name of the dialog.ISLocalControlHeightYHeight of the bounding rectangle of the control.ISLocalControlISBuildSourcePathYTextFull path to .rtf file for scrollable text controlISLocalControlISLanguage_NISLanguage1TextThis is a foreign key to the ISLanguage table.ISLocalControlWidthYWidth of the bounding rectangle of the control.ISLocalControlXYHorizontal coordinate of the upper left corner of the bounding rectangle of the control.ISLocalControlYYVertical coordinate of the upper left corner of the bounding rectangle of the control.ISLocalDialogAttributesYA 32-bit word that specifies the attribute flags to be applied to this dialog.ISLocalDialogDialog_YDialog1IdentifierName of the dialog.ISLocalDialogHeightN032767Height of the bounding rectangle of the dialog.ISLocalDialogISLanguage_YISLanguage1TextThis is a foreign key to the ISLanguage table.ISLocalDialogTextStyle_YIdentifierForeign Key into TextStyle table, only used in Script Based Projects.ISLocalDialogWidthN032767Width of the bounding rectangle of the dialog.ISLocalRadioButtonHeightN032767The height of the button.ISLocalRadioButtonISLanguage_NISLanguage1TextThis is a foreign key to the ISLanguage table.ISLocalRadioButtonOrderN132767RadioButton2A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive.ISLocalRadioButtonPropertyNRadioButton1IdentifierA named property to be tied to this radio button. All the buttons tied to the same property become part of the same group.ISLocalRadioButtonWidthN032767The width of the button.ISLocalRadioButtonXN032767The horizontal coordinate of the upper left corner of the bounding rectangle of the radio button.ISLocalRadioButtonYN032767The vertical coordinate of the upper left corner of the bounding rectangle of the radio button.ISLockPermissionsAttributesY-21474836472147483647Permissions attributes mask, 1==Deny access; 2==No inherit, 4==Ignore apply failures, 8==Target object is 64-bitISLockPermissionsDomainYTextDomain name for user whose permissions are being set.ISLockPermissionsLockObjectNIdentifierForeign key into CreateFolder, Registry, or File tableISLockPermissionsPermissionY-21474836472147483647Permission Access mask.ISLockPermissionsTableNIdentifierCreateFolder;File;RegistryReference to another table nameISLockPermissionsUserNTextUser for permissions to be set. This can be a property, hardcoded named, or SID stringISLogicalDiskCabinetYCabinetIf some or all of the files stored on the media are compressed in a cabinet, the name of that cabinet.ISLogicalDiskDiskIdN132767Primary key, integer to determine sort order for table.ISLogicalDiskDiskPromptYTextDisk name: the visible text actually printed on the disk. This will be used to prompt the user when this disk needs to be inserted.ISLogicalDiskISProductConfiguration_NISProductConfiguration1TextForeign key into the ISProductConfiguration table.ISLogicalDiskISRelease_NISRelease1TextForeign key into the ISRelease table.ISLogicalDiskLastSequenceN032767File sequence number for the last file for this media.ISLogicalDiskSourceYPropertyThe property defining the location of the cabinet file.ISLogicalDiskVolumeLabelYTextThe label attributed to the volume.ISLogicalDiskFeaturesFeature_YFeature1IdentifierRequired foreign key into the Feature Table,ISLogicalDiskFeaturesISAttributesYThis is used to store Installshield custom properties, like Compressed, etc.ISLogicalDiskFeaturesISLogicalDisk_N132767ISLogicalDisk1IdentifierForeign key into the ISLogicalDisk table.ISLogicalDiskFeaturesISProductConfiguration_NISProductConfiguration1TextForeign key into the ISProductConfiguration table.ISLogicalDiskFeaturesISRelease_NISRelease1TextForeign key into the ISRelease table.ISLogicalDiskFeaturesSequenceN032767File sequence number for the file for this media.ISMergeModuleDestinationYTextDestination.ISMergeModuleISAttributesYThis is used to store Installshield custom properties of a merge module.ISMergeModuleISMergeModuleNTextThe GUID identifying the merge module.ISMergeModuleLanguageNDefault decimal language of module.ISMergeModuleNameNTextName of the merge module.ISMergeModuleCfgValuesAttributesYAttributes (from configurable merge module)ISMergeModuleCfgValuesContextDataYTextContextData (from configurable merge module)ISMergeModuleCfgValuesDefaultValueYTextDefaultValue (from configurable merge module)ISMergeModuleCfgValuesDescriptionYTextDescription (from configurable merge module)ISMergeModuleCfgValuesDisplayNameYTextDisplayName (from configurable merge module)ISMergeModuleCfgValuesFormatNFormat (from configurable merge module)ISMergeModuleCfgValuesHelpKeywordYTextHelpKeyword (from configurable merge module)ISMergeModuleCfgValuesHelpLocationYTextHelpLocation (from configurable merge module)ISMergeModuleCfgValuesISMergeModule_NISMergeModule1TextThe module signature, a foreign key into the ISMergeModule tableISMergeModuleCfgValuesLanguage_NISMergeModule2Default decimal language of module.ISMergeModuleCfgValuesModuleConfiguration_NIdentifierIdentifier, foreign key into ModuleConfiguration table (ModuleConfiguration.Name)ISMergeModuleCfgValuesTypeYTextType (from configurable merge module)ISMergeModuleCfgValuesValueYTextValue for this item.ISObjectLanguageNText - ISObjectObjectNameNText - ISObjectPropertyIncludeInBuildYBoolean, 0 for false non 0 for trueISObjectPropertyObjectNameYISObject1Text - ISObjectPropertyPropertyYText - ISObjectPropertyValueYText - ISPatchConfigImagePatchConfiguration_YISPatchConfiguration1TextForeign key to the ISPatchConfigurationTableISPatchConfigImageUpgradedImage_NISUpgradedImage1TextForeign key to the ISUpgradedImageTableISPatchConfigurationAttributesYPatchConfiguration attributesISPatchConfigurationCanPCDifferNThis is determine whether Product Codes may differISPatchConfigurationCanPVDifferNThis is determine whether the Major Product Version may differISPatchConfigurationEnablePatchCacheNThis is determine whether to Enable Patch cacheingISPatchConfigurationFlagsNPatching API FlagsISPatchConfigurationIncludeWholeFilesNThis is determine whether to build a binary level patchISPatchConfigurationLeaveDecompressedNThis is determine whether to leave intermediate files devcompressed when finishedISPatchConfigurationMinMsiVersionNMinimum Required MSI VersionISPatchConfigurationNameNTextName of the Patch ConfigurationISPatchConfigurationOptimizeForSizeNThis is determine whether to Optimize for large filesISPatchConfigurationOutputPathNTextBuild LocationISPatchConfigurationPatchCacheDirYTextDirectory to recieve the Patch Cache informationISPatchConfigurationPatchGuidNTextUnique Patch IdentifierISPatchConfigurationPatchGuidsToReplaceYTextList Of Patch Guids to unregisterISPatchConfigurationTargetProductCodesNTextList Of target Product CodesISPatchConfigurationPropertyISPatchConfiguration_YISPatchConfiguration1TextName of the Patch ConfigurationISPatchConfigurationPropertyPropertyYTextName of the Patch Configuration Property valueISPatchConfigurationPropertyValueYTextValue of the Patch Configuration PropertyISPatchExternalFileFileKeyNTextFilekeyISPatchExternalFileFilePathNTextFilepathISPatchExternalFileISUpgradedImage_NISUpgradedImage1TextForeign key to the isupgraded image tableISPatchExternalFileNameNTextUniqu name to identify this record.ISPatchWholeFileComponentYTextComponent containing file keyISPatchWholeFileFileKeyNTextKey of file to be included as wholeISPatchWholeFileUpgradedImageNISUpgradedImage1TextForeign key to ISUpgradedImage TableISPathVariableISPathVariableNThe name of the path variable.ISPathVariableTestValueYTextThe test value of the path variable.ISPathVariableTypeN1;2;4;8The type of the path variable.ISPathVariableValueYTextThe value of the path variable.ISPowerShellWrapAction_NCustomAction1IdentifierForeign key into CustomAction tableISPowerShellWrapNameNTextProperty associated with this ActionISPowerShellWrapValueYTextValue associated with this PropertyISProductConfigurationGeneratePackageCodeYNumber0;1Indicates whether or not to generate a package code.ISProductConfigurationISProductConfigurationNTextThe name of the product configuration.ISProductConfigurationProductConfigurationFlagsYTextProduct configuration (release) flags.ISProductConfigurationInstanceISProductConfiguration_NISProductConfiguration1TextForeign key into the ISProductConfiguration table.ISProductConfigurationInstanceInstanceIdN032767Identifies the instance number of this instance. This value is stored in the Property InstanceId.ISProductConfigurationInstancePropertyNTextProduct Congiuration property nameISProductConfigurationInstanceValueNTextString value for property.ISProductConfigurationPropertyISProductConfiguration_NISProductConfiguration1TextForeign key into the ISProductConfiguration table.ISProductConfigurationPropertyPropertyNProperty1TextProduct Congiuration property nameISProductConfigurationPropertyValueYTextString value for property. Never null or empty.ISReleaseAttributesNBitfield holding boolean values for various release attributes.ISReleaseBuildLocationNTextBuild location.ISReleaseCDBrowserYTextDemoshield browser location.ISReleaseDefaultLanguageNTextDefault language for setup.ISReleaseDigitalPVKYTextDigital signing private key (.pvk) file.ISReleaseDigitalSPCYTextDigital signing Software Publisher Certificate (.spc) file.ISReleaseDigitalURLYTextDigital signing URL.ISReleaseDiskClusterSizeNDisk cluster size.ISReleaseDiskSizeNTextDisk size.ISReleaseDiskSizeUnitN0;1;2Disk size units (KB or MB).ISReleaseDiskSpanningN0;1;2Disk spanning (automatic, enforce size, etc.).ISReleaseDotNetBuildConfigurationYTextBuild Configuration for .NET solutions.ISReleaseISProductConfiguration_NISProductConfiguration1TextForeign key into the ISProductConfiguration table.ISReleaseISReleaseNTextThe name of the release.ISReleaseISSetupPrerequisiteLocationY0;1;2;3Location the Setup Prerequisites will be placed inISReleaseMediaLocationNTextMedia location on disk.ISReleaseMsiCommandLineYTextCommand line passed to the msi package from setup.exeISReleaseMsiSourceTypeN-14MSI media source type.ISReleasePackageNameNTextPackage name.ISReleasePasswordYTextPassword.ISReleasePlatformsNTextPlatforms supported (Intel, Alpha, etc.).ISReleaseReleaseFlagsYTextRelease flags.ISReleaseReleaseTypeN1;2;4Release type (single, uncompressed, etc.).ISReleaseSupportedLanguagesDataYTextLanguages supported (for component filtering).ISReleaseSupportedLanguagesUINTextUI languages supported.ISReleaseSupportedOSsNIndicate which operating systmes are supported.ISReleaseSynchMsiYTextMSI file to synchronize file keys and other data with (patch-like functionality).ISReleaseTypeN06Release type (CDROM, Network, etc.).ISReleaseURLLocationYTextMedia location via URL.ISReleaseVersionCopyrightYTextVersion stamp information.ISReleaseASPublishInfoISProductConfiguration_NISProductConfiguration1TextForeign key into the ISProductConfiguration table.ISReleaseASPublishInfoISRelease_NISRelease1TextForeign key into the ISRelease table.ISReleaseASPublishInfoPropertyYTextAS Repository property nameISReleaseASPublishInfoValueYTextAS Repository property valueISReleaseExtendedAttributesYBitfield holding boolean values for various release attributes.ISReleaseExtendedCertPasswordYTextDigital certificate passwordISReleaseExtendedDigitalCertificateDBaseNSYTextPath to cerificate database for Netscape digital signatureISReleaseExtendedDigitalCertificateIdNSYTextPath to cerificate ID for Netscape digital signatureISReleaseExtendedDigitalCertificatePasswordNSYTextPassword for Netscape digital signatureISReleaseExtendedDotNetBaseLanguageYTextBase Languge of .NET RedistISReleaseExtendedDotNetFxCmdLineYTextCommand Line to pass to DotNetFx.exeISReleaseExtendedDotNetLangPackCmdLineYTextCommand Line to pass to LangPack.exeISReleaseExtendedDotNetLangaugePacksYText.NET Redist language packs to includeISReleaseExtendedDotNetRedistLocationY03Location of .NET framework Redist (Web, SetupExe, Source, None)ISReleaseExtendedDotNetRedistURLYTextURL to .NET framework RedistISReleaseExtendedDotNetVersionY02Version of .NET framework Redist (1.0, 1.1)ISReleaseExtendedEngineLocationY02Location of msi engine (Web, SetupExe...)ISReleaseExtendedISEngineLocationY02Location of ISScript engine (Web, SetupExe...)ISReleaseExtendedISEngineURLYTextURL to InstallShield scripting engineISReleaseExtendedISProductConfiguration_NTextForeign key into the ISProductConfiguration table.ISReleaseExtendedISRelease_NTextThe name of the release.ISReleaseExtendedJSharpCmdLineYTextCommand Line to pass to vjredist.exeISReleaseExtendedJSharpRedistLocationY03Location of J# framework Redist (Web, SetupExe, Source, None)ISReleaseExtendedMsiEngineVersionYBitfield holding selected MSI engine versions included in this releaseISReleaseExtendedOneClickCabNameYTextFile name of generated cabfileISReleaseExtendedOneClickHtmlNameYTextFile name of generated html pageISReleaseExtendedOneClickTargetBrowserY02Target browser (IE, Netscape, both...)ISReleaseExtendedWebCabSizeY02147483647Size of the cabfileISReleaseExtendedWebLocalCachePathYTextDirectory to cache downloaded packageISReleaseExtendedWebTypeY02Type of web install (One Executable, Downloader...)ISReleaseExtendedWebURLYTextURL to .msi packageISReleaseExtendedWin9xMsiUrlYTextURL to Ansi MSI engineISReleaseExtendedWinMsi30UrlYTextURL to MSI 3.0 engineISReleaseExtendedWinNTMsiUrlYTextURL to Unicode MSI engineISReleasePropertyISProductConfiguration_NTextForeign key into ISProductConfiguration table.ISReleasePropertyISRelease_NTextForeign key into ISRelease table.ISReleasePropertyNameNProperty nameISReleasePropertyValueNProperty valueISReleasePublishInfoDescriptionYTextRepository item descriptionISReleasePublishInfoDisplayNameYTextRepository item display nameISReleasePublishInfoISAttributesYBitfield holding various attributesISReleasePublishInfoISProductConfiguration_NISProductConfiguration1TextForeign key into the ISProductConfiguration table.ISReleasePublishInfoISRelease_NISRelease1TextThe name of the release.ISReleasePublishInfoPublisherYTextRepository item publisherISReleasePublishInfoRepositoryYTextRepository which to publish the built merge moduleISSQLConnectionAttributesN - ISSQLConnectionAuthenticationN - ISSQLConnectionBatchSeparatorY - ISSQLConnectionCmdTimeoutY - ISSQLConnectionCommentsY - ISSQLConnectionDatabaseN - ISSQLConnectionISSQLConnectionNIdentifierPrimary key used to identify a particular ISSQLConnection record.ISSQLConnectionOrderN - ISSQLConnectionPasswordN - ISSQLConnectionScriptVersion_ColumnY - ISSQLConnectionScriptVersion_TableY - ISSQLConnectionServerN - ISSQLConnectionUserNameN - ISSQLConnectionDBServerISSQLConnectionDBServerNIdentifierPrimary key used to identify a particular ISSQLConnectionDBServer record.ISSQLConnectionDBServerISSQLConnection_NISSQLConnection1IdentifierForeign key into ISSQLConnection table.ISSQLConnectionDBServerISSQLDBMetaData_NISSQLDBMetaData1IdentifierForeign key into ISSQLDBMetaData table.ISSQLConnectionDBServerOrderN - ISSQLConnectionScriptISSQLConnection_NISSQLConnection1IdentifierForeign key into ISSQLConnection table.ISSQLConnectionScriptISSQLScriptFile_NISSQLScriptFile1IdentifierForeign key into ISSQLScriptFile table.ISSQLConnectionScriptOrderN - ISSQLDBMetaDataAdoCxnAdditionalY - ISSQLDBMetaDataAdoCxnDatabaseY - ISSQLDBMetaDataAdoCxnDriverY - ISSQLDBMetaDataAdoCxnNetLibraryY - ISSQLDBMetaDataAdoCxnPasswordY - ISSQLDBMetaDataAdoCxnPortY - ISSQLDBMetaDataAdoCxnServerY - ISSQLDBMetaDataAdoCxnUserIDY - ISSQLDBMetaDataAdoCxnWindowsSecurityY - ISSQLDBMetaDataAdoDriverNameY - ISSQLDBMetaDataCreateDbCmdY - ISSQLDBMetaDataCreateTableCmdY - ISSQLDBMetaDataDisplayNameY - ISSQLDBMetaDataDsnODBCNameY - ISSQLDBMetaDataISAttributesY - ISSQLDBMetaDataISSQLDBMetaDataNIdentifierPrimary key used to identify a particular ISSQLDBMetaData record.ISSQLDBMetaDataInsertRecordCmdY - ISSQLDBMetaDataLocalInstanceNamesY - ISSQLDBMetaDataQueryDatabasesCmdY - ISSQLDBMetaDataScriptVersion_ColumnY - ISSQLDBMetaDataScriptVersion_ColumnTypeY - ISSQLDBMetaDataScriptVersion_TableY - ISSQLDBMetaDataSelectTableCmdY - ISSQLDBMetaDataSwitchDbCmdY - ISSQLDBMetaDataTestDatabaseCmdY - ISSQLDBMetaDataTestTableCmdY - ISSQLDBMetaDataTestTableCmd2Y - ISSQLDBMetaDataVersionBeginTokenY - ISSQLDBMetaDataVersionEndTokenY - ISSQLDBMetaDataVersionInfoCmdY - ISSQLDBMetaDataWinAuthentUserIdY - ISSQLRequirementAttributesN - ISSQLRequirementISSQLConnectionDBServer_YISSQLConnectionDBServer1IdentifierForeign key into ISSQLConnectionDBServer table.ISSQLRequirementISSQLConnection_NISSQLConnection1IdentifierForeign key into ISSQLConnection table.ISSQLRequirementISSQLRequirementNIdentifierPrimary key used to identify a particular ISSQLRequirement record.ISSQLRequirementMajorVersionY - ISSQLRequirementServicePackLevelY - ISSQLScriptErrorAttributesN - ISSQLScriptErrorErrHandlingN - ISSQLScriptErrorErrNumberN - ISSQLScriptErrorISSQLScriptFile_YISSQLScriptFile1IdentifierForeign key into ISSQLScriptFile tableISSQLScriptErrorMessageYTextCustom end-user message. Reserved for future use.ISSQLScriptFileAttributesN - ISSQLScriptFileCommentsYTextCommentsISSQLScriptFileComponent_NComponent1IdentifierForeign key referencing Component that controls the SQL script.ISSQLScriptFileConditionYConditionA conditional statement that will disable this script if the specified condition evaluates to the 'False' state. If a script is disabled, it will not be installed regardless of the 'Action' state associated with the component.ISSQLScriptFileDisplayNameYTextDisplay name for the SQL script file.ISSQLScriptFileErrorHandlingN - ISSQLScriptFileISBuildSourcePathYTextFull path, the category is of Text instead of Path because of potential use of path variables.ISSQLScriptFileISSQLScriptFileNIdentifierThis is the primary key to the ISSQLScriptFile tableISSQLScriptFileInstallTextYTextFeedback end-user text at installISSQLScriptFileSchedulingN - ISSQLScriptFileUninstallTextYTextFeedback end-user text at UninstallISSQLScriptFileVersionYTextSchema Version (#####.#####.#####.#####)ISSQLScriptImportAttributesN - ISSQLScriptImportAuthenticationN - ISSQLScriptImportDatabaseY - ISSQLScriptImportExcludeTablesY - ISSQLScriptImportISSQLScriptFile_NISSQLScriptFile1IdentifierForeign key into ISSQLScriptFile table.ISSQLScriptImportIncludeTablesY - ISSQLScriptImportPasswordY - ISSQLScriptImportServerY - ISSQLScriptImportUserNameY - ISSQLScriptReplaceAttributesN - ISSQLScriptReplaceISSQLScriptFile_NISSQLScriptFile1IdentifierForeign key into ISSQLScriptFile table.ISSQLScriptReplaceISSQLScriptReplaceNIdentifierPrimary key used to identify a particular ISSQLScriptReplace record.ISSQLScriptReplaceReplaceY - ISSQLScriptReplaceSearchY - ISScriptFileISScriptFileNTextThis is the full path of the script file. The path portion may be expressed in path variable form.ISSelfRegCmdLineY - ISSelfRegCostY - ISSelfRegFileKeyNFile1IdentifierForeign key to the file tableISSelfRegOrderY - ISSetupFileFileNameYTextThis is the file name to use when streaming the file to the support files locationISSetupFileISSetupFileNIdentifierThis is the primary key to the ISSetupFile tableISSetupFileLanguageYTextFour digit language identifier. 0 for Language NeutralISSetupFilePathYTextLink to the source file on the build machineISSetupFileSplashYShortBoolean value indication whether his setup file entry belongs in the Splasc Screen sectionISSetupFileStreamYBinaryBinary stream. The bits to stream to the support locationISSetupPrerequisitesISBuildSourcePathY - ISSetupPrerequisitesISReleaseFlagsYRelease Flags that specify whether this prereq will be included in a particular release.ISSetupPrerequisitesISSetupLocationY0;1;2 - ISSetupPrerequisitesISSetupPrerequisitesN - ISSetupPrerequisitesOrderY - ISSetupTypeCommentsYTextUser Comments.ISSetupTypeDescriptionYTextLonger descriptive text describing a visible feature item.ISSetupTypeDisplayN032767Numeric sort order, used to force a specific display ordering.ISSetupTypeDisplay_NameYFormattedA string used to set the initial text contained within a control (if appropriate).ISSetupTypeISSetupTypeNIdentifierPrimary key used to identify a particular feature record.ISSetupTypeFeaturesFeature_NFeature1IdentifierForeign key into Feature table.ISSetupTypeFeaturesISSetupType_NISSetupType1IdentifierForeign key into ISSetupType table.ISStoragesISBuildSourcePathYPath to the file to stream into sub-storageISStoragesNameNName of the sub-storage keyISStringCommentYTextCommentISStringEncodedYEncoding for multi-byte strings.ISStringISLanguage_NTextThis is a foreign key to the ISLanguage table.ISStringISStringNTextString id.ISStringTimeStampYTime/DateTime Stamp. MSI's Time/Date column type is just an int, with bits packed in a certain order.ISStringValueYTextreal string value.ISSwidtagPropertyNameNIdentifierProperty nameISSwidtagPropertyValueNTextProperty valueISTargetImageFlagsYrelative order of the target imageISTargetImageIgnoreMissingFilesNIf true, ignore missing source files when creating patchISTargetImageMsiPathNTextPath to the target imageISTargetImageNameNIdentifierName of the TargetImageISTargetImageOrderNrelative order of the target imageISTargetImageUpgradedImage_NISUpgradedImage1Textforeign key to the upgraded Image tableISUpgradeMsiItemISAttributesN0;1 - ISUpgradeMsiItemISReleaseFlagsY - ISUpgradeMsiItemObjectSetupPathNTextThe path to the setup you want to upgrade.ISUpgradeMsiItemUpgradeItemNTextThe name of the Upgrade Item.ISUpgradedImageFamilyNTextName of the image familyISUpgradedImageMsiPathNTextPath to the upgraded imageISUpgradedImageNameNIdentifierName of the UpgradedImageISVirtualDirectoryDirectory_NDirectory1IdentifierForeign key into Directory table.ISVirtualDirectoryNameNIdentifierProperty nameISVirtualDirectoryValueNProperty valueISVirtualFileFile_NFile1IdentifierForeign key into File table.ISVirtualFileNameNIdentifierProperty nameISVirtualFileValueNProperty valueISVirtualPackageNameNIdentifierProperty nameISVirtualPackageValueNProperty valueISVirtualRegistryNameNIdentifierProperty nameISVirtualRegistryRegistry_NRegistry1IdentifierForeign key into Registry table.ISVirtualRegistryValueNProperty valueISVirtualReleaseISProductConfiguration_NTextForeign key into ISProductConfiguration table.ISVirtualReleaseISRelease_NTextForeign key into ISRelease table.ISVirtualReleaseNameNProperty nameISVirtualReleaseValueNProperty valueISVirtualShortcutNameNIdentifierProperty nameISVirtualShortcutShortcut_NShortcut1IdentifierForeign key into Shortcut table.ISVirtualShortcutValueNProperty valueISXmlElementContentYTextElement contentsISXmlElementISAttributesYNumberInternal XML element attributesISXmlElementISXmlElementNIdentifierPrimary key, non-localized, internal token for Xml elementISXmlElementISXmlElement_ParentYISXmlElement1IdentifierForeign key into ISXMLElement table.ISXmlElementISXmlFile_NISXmlFile1IdentifierForeign key into XmlFile table.ISXmlElementXPathYTextXPath fragment including any operatorsISXmlElementAttribISAttributesYNumberInternal XML elementattib attributesISXmlElementAttribISXmlElementAttribNIdentifierPrimary key, non-localized, internal token for Xml element attributeISXmlElementAttribISXmlElement_NISXmlElement1IdentifierForeign key into ISXMLElement table.ISXmlElementAttribNameYTextLocalized attribute nameISXmlElementAttribValueYTextLocalized attribute valueISXmlFileComponent_NComponent1IdentifierForeign key into Component table.ISXmlFileDirectoryNIdentifierForeign key into Directory table.ISXmlFileEncodingYTextXML File EncodingISXmlFileFileNameNTextLocalized XML file nameISXmlFileISAttributesYNumberInternal XML file attributesISXmlFileISXmlFileNIdentifierPrimary key, non-localized,internal token for Xml fileISXmlFileSelectionNamespacesYTextSelection namespacesISXmlLocatorAttributeYThe name of an attribute within the XML element.ISXmlLocatorElementYXPath query that will locate an element in an XML file.ISXmlLocatorISAttributesY0;1;2 - ISXmlLocatorParentYIdentifierThe parent file signature. It is also a foreign key in the Signature table.ISXmlLocatorSignature_NIdentifierThe Signature_ represents a unique file signature and is also the foreign key in the Signature, RegLocator, IniLocator, ISXmlLocator, CompLocator and the DrLocator tables.IconDataYBinaryBinary stream. The binary icon data in PE (.DLL or .EXE) or icon (.ICO) format.IconISBuildSourcePathYTextFull path to the ICO or EXE file.IconISIconIndexY-3276732767Optional icon index to be extracted.IconNameNIdentifierPrimary key. Name of the icon file.IniFileActionN0;1;3The type of modification to be made, one of iifEnumIniFileComponent_NComponent1IdentifierForeign key into the Component table referencing component that controls the installing of the .INI value.IniFileDirPropertyYIdentifierForeign key into the Directory table denoting the directory where the .INI file is.IniFileFileNameNTextThe .INI file name in which to write the informationIniFileIniFileNIdentifierPrimary key, non-localized token.IniFileKeyNFormattedThe .INI file key below Section.IniFileSectionNFormattedThe .INI file Section.IniFileValueNFormattedThe value to be written.IniLocatorFieldY032767The field in the .INI line. If Field is null or 0 the entire line is read.IniLocatorFileNameNTextThe .INI file name.IniLocatorKeyNTextKey value (followed by an equals sign in INI file).IniLocatorSectionNTextSection name within in file (within square brackets in INI file).IniLocatorSignature_NSignature1IdentifierThe table key. The Signature_ represents a unique file signature and is also the foreign key in the Signature table.IniLocatorTypeY02An integer value that determines if the .INI value read is a filename or a directory location or to be used as is w/o interpretation.InstallExecuteSequenceActionNIdentifierName of action to invoke, either in the engine or the handler DLL.InstallExecuteSequenceConditionYConditionOptional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.InstallExecuteSequenceISAttributesYThis is used to store MM Custom Action TypesInstallExecuteSequenceISCommentsYTextAuthor’s comments on this Sequence.InstallExecuteSequenceSequenceY-432767Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action.InstallShieldPropertyNIdentifierName of property, uppercase if settable by launcher or loader.InstallShieldValueYTextString value for property.InstallUISequenceActionNIdentifierName of action to invoke, either in the engine or the handler DLL.InstallUISequenceConditionYConditionOptional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.InstallUISequenceISAttributesYThis is used to store MM Custom Action TypesInstallUISequenceISCommentsYTextAuthor’s comments on this Sequence.InstallUISequenceSequenceY-432767Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action.IsolatedComponentComponent_ApplicationNComponent1IdentifierKey to Component table item for applicationIsolatedComponentComponent_SharedNComponent1IdentifierKey to Component table item to be isolatedLaunchConditionConditionNConditionExpression which must evaluate to TRUE in order for install to commence.LaunchConditionDescriptionNTextLocalizable text to display when condition fails and install must abort.ListBoxOrderN132767A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive.ListBoxPropertyNIdentifierA named property to be tied to this item. All the items tied to the same property become part of the same listbox.ListBoxTextYTextThe visible text to be assigned to the item. Optional. If this entry or the entire column is missing, the text is the same as the value.ListBoxValueNFormattedThe value string associated with this item. Selecting the line will set the associated property to this value.ListViewBinary_YBinary1IdentifierThe name of the icon to be displayed with the icon. The binary information is looked up from the Binary Table.ListViewOrderN132767A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive.ListViewPropertyNIdentifierA named property to be tied to this item. All the items tied to the same property become part of the same listview.ListViewTextYTextThe visible text to be assigned to the item. Optional. If this entry or the entire column is missing, the text is the same as the value.ListViewValueNTextThe value string associated with this item. Selecting the line will set the associated property to this value.LockPermissionsDomainYTextDomain name for user whose permissions are being set. (usually a property)LockPermissionsLockObjectNIdentifierForeign key into Registry or File tableLockPermissionsPermissionY-21474836472147483647Permission Access mask. Full Control = 268435456 (GENERIC_ALL = 0x10000000)LockPermissionsTableNIdentifierDirectory;File;RegistryReference to another table nameLockPermissionsUserNTextUser for permissions to be set. (usually a property)MIMECLSIDYClass1GuidOptional associated CLSID.MIMEContentTypeNTextPrimary key. Context identifier, typically "type/format".MIMEExtension_NExtension1TextOptional associated extension (without dot)MediaCabinetYCabinetIf some or all of the files stored on the media are compressed in a cabinet, the name of that cabinet.MediaDiskIdN132767Primary key, integer to determine sort order for table.MediaDiskPromptYTextDisk name: the visible text actually printed on the disk. This will be used to prompt the user when this disk needs to be inserted.MediaLastSequenceN032767File sequence number for the last file for this media.MediaSourceYPropertyThe property defining the location of the cabinet file.MediaVolumeLabelYTextThe label attributed to the volume.MoveFileComponent_NComponent1IdentifierIf this component is not "selected" for installation or removal, no action will be taken on the associated MoveFile entryMoveFileDestFolderNIdentifierName of a property whose value is assumed to resolve to the full path to the destination directoryMoveFileDestNameYTextName to be given to the original file after it is moved or copied. If blank, the destination file will be given the same name as the source fileMoveFileFileKeyNIdentifierPrimary key that uniquely identifies a particular MoveFile recordMoveFileOptionsN01Integer value specifying the MoveFile operating mode, one of imfoEnumMoveFileSourceFolderYIdentifierName of a property whose value is assumed to resolve to the full path to the source directoryMoveFileSourceNameYTextName of the source file(s) to be moved or copied. Can contain the '*' or '?' wildcards.MsiAssemblyAttributesYAssembly attributesMsiAssemblyComponent_NComponent1IdentifierForeign key into Component table.MsiAssemblyFeature_NFeature1IdentifierForeign key into Feature table.MsiAssemblyFile_ApplicationYFile1IdentifierForeign key into File table, denoting the application context for private assemblies. Null for global assemblies.MsiAssemblyFile_ManifestYFile1IdentifierForeign key into the File table denoting the manifest file for the assembly.MsiAssemblyNameComponent_NComponent1IdentifierForeign key into Component table.MsiAssemblyNameNameNTextThe name part of the name-value pairs for the assembly name.MsiAssemblyNameValueNTextThe value part of the name-value pairs for the assembly name.MsiDigitalCertificateCertDataNBinaryA certificate context blob for a signer certificateMsiDigitalCertificateDigitalCertificateNMsiPackageCertificate2IdentifierA unique identifier for the rowMsiDigitalSignatureDigitalCertificate_NMsiDigitalCertificate1IdentifierForeign key to MsiDigitalCertificate table identifying the signer certificateMsiDigitalSignatureHashYBinaryThe encoded hash blob from the digital signatureMsiDigitalSignatureSignObjectNTextForeign key to Media tableMsiDigitalSignatureTableNIdentifierReference to another table name (only Media table is supported)MsiDriverPackagesComponentNComponent1IdentifierPrimary key used to identify a particular component record.MsiDriverPackagesFlagsNDriver package flagsMsiDriverPackagesReferenceComponentsY - MsiDriverPackagesSequenceYInstallation sequence numberMsiEmbeddedChainerCommandLineYFormatted - MsiEmbeddedChainerConditionYCondition - MsiEmbeddedChainerMsiEmbeddedChainerNIdentifier - MsiEmbeddedChainerSourceNCustomSource - MsiEmbeddedChainerTypeYInteger2;18;50 - MsiEmbeddedUIAttributesN03IntegerInformation about the data in the Data column.MsiEmbeddedUIDataYBinaryThis column contains binary information.MsiEmbeddedUIFileNameNFilenameThe name of the file that receives the binary information in the Data column.MsiEmbeddedUIISBuildSourcePathYText - MsiEmbeddedUIMessageFilterY0234913791IntegerSpecifies the types of messages that are sent to the user interface DLL. This column is only relevant for rows with the msidbEmbeddedUI attribute.MsiEmbeddedUIMsiEmbeddedUINIdentifierThe primary key for the table.MsiFileHashFile_NFile1IdentifierPrimary key, foreign key into File table referencing file with this hashMsiFileHashHashPart1NSize of file in bytes (long integer).MsiFileHashHashPart2NSize of file in bytes (long integer).MsiFileHashHashPart3NSize of file in bytes (long integer).MsiFileHashHashPart4NSize of file in bytes (long integer).MsiFileHashOptionsN032767Various options and attributes for this hash.MsiLockPermissionsExConditionYFormattedExpression which must evaluate to TRUE in order for this set of permissions to be appliedMsiLockPermissionsExLockObjectNIdentifierForeign key into Registry, File, CreateFolder, or ServiceInstall tableMsiLockPermissionsExMsiLockPermissionsExNIdentifierPrimary key, non-localized tokenMsiLockPermissionsExSDDLTextNFormattedSDDLTextString to indicate permissions to be applied to the LockObjectMsiLockPermissionsExTableNIdentifierCreateFolder;File;Registry;ServiceInstallReference to another table nameMsiPackageCertificateDigitalCertificate_NIdentifierA foreign key to the digital certificate tableMsiPackageCertificatePackageCertificateNIdentifierA unique identifier for the rowMsiPatchCertificateDigitalCertificate_NMsiDigitalCertificate1IdentifierA foreign key to the digital certificate tableMsiPatchCertificatePatchCertificateNIdentifierA unique identifier for the rowMsiPatchMetadataCompanyYTextOptional company nameMsiPatchMetadataPatchConfiguration_NISPatchConfiguration1TextForeign key to the ISPatchConfiguration tableMsiPatchMetadataPropertyNTextName of the metadataMsiPatchMetadataValueYTextValue of the metadataMsiPatchOldAssemblyFileAssembly_YMsiPatchOldAssemblyName1 - MsiPatchOldAssemblyFileFile_NFile1 - MsiPatchOldAssemblyNameAssemblyN - MsiPatchOldAssemblyNameNameN - MsiPatchOldAssemblyNameValueY - MsiPatchSequencePatchConfiguration_NISPatchConfiguration1TextForeign key to the patch configuration tableMsiPatchSequencePatchFamilyNTextName of the family to which this patch belongsMsiPatchSequenceSequenceNVersionThe version of this patch in this familyMsiPatchSequenceSupersedeNIntegerSupersedeMsiPatchSequenceTargetYTextTarget product codes for this patch familyMsiServiceConfigArgumentYTextArgument(s) for service configuration. Value depends on the content of the ConfigType fieldMsiServiceConfigComponent_NComponent1IdentifierRequired foreign key into the Component Table that controls the configuration of the serviceMsiServiceConfigConfigTypeN-21474836472147483647Service Configuration OptionMsiServiceConfigEventN07Bit field: 0x1 = Install, 0x2 = Uninstall, 0x4 = ReinstallMsiServiceConfigMsiServiceConfigNIdentifierPrimary key, non-localized token.MsiServiceConfigNameNFormattedName of a service. /, \, comma and space are invalidMsiServiceConfigFailureActionsActionsYTextA list of integer actions separated by [~] delimiters: 0 = SC_ACTION_NONE, 1 = SC_ACTION_RESTART, 2 = SC_ACTION_REBOOT, 3 = SC_ACTION_RUN_COMMAND. Terminate with [~][~]MsiServiceConfigFailureActionsCommandYFormattedCommand line of the process to CreateProcess function to executeMsiServiceConfigFailureActionsComponent_NComponent1IdentifierRequired foreign key into the Component Table that controls the configuration of the serviceMsiServiceConfigFailureActionsDelayActionsYTextA list of delays (time in milli-seconds), separated by [~] delmiters, to wait before taking the corresponding Action. Terminate with [~][~]MsiServiceConfigFailureActionsEventN07Bit field: 0x1 = Install, 0x2 = Uninstall, 0x4 = ReinstallMsiServiceConfigFailureActionsMsiServiceConfigFailureActionsNIdentifierPrimary key, non-localized tokenMsiServiceConfigFailureActionsNameNFormattedName of a service. /, \, comma and space are invalidMsiServiceConfigFailureActionsRebootMessageYFormattedMessage to be broadcast to server users before rebootingMsiServiceConfigFailureActionsResetPeriodY02147483647Time in seconds after which to reset the failure count to zero. Leave blank if it should never be resetMsiShortcutPropertyMsiShortcutPropertyNIdentifierPrimary key, non-localized tokenMsiShortcutPropertyPropVariantValueNFormattedString representation of the value in the propertyMsiShortcutPropertyPropertyKeyNFormattedCanonical string representation of the Property Key being setMsiShortcutPropertyShortcut_NShortcut1IdentifierForeign key into the Shortcut tableODBCAttributeAttributeNTextName of ODBC driver attributeODBCAttributeDriver_NODBCDriver1IdentifierReference to ODBC driver in ODBCDriver tableODBCAttributeValueYTextValue for ODBC driver attributeODBCDataSourceComponent_NComponent1IdentifierReference to associated componentODBCDataSourceDataSourceNIdentifierPrimary key, non-localized.internal token for data sourceODBCDataSourceDescriptionNTextText used as registered name for data sourceODBCDataSourceDriverDescriptionNTextReference to driver description, may be existing driverODBCDataSourceRegistrationN01Registration option: 0=machine, 1=user, others t.b.d.ODBCDriverComponent_NComponent1IdentifierReference to associated componentODBCDriverDescriptionNTextText used as registered name for driver, non-localizedODBCDriverDriverNIdentifierPrimary key, non-localized.internal token for driverODBCDriverFile_NFile1IdentifierReference to key driver fileODBCDriverFile_SetupYFile1IdentifierOptional reference to key driver setup DLLODBCSourceAttributeAttributeNTextName of ODBC data source attributeODBCSourceAttributeDataSource_NODBCDataSource1IdentifierReference to ODBC data source in ODBCDataSource tableODBCSourceAttributeValueYTextValue for ODBC data source attributeODBCTranslatorComponent_NComponent1IdentifierReference to associated componentODBCTranslatorDescriptionNTextText used as registered name for translatorODBCTranslatorFile_NFile1IdentifierReference to key translator fileODBCTranslatorFile_SetupYFile1IdentifierOptional reference to key translator setup DLLODBCTranslatorTranslatorNIdentifierPrimary key, non-localized.internal token for translatorPatchAttributesN032767Integer containing bit flags representing patch attributesPatchFile_NFile1IdentifierPrimary key, non-localized token, foreign key to File table, must match identifier in cabinet.PatchHeaderYBinaryBinary stream. The patch header, used for patch validation.PatchISBuildSourcePathYTextFull path to patch header.PatchPatchSizeN02147483647Size of patch in bytes (long integer).PatchSequenceN032767Primary key, sequence with respect to the media images; order must track cabinet order.PatchStreamRef_YIdentifierExternal key into the MsiPatchHeaders table specifying the row that contains the patch header stream.PatchPackageMedia_N032767Foreign key to DiskId column of Media table. Indicates the disk containing the patch package.PatchPackagePatchIdNGuidA unique string GUID representing this patch.ProgIdClass_YClass1GuidThe CLSID of an OLE factory corresponding to the ProgId.ProgIdDescriptionYTextLocalized description for the Program identifier.ProgIdISAttributesYThis is used to store Installshield custom properties of a component, like ExtractIcon, etc.ProgIdIconIndexY-3276732767Optional icon index.ProgIdIcon_YIcon1IdentifierOptional foreign key into the Icon Table, specifying the icon file associated with this ProgId. Will be written under the DefaultIcon key.ProgIdProgIdNTextThe Program Identifier. Primary key.ProgIdProgId_ParentYProgId1TextThe Parent Program Identifier. If specified, the ProgId column becomes a version independent prog id.PropertyISCommentsYTextUser Comments.PropertyPropertyNIdentifierName of property, uppercase if settable by launcher or loader.PropertyValueYTextString value for property.PublishComponentAppDataYTextThis is localisable Application specific data that can be associated with a Qualified Component.PublishComponentComponentIdNGuidA string GUID that represents the component id that will be requested by the alien product.PublishComponentComponent_NComponent1IdentifierForeign key into the Component table.PublishComponentFeature_NFeature1IdentifierForeign key into the Feature table.PublishComponentQualifierNTextThis is defined only when the ComponentId column is an Qualified Component Id. This is the Qualifier for ProvideComponentIndirect.RadioButtonHeightN032767The height of the button.RadioButtonHelpYTextThe help strings used with the button. The text is optional.RadioButtonISControlIdYA number used to represent the control ID of the Control, Used in Dialog exportRadioButtonOrderN132767A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive.RadioButtonPropertyNIdentifierA named property to be tied to this radio button. All the buttons tied to the same property become part of the same group.RadioButtonTextYTextThe visible title to be assigned to the radio button.RadioButtonValueNFormattedThe value string associated with this button. Selecting the button will set the associated property to this value.RadioButtonWidthN032767The width of the button.RadioButtonXN032767The horizontal coordinate of the upper left corner of the bounding rectangle of the radio button.RadioButtonYN032767The vertical coordinate of the upper left corner of the bounding rectangle of the radio button.RegLocatorKeyNRegPathThe key for the registry value.RegLocatorNameYFormattedThe registry value name.RegLocatorRootN03The predefined root key for the registry value, one of rrkEnum.RegLocatorSignature_NSignature1IdentifierThe table key. The Signature_ represents a unique file signature and is also the foreign key in the Signature table. If the type is 0, the registry values refers a directory, and _Signature is not a foreign key.RegLocatorTypeY018An integer value that determines if the registry value is a filename or a directory location or to be used as is w/o interpretation.RegistryComponent_NComponent1IdentifierForeign key into the Component table referencing component that controls the installing of the registry value.RegistryISAttributesYThis is used to store Installshield custom properties of a registry item. Currently the only one is Automatic.RegistryKeyNRegPathThe key for the registry value.RegistryNameYFormattedThe registry value name.RegistryRegistryNIdentifierPrimary key, non-localized token.RegistryRootN-13The predefined root key for the registry value, one of rrkEnum.RegistryValueYTextThe registry value.RemoveFileComponent_NComponent1IdentifierForeign key referencing Component that controls the file to be removed.RemoveFileDirPropertyNIdentifierName of a property whose value is assumed to resolve to the full pathname to the folder of the file to be removed.RemoveFileFileKeyNIdentifierPrimary key used to identify a particular file entryRemoveFileFileNameYTextName of the file to be removed.RemoveFileInstallModeN1;2;3Installation option, one of iimEnum.RemoveIniFileActionN2;4The type of modification to be made, one of iifEnum.RemoveIniFileComponent_NComponent1IdentifierForeign key into the Component table referencing component that controls the deletion of the .INI value.RemoveIniFileDirPropertyYIdentifierForeign key into the Directory table denoting the directory where the .INI file is.RemoveIniFileFileNameNTextThe .INI file name in which to delete the informationRemoveIniFileKeyNFormattedThe .INI file key below Section.RemoveIniFileRemoveIniFileNIdentifierPrimary key, non-localized token.RemoveIniFileSectionNFormattedThe .INI file Section.RemoveIniFileValueYFormattedThe value to be deleted. The value is required when Action is iifIniRemoveTagRemoveRegistryComponent_NComponent1IdentifierForeign key into the Component table referencing component that controls the deletion of the registry value.RemoveRegistryKeyNRegPathThe key for the registry value.RemoveRegistryNameYFormattedThe registry value name.RemoveRegistryRemoveRegistryNIdentifierPrimary key, non-localized token.RemoveRegistryRootN-13The predefined root key for the registry value, one of rrkEnumReserveCostComponent_NComponent1IdentifierReserve a specified amount of space if this component is to be installed.ReserveCostReserveFolderYIdentifierName of a property whose value is assumed to resolve to the full path to the destination directoryReserveCostReserveKeyNIdentifierPrimary key that uniquely identifies a particular ReserveCost recordReserveCostReserveLocalN02147483647Disk space to reserve if linked component is installed locally.ReserveCostReserveSourceN02147483647Disk space to reserve if linked component is installed to run from the source location.SFPCatalogCatalogYBinarySFP CatalogSFPCatalogDependencyYFormattedParent catalog - only used by SFPSFPCatalogSFPCatalogNFilenameFile name for the catalog.SelfRegCostY032767The cost of registering the module.SelfRegFile_NFile1IdentifierForeign key into the File table denoting the module that needs to be registered.ServiceControlArgumentsYFormattedArguments for the service. Separate by [~].ServiceControlComponent_NComponent1IdentifierRequired foreign key into the Component Table that controls the startup of the serviceServiceControlEventN0187Bit field: Install: 0x1 = Start, 0x2 = Stop, 0x8 = Delete, Uninstall: 0x10 = Start, 0x20 = Stop, 0x80 = DeleteServiceControlNameNFormattedName of a service. /, \, comma and space are invalidServiceControlServiceControlNIdentifierPrimary key, non-localized token.ServiceControlWaitY01Boolean for whether to wait for the service to fully startServiceInstallArgumentsYFormattedArguments to include in every start of the service, passed to WinMainServiceInstallComponent_NComponent1IdentifierRequired foreign key into the Component Table that controls the startup of the serviceServiceInstallDependenciesYFormattedOther services this depends on to start. Separate by [~], and end with [~][~]ServiceInstallDescriptionYTextDescription of service.ServiceInstallDisplayNameYFormattedExternal Name of the ServiceServiceInstallErrorControlN-21474836472147483647Severity of error if service fails to startServiceInstallLoadOrderGroupYFormattedLoadOrderGroupServiceInstallNameNFormattedInternal Name of the ServiceServiceInstallPasswordYFormattedpassword to run service with. (with StartName)ServiceInstallServiceInstallNIdentifierPrimary key, non-localized token.ServiceInstallServiceTypeN-21474836472147483647Type of the serviceServiceInstallStartNameYFormattedUser or object name to run service asServiceInstallStartTypeN04Type of the serviceShortcutArgumentsYFormattedThe command-line arguments for the shortcut.ShortcutComponent_NComponent1IdentifierForeign key into the Component table denoting the component whose selection gates the the shortcut creation/deletion.ShortcutDescriptionYTextThe description for the shortcut.ShortcutDescriptionResourceDLLYFormattedThis field contains a Formatted string value for the full path to the language neutral file that contains the MUI manifest.ShortcutDescriptionResourceIdY032767The description name index for the shortcut.ShortcutDirectory_NDirectory1IdentifierForeign key into the Directory table denoting the directory where the shortcut file is created.ShortcutDisplayResourceDLLYFormattedThis field contains a Formatted string value for the full path to the language neutral file that contains the MUI manifest.ShortcutDisplayResourceIdY032767The display name index for the shortcut.ShortcutHotkeyY032767The hotkey for the shortcut. It has the virtual-key code for the key in the low-order byte, and the modifier flags in the high-order byte.ShortcutISAttributesYThis is used to store Installshield custom properties of a shortcut. Mainly used in pro project types.ShortcutISCommentsYTextAuthor’s comments on this Shortcut.ShortcutISShortcutNameYTextA non-unique name for the shortcut. Mainly used by pro pro project types.ShortcutIconIndexY-3276732767The icon index for the shortcut.ShortcutIcon_YIcon1IdentifierForeign key into the File table denoting the external icon file for the shortcut.ShortcutNameNTextThe name of the shortcut to be created.ShortcutShortcutNIdentifierPrimary key, non-localized token.ShortcutShowCmdY1;3;7The show command for the application window.The following values may be used.ShortcutTargetNShortcutThe shortcut target. This is usually a property that is expanded to a file or a folder that the shortcut points to.ShortcutWkDirYIdentifierName of property defining location of working directory.SignatureFileNameNTextThe name of the file. This may contain a "short name|long name" pair.SignatureLanguagesYLanguageThe languages supported by the file.SignatureMaxDateY02147483647The maximum creation date of the file.SignatureMaxSizeY02147483647The maximum size of the file.SignatureMaxVersionYTextThe maximum version of the file.SignatureMinDateY02147483647The minimum creation date of the file.SignatureMinSizeY02147483647The minimum size of the file.SignatureMinVersionYTextThe minimum version of the file.SignatureSignatureNIdentifierThe table key. The Signature represents a unique file signature.TextStyleColorY016777215A long integer indicating the color of the string in the RGB format (Red, Green, Blue each 0-255, RGB = R + 256*G + 256^2*B).TextStyleFaceNameNTextA string indicating the name of the font used. Required. The string must be at most 31 characters long.TextStyleSizeN032767The size of the font used. This size is given in our units (1/12 of the system font height). Assuming that the system font is set to 12 point size, this is equivalent to the point size.TextStyleStyleBitsY015A combination of style bits.TextStyleTextStyleNIdentifierName of the style. The primary key of this table. This name is embedded in the texts to indicate a style change.TypeLibComponent_NComponent1IdentifierRequired foreign key into the Component Table, specifying the component for which to return a path when called through LocateComponent.TypeLibCostY02147483647The cost associated with the registration of the typelib. This column is currently optional.TypeLibDescriptionYText - TypeLibDirectory_YDirectory1IdentifierOptional. The foreign key into the Directory table denoting the path to the help file for the type library.TypeLibFeature_NFeature1IdentifierRequired foreign key into the Feature Table, specifying the feature to validate or install in order for the type library to be operational.TypeLibLanguageN032767The language of the library.TypeLibLibIDNGuidThe GUID that represents the library.TypeLibVersionY02147483647The version of the library. The major version is in the upper 8 bits of the short integer. The minor version is in the lower 8 bits.UITextKeyNIdentifierA unique key that identifies the particular string.UITextTextYTextThe localized version of the string.UpgradeActionPropertyNUpperCaseThe property to set when a product in this set is found.UpgradeAttributesN02147483647The attributes of this product set.UpgradeISDisplayNameYISUpgradeMsiItem1 - UpgradeLanguageYLanguageA comma-separated list of languages for either products in this set or products not in this set.UpgradeRemoveYFormattedThe list of features to remove when uninstalling a product from this set. The default is "ALL".UpgradeUpgradeCodeNGuidThe UpgradeCode GUID belonging to the products in this set.UpgradeVersionMaxYTextThe maximum ProductVersion of the products in this set. The set may or may not include products with this particular version.UpgradeVersionMinYTextThe minimum ProductVersion of the products in this set. The set may or may not include products with this particular version.VerbArgumentYFormattedOptional value for the command arguments.VerbCommandYFormattedThe command text.VerbExtension_NExtension1TextThe extension associated with the table row.VerbSequenceY032767Order within the verbs for a particular extension. Also used simply to specify the default verb.VerbVerbNTextThe verb for the command._ValidationCategoryY"Text";"Formatted";"Template";"Condition";"Guid";"Path";"Version";"Language";"Identifier";"Binary";"UpperCase";"LowerCase";"Filename";"Paths";"AnyPath";"WildCardFilename";"RegPath";"KeyFormatted";"CustomSource";"Property";"Cabinet";"Shortcut";"URL";"DefaultDir"String category_ValidationColumnNIdentifierName of column_ValidationDescriptionYTextDescription of column_ValidationKeyColumnY132Column to which foreign key connects_ValidationKeyTableYIdentifierFor foreign key, Name of table to which data must link_ValidationMaxValueY-21474836472147483647Maximum value allowed_ValidationMinValueY-21474836472147483647Minimum value allowed_ValidationNullableNY;N;@Whether the column is nullable_ValidationSetYTextSet of values that are permitted_ValidationTableNIdentifierName of table
-
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + + + 1252 + Installation Database + KylinODBCDriver (x86) + ##ID_STRING2## + Installer,MSI,Database + Contact: Your local administrator + + Administrator + {199BE185-27D7-428A-8A62-F53B2B0B4DD5} + + 06/21/1999 21:00 + 07/15/2000 00:50 + 200 + 0 + + InstallShield Express + 1 + + + + Action + Description + Template + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Advertise##IDS_ACTIONTEXT_Advertising## + AllocateRegistrySpace##IDS_ACTIONTEXT_AllocatingRegistry####IDS_ACTIONTEXT_FreeSpace##AppSearch##IDS_ACTIONTEXT_SearchInstalled####IDS_ACTIONTEXT_PropertySignature##BindImage##IDS_ACTIONTEXT_BindingExes####IDS_ACTIONTEXT_File##CCPSearch##IDS_ACTIONTEXT_UnregisterModules## + CostFinalize##IDS_ACTIONTEXT_ComputingSpace3## + CostInitialize##IDS_ACTIONTEXT_ComputingSpace## + CreateFolders##IDS_ACTIONTEXT_CreatingFolders####IDS_ACTIONTEXT_Folder##CreateShortcuts##IDS_ACTIONTEXT_CreatingShortcuts####IDS_ACTIONTEXT_Shortcut##DeleteServices##IDS_ACTIONTEXT_DeletingServices####IDS_ACTIONTEXT_Service##DuplicateFiles##IDS_ACTIONTEXT_CreatingDuplicate####IDS_ACTIONTEXT_FileDirectorySize##FileCost##IDS_ACTIONTEXT_ComputingSpace2## + FindRelatedProducts##IDS_ACTIONTEXT_SearchForRelated####IDS_ACTIONTEXT_FoundApp##GenerateScript##IDS_ACTIONTEXT_GeneratingScript####IDS_ACTIONTEXT_1##ISLockPermissionsCost##IDS_ACTIONTEXT_ISLockPermissionsCost## + ISLockPermissionsInstall##IDS_ACTIONTEXT_ISLockPermissionsInstall## + InstallAdminPackage##IDS_ACTIONTEXT_CopyingNetworkFiles####IDS_ACTIONTEXT_FileDirSize##InstallFiles##IDS_ACTIONTEXT_CopyingNewFiles####IDS_ACTIONTEXT_FileDirSize2##InstallODBC##IDS_ACTIONTEXT_InstallODBC## + InstallSFPCatalogFile##IDS_ACTIONTEXT_InstallingSystemCatalog####IDS_ACTIONTEXT_FileDependencies##InstallServices##IDS_ACTIONTEXT_InstallServices####IDS_ACTIONTEXT_Service2##InstallValidate##IDS_ACTIONTEXT_Validating## + LaunchConditions##IDS_ACTIONTEXT_EvaluateLaunchConditions## + MigrateFeatureStates##IDS_ACTIONTEXT_MigratingFeatureStates####IDS_ACTIONTEXT_Application##MoveFiles##IDS_ACTIONTEXT_MovingFiles####IDS_ACTIONTEXT_FileDirSize3##PatchFiles##IDS_ACTIONTEXT_PatchingFiles####IDS_ACTIONTEXT_FileDirSize4##ProcessComponents##IDS_ACTIONTEXT_UpdateComponentRegistration## + PublishComponents##IDS_ACTIONTEXT_PublishingQualifiedComponents####IDS_ACTIONTEXT_ComponentIDQualifier##PublishFeatures##IDS_ACTIONTEXT_PublishProductFeatures####IDS_ACTIONTEXT_FeatureColon##PublishProduct##IDS_ACTIONTEXT_PublishProductInfo## + RMCCPSearch##IDS_ACTIONTEXT_SearchingQualifyingProducts## + RegisterClassInfo##IDS_ACTIONTEXT_RegisterClassServer####IDS_ACTIONTEXT_ClassId##RegisterComPlus##IDS_ACTIONTEXT_RegisteringComPlus####IDS_ACTIONTEXT_AppIdAppTypeRSN##RegisterExtensionInfo##IDS_ACTIONTEXT_RegisterExtensionServers####IDS_ACTIONTEXT_Extension2##RegisterFonts##IDS_ACTIONTEXT_RegisterFonts####IDS_ACTIONTEXT_Font##RegisterMIMEInfo##IDS_ACTIONTEXT_RegisterMimeInfo####IDS_ACTIONTEXT_ContentTypeExtension##RegisterProduct##IDS_ACTIONTEXT_RegisteringProduct####IDS_ACTIONTEXT_1b##RegisterProgIdInfo##IDS_ACTIONTEXT_RegisteringProgIdentifiers####IDS_ACTIONTEXT_ProgID2##RegisterTypeLibraries##IDS_ACTIONTEXT_RegisterTypeLibs####IDS_ACTIONTEXT_LibId##RegisterUser##IDS_ACTIONTEXT_RegUser####IDS_ACTIONTEXT_1c##RemoveDuplicateFiles##IDS_ACTIONTEXT_RemovingDuplicates####IDS_ACTIONTEXT_FileDir##RemoveEnvironmentStrings##IDS_ACTIONTEXT_UpdateEnvironmentStrings####IDS_ACTIONTEXT_NameValueAction2##RemoveExistingProducts##IDS_ACTIONTEXT_RemoveApps####IDS_ACTIONTEXT_AppCommandLine##RemoveFiles##IDS_ACTIONTEXT_RemovingFiles####IDS_ACTIONTEXT_FileDir2##RemoveFolders##IDS_ACTIONTEXT_RemovingFolders####IDS_ACTIONTEXT_Folder1##RemoveIniValues##IDS_ACTIONTEXT_RemovingIni####IDS_ACTIONTEXT_FileSectionKeyValue##RemoveODBC##IDS_ACTIONTEXT_RemovingODBC## + RemoveRegistryValues##IDS_ACTIONTEXT_RemovingRegistry####IDS_ACTIONTEXT_KeyName##RemoveShortcuts##IDS_ACTIONTEXT_RemovingShortcuts####IDS_ACTIONTEXT_Shortcut1##Rollback##IDS_ACTIONTEXT_RollingBack####IDS_ACTIONTEXT_1d##RollbackCleanup##IDS_ACTIONTEXT_RemovingBackup####IDS_ACTIONTEXT_File2##SelfRegModules##IDS_ACTIONTEXT_RegisteringModules####IDS_ACTIONTEXT_FileFolder##SelfUnregModules##IDS_ACTIONTEXT_UnregisterModules####IDS_ACTIONTEXT_FileFolder2##SetODBCFolders##IDS_ACTIONTEXT_InitializeODBCDirs## + StartServices##IDS_ACTIONTEXT_StartingServices####IDS_ACTIONTEXT_Service3##StopServices##IDS_ACTIONTEXT_StoppingServices####IDS_ACTIONTEXT_Service4##UnmoveFiles##IDS_ACTIONTEXT_RemovingMoved####IDS_ACTIONTEXT_FileDir3##UnpublishComponents##IDS_ACTIONTEXT_UnpublishQualified####IDS_ACTIONTEXT_ComponentIdQualifier2##UnpublishFeatures##IDS_ACTIONTEXT_UnpublishProductFeatures####IDS_ACTIONTEXT_Feature##UnpublishProduct##IDS_ACTIONTEXT_UnpublishingProductInfo## + UnregisterClassInfo##IDS_ACTIONTEXT_UnregisterClassServers####IDS_ACTIONTEXT_ClsID##UnregisterComPlus##IDS_ACTIONTEXT_UnregisteringComPlus####IDS_ACTIONTEXT_AppId##UnregisterExtensionInfo##IDS_ACTIONTEXT_UnregisterExtensionServers####IDS_ACTIONTEXT_Extension##UnregisterFonts##IDS_ACTIONTEXT_UnregisteringFonts####IDS_ACTIONTEXT_Font2##UnregisterMIMEInfo##IDS_ACTIONTEXT_UnregisteringMimeInfo####IDS_ACTIONTEXT_ContentTypeExtension2##UnregisterProgIdInfo##IDS_ACTIONTEXT_UnregisteringProgramIds####IDS_ACTIONTEXT_ProgID##UnregisterTypeLibraries##IDS_ACTIONTEXT_UnregTypeLibs####IDS_ACTIONTEXT_Libid2##WriteEnvironmentStrings##IDS_ACTIONTEXT_EnvironmentStrings####IDS_ACTIONTEXT_NameValueAction##WriteIniValues##IDS_ACTIONTEXT_WritingINI####IDS_ACTIONTEXT_FileSectionKeyValue2##WriteRegistryValues##IDS_ACTIONTEXT_WritingRegistry####IDS_ACTIONTEXT_KeyNameValue##
+ + + Action + Condition + Sequence + ISComments + ISAttributes +
CostFinalize1000CostFinalize + CostInitialize800CostInitialize + FileCost900FileCost + InstallAdminPackage3900InstallAdminPackage + InstallFiles4000InstallFiles + InstallFinalize6600InstallFinalize + InstallInitialize1500InstallInitialize + InstallValidate1400InstallValidate + ScheduleRebootISSCHEDULEREBOOT4010ScheduleReboot +
+ + + Action + Condition + Sequence + ISComments + ISAttributes +
AdminWelcome1010AdminWelcome + CostFinalize1000CostFinalize + CostInitialize800CostInitialize + ExecuteAction1300ExecuteAction + FileCost900FileCost + SetupCompleteError-3SetupCompleteError + SetupCompleteSuccess-1SetupCompleteSuccess + SetupInitialization50SetupInitialization + SetupInterrupted-2SetupInterrupted + SetupProgress1020SetupProgress +
+ + + Action + Condition + Sequence + ISComments + ISAttributes +
CostFinalize1000CostFinalize + CostInitialize800CostInitialize + CreateShortcuts4500CreateShortcuts + InstallFinalize6600InstallFinalize + InstallInitialize1500InstallInitialize + InstallValidate1400InstallValidate + MsiPublishAssemblies6250MsiPublishAssemblies + PublishComponents6200PublishComponents + PublishFeatures6300PublishFeatures + PublishProduct6400PublishProduct + RegisterClassInfo4600RegisterClassInfo + RegisterExtensionInfo4700RegisterExtensionInfo + RegisterMIMEInfo4900RegisterMIMEInfo + RegisterProgIdInfo4800RegisterProgIdInfo + RegisterTypeLibraries4910RegisterTypeLibraries + ScheduleRebootISSCHEDULEREBOOT6410ScheduleReboot +
+ + + Action + Condition + Sequence + ISComments + ISAttributes +
+ + + AppId + RemoteServerName + LocalService + ServiceParameters + DllSurrogate + ActivateAtStorage + RunAsInteractiveUser +
+ + + Property + Signature_ +
+ + + Billboard_ + BBControl + Type + X + Y + Width + Height + Attributes + Text +
+ + + Billboard + Feature_ + Action + Ordering +
+ + + Name + Data + ISBuildSourcePath + + + + + + + + + + + + + + + + + + + + + +
ISExpHlp.dll<ISRedistPlatformDependentFolder>\ISExpHlp.dllISSELFREG.DLL<ISRedistPlatformDependentFolder>\isregsvr.dllNewBinary1<ISProductFolder>\Support\Themes\InstallShield Blue Theme\banner.jpgNewBinary10<ISProductFolder>\Redist\Language Independent\OS Independent\CompleteSetupIco.ibdNewBinary11<ISProductFolder>\Redist\Language Independent\OS Independent\CustomSetupIco.ibdNewBinary12<ISProductFolder>\Redist\Language Independent\OS Independent\DestIcon.ibdNewBinary13<ISProductFolder>\Redist\Language Independent\OS Independent\NetworkInstall.icoNewBinary14<ISProductFolder>\Redist\Language Independent\OS Independent\DontInstall.icoNewBinary15<ISProductFolder>\Redist\Language Independent\OS Independent\Install.icoNewBinary16<ISProductFolder>\Redist\Language Independent\OS Independent\InstallFirstUse.icoNewBinary17<ISProductFolder>\Redist\Language Independent\OS Independent\InstallPartial.icoNewBinary18<ISProductFolder>\Redist\Language Independent\OS Independent\InstallStateMenu.icoNewBinary2<ISProductFolder>\Redist\Language Independent\OS Independent\New.ibdNewBinary3<ISProductFolder>\Redist\Language Independent\OS Independent\Up.ibdNewBinary4<ISProductFolder>\Redist\Language Independent\OS Independent\WarningIcon.ibdNewBinary5<ISProductFolder>\Support\Themes\InstallShield Blue Theme\welcome.jpgNewBinary6<ISProductFolder>\Redist\Language Independent\OS Independent\CustomSetupIco.ibdNewBinary7<ISProductFolder>\Redist\Language Independent\OS Independent\ReinstIco.ibdNewBinary8<ISProductFolder>\Redist\Language Independent\OS Independent\RemoveIco.ibdNewBinary9<ISProductFolder>\Redist\Language Independent\OS Independent\SetupIcon.ibdSetAllUsers.dll<ISRedistPlatformDependentFolder>\SetAllUsers.dll
+ + + File_ + Path +
+ + + Signature_ +
+ + + Property + Value + + + +
ISCHECKFORPRODUCTUPDATES1LAUNCHPROGRAM1LAUNCHREADME1
+ + + CLSID + Context + Component_ + ProgId_Default + Description + AppId_ + FileTypeMask + Icon_ + IconIndex + DefInprocHandler + Argument + Feature_ + Attributes +
+ + + Property + Order + Value + Text +
+ + + Signature_ + ComponentId + Type +
+ + + Component_ + ExpType +
+ + + Component + ComponentId + Directory_ + Attributes + Condition + KeyPath + ISAttributes + ISComments + ISScanAtBuildFile + ISRegFileToMergeAtBuild + ISDotNetInstallerArgsInstall + ISDotNetInstallerArgsCommit + ISDotNetInstallerArgsUninstall + ISDotNetInstallerArgsRollback + + +
Driver.Primary_Output{5033D0A3-753C-4AD9-9346-CF648DD83372}INSTALLDIR2driver.primary_output17/LogFile=/LogFile=/LogFile=/LogFile=ISX_DEFAULTCOMPONENT1{5CADC1FF-1330-4DDF-B22C-1BB1FD18199D}INSTALLDIR217/LogFile=/LogFile=/LogFile=/LogFile=
+ + + Feature_ + Level + Condition +
+ + + Dialog_ + Control + Type + X + Y + Width + Height + Attributes + Property + Text + Control_Next + Help + ISWindowStyle + ISControlId + ISBuildSourcePath + Binary_ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AdminChangeFolderBannerBitmap003744410NewBinary1AdminChangeFolderBannerLineLine044374010 + AdminChangeFolderBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 + AdminChangeFolderBranding2Text3228501365537##IDS_INSTALLSHIELD##0 + AdminChangeFolderCancelPushButton30124366173##IDS_CANCEL##ComboText0 + AdminChangeFolderComboDirectoryCombo216427780458755TARGETDIR##IDS__IsAdminInstallBrowse_4##Up0 + AdminChangeFolderComboTextText215099143##IDS__IsAdminInstallBrowse_LookIn##Combo0 + AdminChangeFolderDlgDescText21232922565539##IDS__IsAdminInstallBrowse_BrowseDestination##0 + AdminChangeFolderDlgLineLine48234326010 + AdminChangeFolderDlgTitleText1362922565539##IDS__IsAdminInstallBrowse_ChangeDestination##0 + AdminChangeFolderListDirectoryList2190332977TARGETDIR##IDS__IsAdminInstallBrowse_8##TailText0 + AdminChangeFolderNewFolderPushButton3356619193670019List##IDS__IsAdminInstallBrowse_CreateFolder##0NewBinary2AdminChangeFolderOKPushButton23024366173##IDS_OK##Cancel0 + AdminChangeFolderTailPathEdit21207332173TARGETDIR##IDS__IsAdminInstallBrowse_11##OK0 + AdminChangeFolderTailTextText2119399133##IDS__IsAdminInstallBrowse_FolderName##Tail0 + AdminChangeFolderUpPushButton3106619193670019NewFolder##IDS__IsAdminInstallBrowse_UpOneLevel##0NewBinary3AdminNetworkLocationBackPushButton16424366173##IDS_BACK##InstallNow0 + AdminNetworkLocationBannerBitmap003744410NewBinary1AdminNetworkLocationBannerLineLine044374010 + AdminNetworkLocationBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 + AdminNetworkLocationBranding2Text3228501365537##IDS_INSTALLSHIELD##0 + AdminNetworkLocationBrowsePushButton28612466173##IDS__IsAdminInstallPoint_Change##Back0 + AdminNetworkLocationCancelPushButton30124366173##IDS_CANCEL##SetupPathEdit0 + AdminNetworkLocationDlgDescText21232922565539##IDS__IsAdminInstallPoint_SpecifyNetworkLocation##0 + AdminNetworkLocationDlgLineLine48234326010 + AdminNetworkLocationDlgTextText215132640131075##IDS__IsAdminInstallPoint_EnterNetworkLocation##0 + AdminNetworkLocationDlgTitleText1362922565539##IDS__IsAdminInstallPoint_NetworkLocationFormatted##0 + AdminNetworkLocationInstallNowPushButton23024366173##IDS__IsAdminInstallPoint_Install##Cancel0 + AdminNetworkLocationLBBrowseText2190100103##IDS__IsAdminInstallPoint_NetworkLocation##0 + AdminNetworkLocationSetupPathEditPathEdit21102330173TARGETDIRBrowse0 + AdminWelcomeBackPushButton16424366171##IDS_BACK##Next0 + AdminWelcomeCancelPushButton30124366173##IDS_CANCEL##Back0 + AdminWelcomeDlgLineLine0234326010 + AdminWelcomeImageBitmap0037423410NewBinary5AdminWelcomeNextPushButton23024366173##IDS_NEXT##Cancel0 + AdminWelcomeTextLine1Text135822545196611##IDS__IsAdminInstallPointWelcome_Wizard##0 + AdminWelcomeTextLine2Text1355522845196611##IDS__IsAdminInstallPointWelcome_ServerImage##0 + CancelSetupIconIcon1515242452428810NewBinary4CancelSetupNoPushButton1355766173##IDS__IsCancelDlg_No##Yes0 + CancelSetupTextText481519430131075##IDS__IsCancelDlg_ConfirmCancel##0 + CancelSetupYesPushButton625766173##IDS__IsCancelDlg_Yes##No0 + CustomSetupBackPushButton16424366173##IDS_BACK##Next0 + CustomSetupBannerBitmap003744410NewBinary1CustomSetupBannerLineLine044374010 + CustomSetupBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 + CustomSetupBranding2Text3228501365537##IDS_INSTALLSHIELD##0 + CustomSetupCancelPushButton30124366173##IDS_CANCEL##Tree0 + CustomSetupChangeFolderPushButton30120366173##IDS__IsCustomSelectionDlg_Change##Help0 + CustomSetupDetailsPushButton9324366173##IDS__IsCustomSelectionDlg_Space##Back0 + CustomSetupDlgDescText17232922565539##IDS__IsCustomSelectionDlg_SelectFeatures##0 + CustomSetupDlgLineLine48234326010 + CustomSetupDlgTextText951360103##IDS__IsCustomSelectionDlg_ClickFeatureIcon##0 + CustomSetupDlgTitleText962922565539##IDS__IsCustomSelectionDlg_CustomSetup##0 + CustomSetupFeatureGroupGroupBox235671311201##IDS__IsCustomSelectionDlg_FeatureDescription##0 + CustomSetupHelpPushButton2224366173##IDS__IsCustomSelectionDlg_Help##Details0 + CustomSetupInstallLabelText8190360103##IDS__IsCustomSelectionDlg_InstallTo##0 + CustomSetupItemDescriptionText24180120503##IDS__IsCustomSelectionDlg_MultilineDescription##0 + CustomSetupLocationText8203291203##IDS__IsCustomSelectionDlg_FeaturePath##0 + CustomSetupNextPushButton23024366173##IDS_NEXT##Cancel0 + CustomSetupSizeText241133120503##IDS__IsCustomSelectionDlg_FeatureSize##0 + CustomSetupTreeSelectionTree8702201187_BrowsePropertyChangeFolder0 + CustomSetupTipsBannerBitmap003744410NewBinary1CustomSetupTipsBannerLineLine044374010 + CustomSetupTipsBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 + CustomSetupTipsBranding2Text3228501365537##IDS_INSTALLSHIELD##0 + CustomSetupTipsDlgDescText21232922565539##IDS_SetupTips_CustomSetupDescription##0 + CustomSetupTipsDlgLineLine48234326010 + CustomSetupTipsDlgTitleText1362922565539##IDS_SetupTips_CustomSetup##0 + CustomSetupTipsDontInstallIcon21155242452428810NewBinary14CustomSetupTipsDontInstallTextText60155300203##IDS_SetupTips_WillNotBeInstalled##0 + CustomSetupTipsFirstInstallTextText60180300203##IDS_SetupTips_Advertise##0 + CustomSetupTipsInstallIcon21105242452428810NewBinary15CustomSetupTipsInstallFirstUseIcon21180242452428810NewBinary16CustomSetupTipsInstallPartialIcon21130242452428810NewBinary17CustomSetupTipsInstallStateMenuIcon2152242452428810NewBinary18CustomSetupTipsInstallStateTextText2191300103##IDS_SetupTips_InstallState##00 + CustomSetupTipsInstallTextText60105300203##IDS_SetupTips_AllInstalledLocal##0 + CustomSetupTipsMenuTextText5052300363##IDS_SetupTips_IconInstallState##0 + CustomSetupTipsNetworkInstallIcon21205242452428810NewBinary13CustomSetupTipsNetworkInstallTextText60205300203##IDS_SetupTips_Network##0 + CustomSetupTipsOKPushButton30124366173##IDS_SetupTips_OK##0 + CustomSetupTipsPartialTextText60130300203##IDS_SetupTips_SubFeaturesInstalledLocal##0 + CustomerInformationBackPushButton16424366173##IDS_BACK##Next0 + CustomerInformationBannerBitmap003744410NewBinary1CustomerInformationBannerLineLine044374010 + CustomerInformationBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 + CustomerInformationBranding2Text3228501365537##IDS_INSTALLSHIELD##0 + CustomerInformationCancelPushButton30124366173##IDS_CANCEL##NameLabel0 + CustomerInformationCompanyEditEdit21100237173COMPANYNAME##IDS__IsRegisterUserDlg_Tahoma80##SerialLabel0 + CustomerInformationCompanyLabelText218975103##IDS__IsRegisterUserDlg_Organization##CompanyEdit0 + CustomerInformationDlgDescText21232922565539##IDS__IsRegisterUserDlg_PleaseEnterInfo##0 + CustomerInformationDlgLineLine48234326010 + CustomerInformationDlgRadioGroupTextText21161300142##IDS__IsRegisterUserDlg_InstallFor##0 + CustomerInformationDlgTitleText1362922565539##IDS__IsRegisterUserDlg_CustomerInformation##0 + CustomerInformationNameEditEdit2163237173USERNAME##IDS__IsRegisterUserDlg_Tahoma50##CompanyLabel0 + CustomerInformationNameLabelText215275103##IDS__IsRegisterUserDlg_UserName##NameEdit0 + CustomerInformationNextPushButton23024366173##IDS_NEXT##Cancel0 + CustomerInformationRadioGroupRadioButtonGroup63170300502ApplicationUsers##IDS__IsRegisterUserDlg_16##Back0 + CustomerInformationSerialLabelText21127109102##IDS__IsRegisterUserDlg_SerialNumber##SerialNumber0 + CustomerInformationSerialNumberMaskedEdit21138237172ISX_SERIALNUMRadioGroup0 + DatabaseFolderBackPushButton16424366173##IDS_BACK##Next0 + DatabaseFolderBannerBitmap003744410NewBinary1DatabaseFolderBannerLineLine044374010 + DatabaseFolderBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 + DatabaseFolderBranding2Text3228501365537##IDS_INSTALLSHIELD##0 + DatabaseFolderCancelPushButton30124366173##IDS_CANCEL##ChangeFolder0 + DatabaseFolderChangeFolderPushButton3016566173##IDS_CHANGE##Back0 + DatabaseFolderDatabaseFolderIcon2152242452428810NewBinary12DatabaseFolderDlgDescText21232922565539##IDS__DatabaseFolder_ChangeFolder##0 + DatabaseFolderDlgLineLine48234326010 + DatabaseFolderDlgTitleText1362922565539##IDS__DatabaseFolder_DatabaseFolder##0 + DatabaseFolderLocLabelText575229010131075##IDS_DatabaseFolder_InstallDatabaseTo##0 + DatabaseFolderLocationText5765240403_BrowseProperty##IDS__DatabaseFolder_DatabaseDir##0 + DatabaseFolderNextPushButton23024366173##IDS_NEXT##Cancel0 + DestinationFolderBackPushButton16424366173##IDS_BACK##Next0 + DestinationFolderBannerBitmap003744410NewBinary1DestinationFolderBannerLineLine044374010 + DestinationFolderBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 + DestinationFolderBranding2Text3228501365537##IDS_INSTALLSHIELD##0 + DestinationFolderCancelPushButton30124366173##IDS_CANCEL##ChangeFolder0 + DestinationFolderChangeFolderPushButton3016566173##IDS__DestinationFolder_Change##Back0 + DestinationFolderDestFolderIcon2152242452428810NewBinary12DestinationFolderDlgDescText21232922565539##IDS__DestinationFolder_ChangeFolder##0 + DestinationFolderDlgLineLine48234326010 + DestinationFolderDlgTitleText1362922565539##IDS__DestinationFolder_DestinationFolder##0 + DestinationFolderLocLabelText575229010131075##IDS__DestinationFolder_InstallTo##0 + DestinationFolderLocationText5765240403_BrowseProperty##IDS_INSTALLDIR##0 + DestinationFolderNextPushButton23024366173##IDS_NEXT##Cancel0 + DiskSpaceRequirementsBannerBitmap003744410NewBinary1DiskSpaceRequirementsBannerLineLine044374010 + DiskSpaceRequirementsBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 + DiskSpaceRequirementsBranding2Text3228501365537##IDS_INSTALLSHIELD##0 + DiskSpaceRequirementsDlgDescText17232922565539##IDS__IsFeatureDetailsDlg_SpaceRequired##0 + DiskSpaceRequirementsDlgLineLine48234326010 + DiskSpaceRequirementsDlgTextText10185358413##IDS__IsFeatureDetailsDlg_VolumesTooSmall##0 + DiskSpaceRequirementsDlgTitleText962922565539##IDS__IsFeatureDetailsDlg_DiskSpaceRequirements##0 + DiskSpaceRequirementsListVolumeCostList855358125393223##IDS__IsFeatureDetailsDlg_Numbers##0 + DiskSpaceRequirementsOKPushButton30124366173##IDS__IsFeatureDetailsDlg_OK##0 + FilesInUseBannerBitmap003744410NewBinary1FilesInUseBannerLineLine044374010 + FilesInUseBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 + FilesInUseBranding2Text3228501365537##IDS_INSTALLSHIELD##0 + FilesInUseDlgDescText21232922565539##IDS__IsFilesInUse_FilesInUseMessage##0 + FilesInUseDlgLineLine48234326010 + FilesInUseDlgTextText2151348333##IDS__IsFilesInUse_ApplicationsUsingFiles##0 + FilesInUseDlgTitleText1362922565539##IDS__IsFilesInUse_FilesInUse##0 + FilesInUseExitPushButton30124366173##IDS__IsFilesInUse_Exit##List0 + FilesInUseIgnorePushButton23024366173##IDS__IsFilesInUse_Ignore##Exit0 + FilesInUseListListBox21873311357FileInUseProcessRetry0 + FilesInUseRetryPushButton16424366173##IDS__IsFilesInUse_Retry##Ignore0 + InstallChangeFolderBannerBitmap003744410NewBinary1InstallChangeFolderBannerLineLine044374010 + InstallChangeFolderBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 + InstallChangeFolderBranding2Text3228501365537##IDS_INSTALLSHIELD##0 + InstallChangeFolderCancelPushButton30124366173##IDS_CANCEL##ComboText0 + InstallChangeFolderComboDirectoryCombo2164277804128779_BrowseProperty##IDS__IsBrowseFolderDlg_4##Up0 + InstallChangeFolderComboTextText215099143##IDS__IsBrowseFolderDlg_LookIn##Combo0 + InstallChangeFolderDlgDescText21232922565539##IDS__IsBrowseFolderDlg_BrowseDestFolder##0 + InstallChangeFolderDlgLineLine48234326010 + InstallChangeFolderDlgTitleText1362922565539##IDS__IsBrowseFolderDlg_ChangeCurrentFolder##0 + InstallChangeFolderListDirectoryList21903329715_BrowseProperty##IDS__IsBrowseFolderDlg_8##TailText0 + InstallChangeFolderNewFolderPushButton3356619193670019List##IDS__IsBrowseFolderDlg_CreateFolder##0NewBinary2InstallChangeFolderOKPushButton23024366173##IDS__IsBrowseFolderDlg_OK##Cancel0 + InstallChangeFolderTailPathEdit212073321715_BrowseProperty##IDS__IsBrowseFolderDlg_11##OK0 + InstallChangeFolderTailTextText2119399133##IDS__IsBrowseFolderDlg_FolderName##Tail0 + InstallChangeFolderUpPushButton3106619193670019NewFolder##IDS__IsBrowseFolderDlg_UpOneLevel##0NewBinary3InstallWelcomeBackPushButton16424366171##IDS_BACK##Copyright0 + InstallWelcomeCancelPushButton30124366173##IDS_CANCEL##Back0 + InstallWelcomeCopyrightText1351442287365539##IDS__IsWelcomeDlg_WarningCopyright##Next0 + InstallWelcomeDlgLineLine0234374010 + InstallWelcomeImageBitmap0037423410NewBinary5InstallWelcomeNextPushButton23024366173##IDS_NEXT##Cancel0 + InstallWelcomeTextLine1Text135822545196611##IDS__IsWelcomeDlg_WelcomeProductName##0 + InstallWelcomeTextLine2Text1355522845196611##IDS__IsWelcomeDlg_InstallProductName##0 + LicenseAgreementAgreeRadioButtonGroup8190291403AgreeToLicenseBack0 + LicenseAgreementBackPushButton16424366173##IDS_BACK##Next0 + LicenseAgreementBannerBitmap003744410NewBinary1LicenseAgreementBannerLineLine044374010 + LicenseAgreementBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 + LicenseAgreementBranding2Text3228501365537##IDS_INSTALLSHIELD##0 + LicenseAgreementCancelPushButton30124366173##IDS_CANCEL##ISPrintButton0 + LicenseAgreementDlgDescText21232922565539##IDS__IsLicenseDlg_ReadLicenseAgreement##0 + LicenseAgreementDlgLineLine48234326010 + LicenseAgreementDlgTitleText1362922565539##IDS__IsLicenseDlg_LicenseAgreement##0 + LicenseAgreementISPrintButtonPushButton30118865173##IDS_PRINT_BUTTON##Agree0 + LicenseAgreementMemoScrollableText85535813070<ISProductFolder>\Redist\0409\Eula.rtf + LicenseAgreementNextPushButton23024366173##IDS_NEXT##Cancel0 + MaintenanceTypeBackPushButton16424366173##IDS_BACK##Next0 + MaintenanceTypeBannerBitmap003744410NewBinary1MaintenanceTypeBannerLineLine044374010 + MaintenanceTypeBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 + MaintenanceTypeBranding2Text3228501365537##IDS_INSTALLSHIELD##0 + MaintenanceTypeCancelPushButton30124366173##IDS_CANCEL##RadioGroup0 + MaintenanceTypeDlgDescText21232922565539##IDS__IsMaintenanceDlg_MaitenanceOptions##0 + MaintenanceTypeDlgLineLine48234326010 + MaintenanceTypeDlgTitleText1362922565539##IDS__IsMaintenanceDlg_ProgramMaintenance##0 + MaintenanceTypeIco1Icon3575242452428810NewBinary6MaintenanceTypeIco2Icon35135242452428810NewBinary7MaintenanceTypeIco3Icon35195242452428810NewBinary8MaintenanceTypeNextPushButton23024366173##IDS_NEXT##Cancel0 + MaintenanceTypeRadioGroupRadioButtonGroup21552901703_IsMaintenanceBack0 + MaintenanceTypeText1Text8072260353##IDS__IsMaintenanceDlg_ChangeFeatures##0 + MaintenanceTypeText2Text80135260353##IDS__IsMaintenanceDlg_RepairMessage##0 + MaintenanceTypeText3Text8019226035131075##IDS__IsMaintenanceDlg_RemoveProductName##0 + MaintenanceWelcomeBackPushButton16424366171##IDS_BACK##Next0 + MaintenanceWelcomeCancelPushButton30124366173##IDS_CANCEL##Back0 + MaintenanceWelcomeDlgLineLine0234374010 + MaintenanceWelcomeImageBitmap0037423410NewBinary5MaintenanceWelcomeNextPushButton23024366173##IDS_NEXT##Cancel0 + MaintenanceWelcomeTextLine1Text135822545196611##IDS__IsMaintenanceWelcome_WizardWelcome##0 + MaintenanceWelcomeTextLine2Text1355522850196611##IDS__IsMaintenanceWelcome_MaintenanceOptionsDescription##0 + MsiRMFilesInUseBannerBitmap003744410NewBinary1MsiRMFilesInUseBannerLineLine044374010 + MsiRMFilesInUseBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 + MsiRMFilesInUseBranding2Text3228501365537##IDS_INSTALLSHIELD##0 + MsiRMFilesInUseCancelPushButton30124366173##IDS_CANCEL##Restart0 + MsiRMFilesInUseDlgDescText21232922565539##IDS__IsFilesInUse_FilesInUseMessage##0 + MsiRMFilesInUseDlgLineLine48234326010 + MsiRMFilesInUseDlgTextText2151348143##IDS__IsMsiRMFilesInUse_ApplicationsUsingFiles##0 + MsiRMFilesInUseDlgTitleText1362922565539##IDS__IsFilesInUse_FilesInUse##0 + MsiRMFilesInUseListListBox21663311303FileInUseProcessOK0 + MsiRMFilesInUseOKPushButton23024366173##IDS_OK##Cancel0 + MsiRMFilesInUseRestartRadioButtonGroup19187343403RestartManagerOptionList0 + OutOfSpaceBannerBitmap003744410NewBinary1OutOfSpaceBannerLineLine044374010 + OutOfSpaceBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 + OutOfSpaceBranding2Text3228501365537##IDS_INSTALLSHIELD##0 + OutOfSpaceDlgDescText21232922565539##IDS__IsDiskSpaceDlg_DiskSpace##0 + OutOfSpaceDlgLineLine48234326010 + OutOfSpaceDlgTextText2151326433##IDS__IsDiskSpaceDlg_HighlightedVolumes##0 + OutOfSpaceDlgTitleText1362922565539##IDS__IsDiskSpaceDlg_OutOfDiskSpace##0 + OutOfSpaceListVolumeCostList2195332120393223##IDS__IsDiskSpaceDlg_Numbers##0 + OutOfSpaceResumePushButton30124366173##IDS__IsDiskSpaceDlg_OK##0 + PatchWelcomeBackPushButton16424366171##IDS_BACK##Next0 + PatchWelcomeCancelPushButton30124366173##IDS_CANCEL##Back0 + PatchWelcomeDlgLineLine0234374010 + PatchWelcomeImageBitmap0037423410NewBinary5PatchWelcomeNextPushButton23024366173##IDS__IsPatchDlg_Update##Cancel0 + PatchWelcomeTextLine1Text135822545196611##IDS__IsPatchDlg_WelcomePatchWizard##0 + PatchWelcomeTextLine2Text1355422845196611##IDS__IsPatchDlg_PatchClickUpdate##0 + ReadmeInformationBackPushButton16424366171048579##IDS_BACK##Next0 + ReadmeInformationBannerBitmap00374443DlgTitle0NewBinary1ReadmeInformationBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##00 + ReadmeInformationBranding2Text3228501365537##IDS_INSTALLSHIELD##00 + ReadmeInformationCancelPushButton30124366171048579##IDS__IsReadmeDlg_Cancel##Readme0 + ReadmeInformationDlgDescText21232321665539##IDS__IsReadmeDlg_PleaseReadInfo##Back00 + ReadmeInformationDlgLineLine482343260300 + ReadmeInformationDlgTitleText1361931365539##IDS__IsReadmeDlg_ReadMeInfo##DlgDesc0 + ReadmeInformationNextPushButton23024366171048579##IDS_NEXT##Cancel0 + ReadmeInformationReadmeScrollableText10553531663Banner0<ISProductFolder>\Redist\0409\Readme.rtf + ReadyToInstallBackPushButton16424366173##IDS_BACK##GroupBox10 + ReadyToInstallBannerBitmap003744410NewBinary1ReadyToInstallBannerLineLine044374010 + ReadyToInstallBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 + ReadyToInstallBranding2Text3228501365537##IDS_INSTALLSHIELD##0 + ReadyToInstallCancelPushButton30124366173##IDS_CANCEL##Back0 + ReadyToInstallCompanyNameTextText3819821193##IDS__IsVerifyReadyDlg_Company##SerialNumberText0 + ReadyToInstallCurrentSettingsTextText198081103##IDS__IsVerifyReadyDlg_CurrentSettings##InstallNow0 + ReadyToInstallDlgDescText21232922565539##IDS__IsVerifyReadyDlg_WizardReady##0 + ReadyToInstallDlgLineLine482343260100 + ReadyToInstallDlgText1Text2154330243##IDS__IsVerifyReadyDlg_BackOrCancel##0 + ReadyToInstallDlgText2Text2199330202##IDS__IsRegisterUserDlg_InstallFor##0 + ReadyToInstallDlgTitleText1362922565538##IDS__IsVerifyReadyDlg_ModifyReady##0 + ReadyToInstallDlgTitle2Text1362922565538##IDS__IsVerifyReadyDlg_ReadyRepair##0 + ReadyToInstallDlgTitle3Text1362922565538##IDS__IsVerifyReadyDlg_ReadyInstall##0 + ReadyToInstallGroupBox1Text199233013365541SetupTypeText10 + ReadyToInstallInstallNowPushButton23024366178388611##IDS__IsVerifyReadyDlg_Install##InstallPerMachine0 + ReadyToInstallInstallPerMachinePushButton63123248178388610##IDS__IsRegisterUserDlg_Anyone##InstallPerUser0 + ReadyToInstallInstallPerUserPushButton63143248172##IDS__IsRegisterUserDlg_OnlyMe##Cancel0 + ReadyToInstallSerialNumberTextText3821130693##IDS__IsVerifyReadyDlg_Serial##CurrentSettingsText0 + ReadyToInstallSetupTypeText1Text2397306133##IDS__IsVerifyReadyDlg_SetupType##SetupTypeText20 + ReadyToInstallSetupTypeText2Text37114306143##IDS__IsVerifyReadyDlg_SelectedSetupType##TargetFolderText10 + ReadyToInstallTargetFolderText1Text24136306113##IDS__IsVerifyReadyDlg_DestFolder##TargetFolderText20 + ReadyToInstallTargetFolderText2Text37151306133##IDS__IsVerifyReadyDlg_Installdir##UserInformationText0 + ReadyToInstallUserInformationTextText23171306133##IDS__IsVerifyReadyDlg_UserInfo##UserNameText0 + ReadyToInstallUserNameTextText3818430693##IDS__IsVerifyReadyDlg_UserName##CompanyNameText0 + ReadyToRemoveBackPushButton16424366173##IDS_BACK##RemoveNow0 + ReadyToRemoveBannerBitmap003744410NewBinary1ReadyToRemoveBannerLineLine044374010 + ReadyToRemoveBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 + ReadyToRemoveBranding2Text3228501365537##IDS_INSTALLSHIELD##0 + ReadyToRemoveCancelPushButton30124366173##IDS_CANCEL##Back0 + ReadyToRemoveDlgDescText21232922565539##IDS__IsVerifyRemoveAllDlg_ChoseRemoveProgram##0 + ReadyToRemoveDlgLineLine48234326010 + ReadyToRemoveDlgTextText215132624131075##IDS__IsVerifyRemoveAllDlg_ClickRemove##0 + ReadyToRemoveDlgText1Text2179330233##IDS__IsVerifyRemoveAllDlg_ClickBack##0 + ReadyToRemoveDlgText2Text211023302430 + ReadyToRemoveDlgTitleText1362922565539##IDS__IsVerifyRemoveAllDlg_RemoveProgram##0 + ReadyToRemoveRemoveNowPushButton23024366178388611##IDS__IsVerifyRemoveAllDlg_Remove##Cancel0 + SetupCompleteErrorBackPushButton16424366171##IDS_BACK##Finish0 + SetupCompleteErrorCancelPushButton30124366171##IDS_CANCEL##Back0 + SetupCompleteErrorCheckShowMsiLogCheckBox1511721092ISSHOWMSILOGCancel0 + SetupCompleteErrorDlgLineLine0234374010 + SetupCompleteErrorFinishPushButton23024366173##IDS__IsFatalError_Finish##Image0 + SetupCompleteErrorFinishText1Text135802285065539##IDS__IsFatalError_NotModified##0 + SetupCompleteErrorFinishText2Text1351352282565539##IDS__IsFatalError_ClickFinish##0 + SetupCompleteErrorImageBitmap003742341CheckShowMsiLog0NewBinary5SetupCompleteErrorRestContText1Text135802285065539##IDS__IsFatalError_KeepOrRestore##0 + SetupCompleteErrorRestContText2Text1351352282565539##IDS__IsFatalError_RestoreOrContinueLater##0 + SetupCompleteErrorShowMsiLogTextText1641721981065538##IDS__IsSetupComplete_ShowMsiLog##0 + SetupCompleteErrorTextLine1Text13582254565539##IDS__IsFatalError_WizardCompleted##0 + SetupCompleteErrorTextLine2Text1355522825196611##IDS__IsFatalError_WizardInterrupted##0 + SetupCompleteSuccessBackPushButton16424366171##IDS_BACK##OK0 + SetupCompleteSuccessCancelPushButton30124366171##IDS_CANCEL##Image0 + SetupCompleteSuccessCheckBoxUpdatesCheckBox1351641092ISCHECKFORPRODUCTUPDATESCheckBox1CheckShowMsiLog0 + SetupCompleteSuccessCheckForUpdatesTextText1521621903065538##IDS__IsExitDialog_Update_YesCheckForUpdates##0 + SetupCompleteSuccessCheckLaunchProgramCheckBox1511141092LAUNCHPROGRAMCheckLaunchReadme0 + SetupCompleteSuccessCheckLaunchReadmeCheckBox1511481092LAUNCHREADMECheckBoxUpdates0 + SetupCompleteSuccessCheckShowMsiLogCheckBox1511821092ISSHOWMSILOGBack0 + SetupCompleteSuccessDlgLineLine0234374010 + SetupCompleteSuccessImageBitmap003742341CheckLaunchProgram0NewBinary5SetupCompleteSuccessLaunchProgramTextText164112981565538##IDS__IsExitDialog_LaunchProgram##00 + SetupCompleteSuccessLaunchReadmeTextText1641481201365538##IDS__IsExitDialog_ShowReadMe##00 + SetupCompleteSuccessOKPushButton23024366173##IDS__IsExitDialog_Finish##Cancel0 + SetupCompleteSuccessShowMsiLogTextText1641821981065538##IDS__IsSetupComplete_ShowMsiLog##0 + SetupCompleteSuccessTextLine1Text13582254565539##IDS__IsExitDialog_WizardCompleted##0 + SetupCompleteSuccessTextLine2Text1355522845196610##IDS__IsExitDialog_InstallSuccess##0 + SetupCompleteSuccessTextLine3Text1355522845196610##IDS__IsExitDialog_UninstallSuccess##0 + SetupCompleteSuccessUpdateTextLine1Text1353022845196610##IDS__IsExitDialog_Update_SetupFinished##0 + SetupCompleteSuccessUpdateTextLine2Text1358022845196610##IDS__IsExitDialog_Update_PossibleUpdates##0 + SetupCompleteSuccessUpdateTextLine3Text1351202284565538##IDS__IsExitDialog_Update_InternetConnection##0 + SetupErrorAPushButton1928066173##IDS__IsErrorDlg_Abort##0 + SetupErrorCPushButton1928066173##IDS_CANCEL2##0 + SetupErrorErrorIconIcon1515242452428810NewBinary4SetupErrorErrorTextText501520050131075##IDS__IsErrorDlg_ErrorText##0 + SetupErrorIPushButton1928066173##IDS__IsErrorDlg_Ignore##0 + SetupErrorNPushButton1928066173##IDS__IsErrorDlg_NO##0 + SetupErrorOPushButton1928066173##IDS__IsErrorDlg_OK##0 + SetupErrorRPushButton1928066173##IDS__IsErrorDlg_Retry##0 + SetupErrorYPushButton1928066173##IDS__IsErrorDlg_Yes##0 + SetupInitializationActionDataText1351252281265539##IDS__IsInitDlg_1##0 + SetupInitializationActionTextText1351092203665539##IDS__IsInitDlg_2##0 + SetupInitializationBackPushButton16424366171##IDS_BACK##0 + SetupInitializationCancelPushButton30124366173##IDS_CANCEL##0 + SetupInitializationDlgLineLine0234374010 + SetupInitializationImageBitmap0037423410NewBinary5SetupInitializationNextPushButton23024366171##IDS_NEXT##0 + SetupInitializationTextLine1Text135822545196611##IDS__IsInitDlg_WelcomeWizard##0 + SetupInitializationTextLine2Text1355522830196611##IDS__IsInitDlg_PreparingWizard##0 + SetupInterruptedBackPushButton16424366171##IDS_BACK##Finish0 + SetupInterruptedCancelPushButton30124366171##IDS_CANCEL##Image0 + SetupInterruptedCheckShowMsiLogCheckBox1511721092ISSHOWMSILOGBack0 + SetupInterruptedDlgLineLine0234374010 + SetupInterruptedFinishPushButton23024366173##IDS__IsUserExit_Finish##Cancel0 + SetupInterruptedFinishText1Text135802285065539##IDS__IsUserExit_NotModified##0 + SetupInterruptedFinishText2Text1351352282565539##IDS__IsUserExit_ClickFinish##0 + SetupInterruptedImageBitmap003742341CheckShowMsiLog0NewBinary5SetupInterruptedRestContText1Text135802285065539##IDS__IsUserExit_KeepOrRestore##0 + SetupInterruptedRestContText2Text1351352282565539##IDS__IsUserExit_RestoreOrContinue##0 + SetupInterruptedShowMsiLogTextText1641721981065538##IDS__IsSetupComplete_ShowMsiLog##0 + SetupInterruptedTextLine1Text13582254565539##IDS__IsUserExit_WizardCompleted##0 + SetupInterruptedTextLine2Text1355522825196611##IDS__IsUserExit_WizardInterrupted##0 + SetupProgressActionProgress95ProgressBar591132751265537##IDS__IsProgressDlg_ProgressDone##0 + SetupProgressActionTextText59100275123##IDS__IsProgressDlg_2##0 + SetupProgressBackPushButton16424366171##IDS_BACK##Next0 + SetupProgressBannerBitmap003744410NewBinary1SetupProgressBannerLineLine044374010 + SetupProgressBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 + SetupProgressBranding2Text3228501365537##IDS_INSTALLSHIELD##0 + SetupProgressCancelPushButton30124366173##IDS_CANCEL##Back0 + SetupProgressDlgDescText21232922565538##IDS__IsProgressDlg_UninstallingFeatures2##0 + SetupProgressDlgDesc2Text21232922565538##IDS__IsProgressDlg_UninstallingFeatures##0 + SetupProgressDlgLineLine48234326010 + SetupProgressDlgTextText595127530196610##IDS__IsProgressDlg_WaitUninstall2##0 + SetupProgressDlgText2Text595127530196610##IDS__IsProgressDlg_WaitUninstall##0 + SetupProgressDlgTitleText13629225196610##IDS__IsProgressDlg_InstallingProductName##0 + SetupProgressDlgTitle2Text13629225196610##IDS__IsProgressDlg_Uninstalling##0 + SetupProgressLbSecText19213932122##IDS__IsProgressDlg_SecHidden##0 + SetupProgressLbStatusText598570123##IDS__IsProgressDlg_Status##0 + SetupProgressNextPushButton23024366171##IDS_NEXT##Cancel0 + SetupProgressSetupIconIcon2151242452428810NewBinary9SetupProgressShowTimeText17013917122##IDS__IsProgressDlg_Hidden##0 + SetupProgressTextTimeText59139110122##IDS__IsProgressDlg_HiddenTimeRemaining##0 + SetupResumeBackPushButton16424366171##IDS_BACK##Next0 + SetupResumeCancelPushButton30124366173##IDS_CANCEL##Back0 + SetupResumeDlgLineLine0234374010 + SetupResumeImageBitmap0037423410NewBinary5SetupResumeNextPushButton23024366173##IDS_NEXT##Cancel0 + SetupResumePreselectedTextText1355522845196611##IDS__IsResumeDlg_WizardResume##0 + SetupResumeResumeTextText1354622845196611##IDS__IsResumeDlg_ResumeSuspended##0 + SetupResumeTextLine1Text135822545196611##IDS__IsResumeDlg_Resuming##0 + SetupTypeBackPushButton16424366173##IDS_BACK##Next0 + SetupTypeBannerBitmap003744410NewBinary1SetupTypeBannerLineLine044374010 + SetupTypeBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 + SetupTypeBranding2Text3228501365537##IDS_INSTALLSHIELD##0 + SetupTypeCancelPushButton30124366173##IDS_CANCEL##RadioGroup0 + SetupTypeCompTextText8080246303##IDS__IsSetupTypeMinDlg_AllFeatures##0 + SetupTypeCompleteIcoIcon3480242452428810NewBinary10SetupTypeCustTextText80171246302##IDS__IsSetupTypeMinDlg_ChooseFeatures##0 + SetupTypeCustomIcoIcon34171242452428800NewBinary11SetupTypeDlgDescText21232922565539##IDS__IsSetupTypeMinDlg_ChooseSetupType##0 + SetupTypeDlgLineLine48234326010 + SetupTypeDlgTextText2249326103##IDS__IsSetupTypeMinDlg_SelectSetupType##00 + SetupTypeDlgTitleText1362922565539##IDS__IsSetupTypeMinDlg_SetupType##0 + SetupTypeMinIcoIcon34125242452428800NewBinary11SetupTypeMinTextText80125246302##IDS__IsSetupTypeMinDlg_MinimumFeatures##0 + SetupTypeNextPushButton23024366173##IDS_NEXT##Cancel0 + SetupTypeRadioGroupRadioButtonGroup20592641391048579_IsSetupTypeMinBack00 + SplashBitmapBackPushButton16424366171##IDS_BACK##Next0 + SplashBitmapBranding1Text422950133##IDS_INSTALLSHIELD_FORMATTED##0 + SplashBitmapBranding2Text3228501365537##IDS_INSTALLSHIELD##0 + SplashBitmapCancelPushButton30124366173##IDS_CANCEL##Back0 + SplashBitmapDlgLineLine48234326010 + SplashBitmapImageBitmap131234921110NewBinary5SplashBitmapNextPushButton23024366173##IDS_NEXT##Cancel0 +
+ + + Dialog_ + Control_ + Action + Condition + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CustomSetupChangeFolderHideInstalledCustomSetupDetailsHideInstalledCustomSetupInstallLabelHideInstalledCustomerInformationDlgRadioGroupTextHideNOT PrivilegedCustomerInformationDlgRadioGroupTextHideProductState > 0CustomerInformationDlgRadioGroupTextHideVersion9XCustomerInformationDlgRadioGroupTextHideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledCustomerInformationRadioGroupHideNOT PrivilegedCustomerInformationRadioGroupHideProductState > 0CustomerInformationRadioGroupHideVersion9XCustomerInformationRadioGroupHideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledCustomerInformationSerialLabelShowSERIALNUMSHOWCustomerInformationSerialNumberShowSERIALNUMSHOWInstallWelcomeCopyrightHideSHOWCOPYRIGHT="No"InstallWelcomeCopyrightShowSHOWCOPYRIGHT="Yes"LicenseAgreementNextDisableAgreeToLicense <> "Yes"LicenseAgreementNextEnableAgreeToLicense = "Yes"ReadyToInstallCompanyNameTextHideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallCurrentSettingsTextHideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallDlgText2HideVersionNT < "601" OR NOT ISSupportPerUser OR InstalledReadyToInstallDlgText2ShowVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallDlgTitleShowProgressType0="Modify"ReadyToInstallDlgTitle2ShowProgressType0="Repair"ReadyToInstallDlgTitle3ShowProgressType0="install"ReadyToInstallGroupBox1HideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallInstallNowDisableVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallInstallNowEnableVersionNT < "601" OR NOT ISSupportPerUser OR InstalledReadyToInstallInstallPerMachineHideVersionNT < "601" OR NOT ISSupportPerUser OR InstalledReadyToInstallInstallPerMachineShowVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallInstallPerUserHideVersionNT < "601" OR NOT ISSupportPerUser OR InstalledReadyToInstallInstallPerUserShowVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallSerialNumberTextHideNOT SERIALNUMSHOWReadyToInstallSerialNumberTextHideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallSetupTypeText1HideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallSetupTypeText2HideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallTargetFolderText1HideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallTargetFolderText2HideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallUserInformationTextHideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledReadyToInstallUserNameTextHideVersionNT >= "601" AND ISSupportPerUser AND NOT InstalledSetupCompleteErrorBackDefaultUpdateStartedSetupCompleteErrorBackDisableNOT UpdateStartedSetupCompleteErrorBackEnableUpdateStartedSetupCompleteErrorCancelDisableNOT UpdateStartedSetupCompleteErrorCancelEnableUpdateStartedSetupCompleteErrorCheckShowMsiLogShowMsiLogFileLocationSetupCompleteErrorFinishDefaultNOT UpdateStartedSetupCompleteErrorFinishText1HideUpdateStartedSetupCompleteErrorFinishText1ShowNOT UpdateStartedSetupCompleteErrorFinishText2HideUpdateStartedSetupCompleteErrorFinishText2ShowNOT UpdateStartedSetupCompleteErrorRestContText1HideNOT UpdateStartedSetupCompleteErrorRestContText1ShowUpdateStartedSetupCompleteErrorRestContText2HideNOT UpdateStartedSetupCompleteErrorRestContText2ShowUpdateStartedSetupCompleteErrorShowMsiLogTextShowMsiLogFileLocationSetupCompleteSuccessCheckBoxUpdatesShowISENABLEDWUSFINISHDIALOG And NOT Installed And ACTION="INSTALL"SetupCompleteSuccessCheckForUpdatesTextShowISENABLEDWUSFINISHDIALOG And NOT Installed And ACTION="INSTALL"SetupCompleteSuccessCheckLaunchProgramShowSHOWLAUNCHPROGRAM="-1" And PROGRAMFILETOLAUNCHATEND <> "" And NOT Installed And NOT ISENABLEDWUSFINISHDIALOGSetupCompleteSuccessCheckLaunchReadmeShowSHOWLAUNCHREADME="-1" And READMEFILETOLAUNCHATEND <> "" And NOT Installed And NOT ISENABLEDWUSFINISHDIALOGSetupCompleteSuccessCheckShowMsiLogShowMsiLogFileLocation And NOT ISENABLEDWUSFINISHDIALOGSetupCompleteSuccessLaunchProgramTextShowSHOWLAUNCHPROGRAM="-1" And PROGRAMFILETOLAUNCHATEND <> "" And NOT Installed And NOT ISENABLEDWUSFINISHDIALOGSetupCompleteSuccessLaunchReadmeTextShowSHOWLAUNCHREADME="-1" And READMEFILETOLAUNCHATEND <> "" And NOT Installed And NOT ISENABLEDWUSFINISHDIALOGSetupCompleteSuccessShowMsiLogTextShowMsiLogFileLocation And NOT ISENABLEDWUSFINISHDIALOGSetupCompleteSuccessTextLine2ShowProgressType2="installed" And ((ACTION<>"INSTALL") OR (NOT ISENABLEDWUSFINISHDIALOG) OR (ISENABLEDWUSFINISHDIALOG And Installed))SetupCompleteSuccessTextLine3ShowProgressType2="uninstalled" And ((ACTION<>"INSTALL") OR (NOT ISENABLEDWUSFINISHDIALOG) OR (ISENABLEDWUSFINISHDIALOG And Installed))SetupCompleteSuccessUpdateTextLine1ShowISENABLEDWUSFINISHDIALOG And NOT Installed And ACTION="INSTALL"SetupCompleteSuccessUpdateTextLine2ShowISENABLEDWUSFINISHDIALOG And NOT Installed And ACTION="INSTALL"SetupCompleteSuccessUpdateTextLine3ShowISENABLEDWUSFINISHDIALOG And NOT Installed And ACTION="INSTALL"SetupInterruptedBackDefaultUpdateStartedSetupInterruptedBackDisableNOT UpdateStartedSetupInterruptedBackEnableUpdateStartedSetupInterruptedCancelDisableNOT UpdateStartedSetupInterruptedCancelEnableUpdateStartedSetupInterruptedCheckShowMsiLogShowMsiLogFileLocationSetupInterruptedFinishDefaultNOT UpdateStartedSetupInterruptedFinishText1HideUpdateStartedSetupInterruptedFinishText1ShowNOT UpdateStartedSetupInterruptedFinishText2HideUpdateStartedSetupInterruptedFinishText2ShowNOT UpdateStartedSetupInterruptedRestContText1HideNOT UpdateStartedSetupInterruptedRestContText1ShowUpdateStartedSetupInterruptedRestContText2HideNOT UpdateStartedSetupInterruptedRestContText2ShowUpdateStartedSetupInterruptedShowMsiLogTextShowMsiLogFileLocationSetupProgressDlgDescShowProgressType2="installed"SetupProgressDlgDesc2ShowProgressType2="uninstalled"SetupProgressDlgTextShowProgressType3="installs"SetupProgressDlgText2ShowProgressType3="uninstalls"SetupProgressDlgTitleShowProgressType1="Installing"SetupProgressDlgTitle2ShowProgressType1="Uninstalling"SetupResumePreselectedTextHideRESUMESetupResumePreselectedTextShowNOT RESUMESetupResumeResumeTextHideNOT RESUMESetupResumeResumeTextShowRESUME
+ + + Dialog_ + Control_ + Event + Argument + Condition + Ordering + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AdminChangeFolderCancelEndDialogReturn12AdminChangeFolderCancelReset011AdminChangeFolderNewFolderDirectoryListNew010AdminChangeFolderOKEndDialogReturn10AdminChangeFolderOKSetTargetPathTARGETDIR11AdminChangeFolderUpDirectoryListUp010AdminNetworkLocationBackNewDialogAdminWelcome10AdminNetworkLocationBrowseSpawnDialogAdminChangeFolder10AdminNetworkLocationCancelSpawnDialogCancelSetup10AdminNetworkLocationInstallNowEndDialogReturnOutOfNoRbDiskSpace <> 13AdminNetworkLocationInstallNowNewDialogOutOfSpaceOutOfNoRbDiskSpace = 12AdminNetworkLocationInstallNowSetTargetPathTARGETDIR11AdminWelcomeCancelSpawnDialogCancelSetup10AdminWelcomeNextNewDialogAdminNetworkLocation10CancelSetupNoEndDialogReturn10CancelSetupYesDoActionCleanUpISSCRIPTRUNNING="1"1CancelSetupYesEndDialogExit12CustomSetupBackNewDialogDestinationFolderNOT Installed0CustomSetupBackNewDialogMaintenanceTypeInstalled0CustomSetupCancelSpawnDialogCancelSetup10CustomSetupChangeFolderSelectionBrowseInstallChangeFolder10CustomSetupDetailsSelectionBrowseDiskSpaceRequirements11CustomSetupHelpSpawnDialogCustomSetupTips11CustomSetupNextNewDialogOutOfSpaceOutOfNoRbDiskSpace = 10CustomSetupNextNewDialogReadyToInstallOutOfNoRbDiskSpace <> 10CustomSetupNext[_IsSetupTypeMin]Custom10CustomSetupTipsOKEndDialogReturn11CustomerInformationBackNewDialogInstallWelcomeNOT Installed1CustomerInformationCancelSpawnDialogCancelSetup10CustomerInformationNextEndDialogExit(SERIALNUMVALRETRYLIMIT) And (SERIALNUMVALRETRYLIMIT<0) And (SERIALNUMVALRETURN<>SERIALNUMVALSUCCESSRETVAL)2CustomerInformationNextNewDialogSetupType(Not SERIALNUMVALRETURN) OR (SERIALNUMVALRETURN=SERIALNUMVALSUCCESSRETVAL)3CustomerInformationNext[ALLUSERS]1ApplicationUsers = "AllUsers" And Privileged1CustomerInformationNext[ALLUSERS]{}ApplicationUsers = "OnlyCurrentUser" And Privileged2DatabaseFolderBackNewDialogCustomerInformation11DatabaseFolderCancelSpawnDialogCancelSetup11DatabaseFolderChangeFolderSpawnDialogInstallChangeFolder11DatabaseFolderChangeFolder[_BrowseProperty]DATABASEDIR12DatabaseFolderNextNewDialogSetupType11DestinationFolderBackNewDialogInstallWelcomeNOT Installed0DestinationFolderCancelSpawnDialogCancelSetup11DestinationFolderChangeFolderSpawnDialogInstallChangeFolder11DestinationFolderChangeFolder[_BrowseProperty]INSTALLDIR12DestinationFolderNextNewDialogReadyToInstall10DiskSpaceRequirementsOKEndDialogReturn10FilesInUseExitEndDialogExit10FilesInUseIgnoreEndDialogIgnore10FilesInUseRetryEndDialogRetry10InstallChangeFolderCancelEndDialogReturn12InstallChangeFolderCancelReset011InstallChangeFolderNewFolderDirectoryListNew010InstallChangeFolderOKEndDialogReturn13InstallChangeFolderOKSetTargetPath[_BrowseProperty]12InstallChangeFolderUpDirectoryListUp010InstallWelcomeBackNewDialogSplashBitmapDisplay_IsBitmapDlg0InstallWelcomeCancelSpawnDialogCancelSetup10InstallWelcomeNextNewDialogDestinationFolder10LicenseAgreementBackNewDialogInstallWelcome10LicenseAgreementCancelSpawnDialogCancelSetup10LicenseAgreementISPrintButtonDoActionISPrint10LicenseAgreementNextNewDialogCustomerInformationAgreeToLicense = "Yes"0MaintenanceTypeBackNewDialogMaintenanceWelcome10MaintenanceTypeCancelSpawnDialogCancelSetup10MaintenanceTypeNextNewDialogCustomSetup_IsMaintenance = "Change"12MaintenanceTypeNextNewDialogReadyToInstall_IsMaintenance = "Reinstall"13MaintenanceTypeNextNewDialogReadyToRemove_IsMaintenance = "Remove"11MaintenanceTypeNextReinstallALL_IsMaintenance = "Reinstall"10MaintenanceTypeNextReinstallMode[ReinstallModeText]_IsMaintenance = "Reinstall"9MaintenanceTypeNext[ProgressType0]Modify_IsMaintenance = "Change"2MaintenanceTypeNext[ProgressType0]Repair_IsMaintenance = "Reinstall"1MaintenanceTypeNext[ProgressType1]Modifying_IsMaintenance = "Change"3MaintenanceTypeNext[ProgressType1]Repairing_IsMaintenance = "Reinstall"4MaintenanceTypeNext[ProgressType2]modified_IsMaintenance = "Change"6MaintenanceTypeNext[ProgressType2]repairs_IsMaintenance = "Reinstall"5MaintenanceTypeNext[ProgressType3]modifies_IsMaintenance = "Change"7MaintenanceTypeNext[ProgressType3]repairs_IsMaintenance = "Reinstall"8MaintenanceWelcomeCancelSpawnDialogCancelSetup10MaintenanceWelcomeNextNewDialogMaintenanceType10MsiRMFilesInUseCancelEndDialogExit11MsiRMFilesInUseOKEndDialogReturn11MsiRMFilesInUseOKRMShutdownAndRestart0RestartManagerOption="CloseRestart"2OutOfSpaceResumeNewDialogAdminNetworkLocationACTION = "ADMIN"0OutOfSpaceResumeNewDialogDestinationFolderACTION <> "ADMIN"0PatchWelcomeCancelSpawnDialogCancelSetup11PatchWelcomeNextEndDialogReturn13PatchWelcomeNextReinstallALLPATCH And REINSTALL=""1PatchWelcomeNextReinstallModeomusPATCH And REINSTALLMODE=""2ReadmeInformationBackNewDialogLicenseAgreement11ReadmeInformationCancelSpawnDialogCancelSetup11ReadmeInformationNextNewDialogCustomerInformation11ReadyToInstallBackNewDialogCustomSetupInstalled OR _IsSetupTypeMin = "Custom"2ReadyToInstallBackNewDialogDestinationFolderNOT Installed1ReadyToInstallBackNewDialogMaintenanceTypeInstalled AND _IsMaintenance = "Reinstall"3ReadyToInstallCancelSpawnDialogCancelSetup10ReadyToInstallInstallNowEndDialogReturnOutOfNoRbDiskSpace <> 10ReadyToInstallInstallNowNewDialogOutOfSpaceOutOfNoRbDiskSpace = 10ReadyToInstallInstallNow[ProgressType1]Installing10ReadyToInstallInstallNow[ProgressType2]installed10ReadyToInstallInstallNow[ProgressType3]installs10ReadyToInstallInstallPerMachineEndDialogReturnOutOfNoRbDiskSpace <> 10ReadyToInstallInstallPerMachineNewDialogOutOfSpaceOutOfNoRbDiskSpace = 10ReadyToInstallInstallPerMachine[ALLUSERS]110ReadyToInstallInstallPerMachine[MSIINSTALLPERUSER]{}10ReadyToInstallInstallPerMachine[ProgressType1]Installing10ReadyToInstallInstallPerMachine[ProgressType2]installed10ReadyToInstallInstallPerMachine[ProgressType3]installs10ReadyToInstallInstallPerUserEndDialogReturnOutOfNoRbDiskSpace <> 10ReadyToInstallInstallPerUserNewDialogOutOfSpaceOutOfNoRbDiskSpace = 10ReadyToInstallInstallPerUser[ALLUSERS]210ReadyToInstallInstallPerUser[MSIINSTALLPERUSER]110ReadyToInstallInstallPerUser[ProgressType1]Installing10ReadyToInstallInstallPerUser[ProgressType2]installed10ReadyToInstallInstallPerUser[ProgressType3]installs10ReadyToRemoveBackNewDialogMaintenanceType10ReadyToRemoveCancelSpawnDialogCancelSetup10ReadyToRemoveRemoveNowEndDialogReturnOutOfNoRbDiskSpace <> 12ReadyToRemoveRemoveNowNewDialogOutOfSpaceOutOfNoRbDiskSpace = 12ReadyToRemoveRemoveNowRemoveALL11ReadyToRemoveRemoveNow[ProgressType1]Uninstalling10ReadyToRemoveRemoveNow[ProgressType2]uninstalled10ReadyToRemoveRemoveNow[ProgressType3]uninstalls10SetupCompleteErrorBackEndDialogReturn12SetupCompleteErrorBack[Suspend]{}11SetupCompleteErrorCancelEndDialogReturn12SetupCompleteErrorCancel[Suspend]111SetupCompleteErrorFinishDoActionCleanUpISSCRIPTRUNNING="1"1SetupCompleteErrorFinishDoActionShowMsiLogMsiLogFileLocation And (ISSHOWMSILOG="1")3SetupCompleteErrorFinishEndDialogExit12SetupCompleteSuccessOKDoActionCleanUpISSCRIPTRUNNING="1"1SetupCompleteSuccessOKDoActionShowMsiLogMsiLogFileLocation And (ISSHOWMSILOG="1") And NOT ISENABLEDWUSFINISHDIALOG6SetupCompleteSuccessOKEndDialogExit12SetupErrorAEndDialogErrorAbort10SetupErrorCEndDialogErrorCancel10SetupErrorIEndDialogErrorIgnore10SetupErrorNEndDialogErrorNo10SetupErrorOEndDialogErrorOk10SetupErrorREndDialogErrorRetry10SetupErrorYEndDialogErrorYes10SetupInitializationCancelSpawnDialogCancelSetup10SetupInterruptedBackEndDialogExit12SetupInterruptedBack[Suspend]{}11SetupInterruptedCancelEndDialogExit12SetupInterruptedCancel[Suspend]111SetupInterruptedFinishDoActionCleanUpISSCRIPTRUNNING="1"1SetupInterruptedFinishDoActionShowMsiLogMsiLogFileLocation And (ISSHOWMSILOG="1")3SetupInterruptedFinishEndDialogExit12SetupProgressCancelSpawnDialogCancelSetup10SetupResumeCancelSpawnDialogCancelSetup10SetupResumeNextEndDialogReturnOutOfNoRbDiskSpace <> 10SetupResumeNextNewDialogOutOfSpaceOutOfNoRbDiskSpace = 10SetupTypeBackNewDialogDestinationFolderNOT Installed1SetupTypeCancelSpawnDialogCancelSetup10SetupTypeNextNewDialogCustomSetup_IsSetupTypeMin = "Custom"2SetupTypeNextNewDialogReadyToInstall_IsSetupTypeMin <> "Custom"1SetupTypeNextSetInstallLevel100_IsSetupTypeMin="Minimal"0SetupTypeNextSetInstallLevel200_IsSetupTypeMin="Typical"0SetupTypeNextSetInstallLevel300_IsSetupTypeMin="Custom"0SetupTypeNext[ISRUNSETUPTYPEADDLOCALEVENT]110SetupTypeNext[SelectedSetupType][DisplayNameCustom]_IsSetupTypeMin = "Custom"0SetupTypeNext[SelectedSetupType][DisplayNameMinimal]_IsSetupTypeMin = "Minimal"0SetupTypeNext[SelectedSetupType][DisplayNameTypical]_IsSetupTypeMin = "Typical"0SplashBitmapCancelSpawnDialogCancelSetup10SplashBitmapNextNewDialogInstallWelcome10
+ + + Directory_ + Component_ + +
INSTALLDIRISX_DEFAULTCOMPONENT1
+ + + Action + Type + Source + Target + ExtendedType + ISComments + + + + +
ISPreventDowngrade19[IS_PREVENT_DOWNGRADE_EXIT]Exits install when a newer version of this product is foundISPrint1SetAllUsers.dllPrintScrollableTextPrints the contents of a ScrollableText control on a dialog.ISRunSetupTypeAddLocalEvent1ISExpHlp.dllRunSetupTypeAddLocalEventRun the AddLocal events associated with the Next button on the Setup Type dialog.ISSelfRegisterCosting1ISSELFREG.DLLISSelfRegisterCosting + ISSelfRegisterFiles3073ISSELFREG.DLLISSelfRegisterFiles + ISSelfRegisterFinalize1ISSELFREG.DLLISSelfRegisterFinalize + ISUnSelfRegisterFiles3073ISSELFREG.DLLISUnSelfRegisterFiles + SetARPINSTALLLOCATION51ARPINSTALLLOCATION[INSTALLDIR] + SetAllUsersProfileNT51ALLUSERSPROFILE[%SystemRoot]\Profiles\All Users + ShowMsiLog226SystemFolder[SystemFolder]notepad.exe "[MsiLogFileLocation]"Shows Property-driven MSI LogsetAllUsersProfile2K51ALLUSERSPROFILE[%ALLUSERSPROFILE] + setUserProfileNT51USERPROFILE[%USERPROFILE] +
+ + + Dialog + HCentering + VCentering + Width + Height + Attributes + Title + Control_First + Control_Default + Control_Cancel + ISComments + TextStyle_ + ISWindowStyle + ISResourceId + +
AdminChangeFolder50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##TailOKCancelInstall Point Browse0 + AdminNetworkLocation50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##InstallNowInstallNowCancelNetwork Location0 + AdminWelcome50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##NextNextCancelAdministration Welcome0 + CancelSetup5050260853##IDS_PRODUCTNAME_INSTALLSHIELD##NoNoNoCancel0 + CustomSetup505037426635##IDS_PRODUCTNAME_INSTALLSHIELD##TreeNextCancelCustom Selection0 + CustomSetupTips50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##OKOKOKCustom Setup Tips0 + CustomerInformation50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##NameEditNextCancelIdentification0 + DatabaseFolder50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##NextNextCancelDatabase Folder0 + DestinationFolder50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##NextNextCancelDestination Folder0 + DiskSpaceRequirements50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##OKOKOKFeature Details0 + FilesInUse505037426619##IDS_PRODUCTNAME_INSTALLSHIELD##RetryRetryExitFiles in Use0 + InstallChangeFolder50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##TailOKCancelBrowse0 + InstallWelcome50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##NextNextCancelWelcome Panel0 + LicenseAgreement50503742662##IDS_PRODUCTNAME_INSTALLSHIELD##AgreeNextCancelLicense Agreement0 + MaintenanceType50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##RadioGroupNextCancelChange, Reinstall, Remove0 + MaintenanceWelcome50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##NextNextCancelMaintenance Welcome0 + MsiRMFilesInUse505037426619##IDS_PRODUCTNAME_INSTALLSHIELD##OKOKCancelRestartManager Files in Use0 + OutOfSpace50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##ResumeResumeResumeOut Of Disk Space0 + PatchWelcome50503742663##IDS__IsPatchDlg_PatchWizard##NextNextCancelPatch Panel0 + ReadmeInformation50503742667##IDS_PRODUCTNAME_INSTALLSHIELD##NextNextCancelReadme Information00ReadyToInstall505037426635##IDS_PRODUCTNAME_INSTALLSHIELD##InstallNowInstallNowCancelReady to Install0 + ReadyToRemove50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##RemoveNowRemoveNowCancelVerify Remove0 + SetupCompleteError50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##FinishFinishFinishFatal Error0 + SetupCompleteSuccess50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##OKOKOKExit0 + SetupError505027011065543##IDS__IsErrorDlg_InstallerInfo##ErrorTextOCError0 + SetupInitialization50503742665##IDS_PRODUCTNAME_INSTALLSHIELD##CancelCancelCancelSetup Initialization0 + SetupInterrupted50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##FinishFinishFinishUser Exit0 + SetupProgress50503742665##IDS_PRODUCTNAME_INSTALLSHIELD##CancelCancelCancelProgress0 + SetupResume50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##NextNextCancelResume0 + SetupType50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##RadioGroupNextCancelSetup Type0 + SplashBitmap50503742663##IDS_PRODUCTNAME_INSTALLSHIELD##NextNextCancelWelcome Bitmap0 +
+ + + Directory + Directory_Parent + DefaultDir + ISDescription + ISAttributes + ISFolderName +
ALLUSERSPROFILETARGETDIR.:ALLUSE~1|All Users0 + AdminToolsFolderTARGETDIR.:Admint~1|AdminTools0 + AppDataFolderTARGETDIR.:APPLIC~1|Application Data0 + CommonAppDataFolderTARGETDIR.:Common~1|CommonAppData0 + CommonFiles64FolderTARGETDIR.:Common640 + CommonFilesFolderTARGETDIR.:Common0 + DATABASEDIRISYourDataBaseDir.0 + DesktopFolderTARGETDIR.:Desktop3 + FavoritesFolderTARGETDIR.:FAVORI~1|Favorites0 + FontsFolderTARGETDIR.:Fonts0 + GlobalAssemblyCacheTARGETDIR.:Global~1|GlobalAssemblyCache0 + INSTALLDIRKYLINODBCDRIVER__X86_.0 + ISCommonFilesFolderCommonFilesFolderInstal~1|InstallShield0 + ISYourDataBaseDirINSTALLDIRDatabase0 + KYLINODBCDRIVERkylinolapKYLINO~1|KylinODBCDriver0 + KYLINODBCDRIVER__X86_kylinolapKYLINO~1|KylinODBCDriver (x86)0 + LocalAppDataFolderTARGETDIR.:LocalA~1|LocalAppData0 + MY_PRODUCT_NAMEkylinolapMYPROD~1|My Product Name0 + MyPicturesFolderTARGETDIR.:MyPict~1|MyPictures0 + NetHoodFolderTARGETDIR.:NetHood0 + PersonalFolderTARGETDIR.:Personal0 + PrimaryVolumePathTARGETDIR.:Primar~1|PrimaryVolumePath0 + PrintHoodFolderTARGETDIR.:PRINTH~1|PrintHood0 + ProgramFiles64FolderTARGETDIR.:Prog64~1|Program Files 640 + ProgramFilesFolderTARGETDIR.:PROGRA~1|program files0 + ProgramMenuFolderTARGETDIR.:Programs3 + RecentFolderTARGETDIR.:Recent0 + SendToFolderTARGETDIR.:SendTo3 + StartMenuFolderTARGETDIR.:STARTM~1|Start Menu3 + StartupFolderTARGETDIR.:StartUp3 + System16FolderTARGETDIR.:System0 + System64FolderTARGETDIR.:System640 + SystemFolderTARGETDIR.:System320 + TARGETDIRSourceDir0 + TempFolderTARGETDIR.:Temp0 + TemplateFolderTARGETDIR.:ShellNew0 + USERPROFILETARGETDIR.:USERPR~1|UserProfile0 + WindowsFolderTARGETDIR.:Windows0 + WindowsVolumeTARGETDIR.:WinRoot0 + kylinolapProgramFilesFolderKYLINO~1|kylinolap0 +
+ + + Signature_ + Parent + Path + Depth +
+ + + FileKey + Component_ + File_ + DestName + DestFolder +
+ + + Environment + Name + Value + Component_ +
+ + + Error + Message + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
0##IDS_ERROR_0##1##IDS_ERROR_1##10##IDS_ERROR_8##11##IDS_ERROR_9##1101##IDS_ERROR_22##12##IDS_ERROR_10##13##IDS_ERROR_11##1301##IDS_ERROR_23##1302##IDS_ERROR_24##1303##IDS_ERROR_25##1304##IDS_ERROR_26##1305##IDS_ERROR_27##1306##IDS_ERROR_28##1307##IDS_ERROR_29##1308##IDS_ERROR_30##1309##IDS_ERROR_31##1310##IDS_ERROR_32##1311##IDS_ERROR_33##1312##IDS_ERROR_34##1313##IDS_ERROR_35##1314##IDS_ERROR_36##1315##IDS_ERROR_37##1316##IDS_ERROR_38##1317##IDS_ERROR_39##1318##IDS_ERROR_40##1319##IDS_ERROR_41##1320##IDS_ERROR_42##1321##IDS_ERROR_43##1322##IDS_ERROR_44##1323##IDS_ERROR_45##1324##IDS_ERROR_46##1325##IDS_ERROR_47##1326##IDS_ERROR_48##1327##IDS_ERROR_49##1328##IDS_ERROR_122##1329##IDS_ERROR_1329##1330##IDS_ERROR_1330##1331##IDS_ERROR_1331##1332##IDS_ERROR_1332##1333##IDS_ERROR_1333##1334##IDS_ERROR_1334##1335##IDS_ERROR_1335##1336##IDS_ERROR_1336##14##IDS_ERROR_12##1401##IDS_ERROR_50##1402##IDS_ERROR_51##1403##IDS_ERROR_52##1404##IDS_ERROR_53##1405##IDS_ERROR_54##1406##IDS_ERROR_55##1407##IDS_ERROR_56##1408##IDS_ERROR_57##1409##IDS_ERROR_58##1410##IDS_ERROR_59##15##IDS_ERROR_13##1500##IDS_ERROR_60##1501##IDS_ERROR_61##1502##IDS_ERROR_62##1503##IDS_ERROR_63##16##IDS_ERROR_14##1601##IDS_ERROR_64##1602##IDS_ERROR_65##1603##IDS_ERROR_66##1604##IDS_ERROR_67##1605##IDS_ERROR_68##1606##IDS_ERROR_69##1607##IDS_ERROR_70##1608##IDS_ERROR_71##1609##IDS_ERROR_1609##1651##IDS_ERROR_1651##17##IDS_ERROR_15##1701##IDS_ERROR_72##1702##IDS_ERROR_73##1703##IDS_ERROR_74##1704##IDS_ERROR_75##1705##IDS_ERROR_76##1706##IDS_ERROR_77##1707##IDS_ERROR_78##1708##IDS_ERROR_79##1709##IDS_ERROR_80##1710##IDS_ERROR_81##1711##IDS_ERROR_82##1712##IDS_ERROR_83##1713##IDS_ERROR_123##1714##IDS_ERROR_124##1715##IDS_ERROR_1715##1716##IDS_ERROR_1716##1717##IDS_ERROR_1717##1718##IDS_ERROR_1718##1719##IDS_ERROR_1719##1720##IDS_ERROR_1720##1721##IDS_ERROR_1721##1722##IDS_ERROR_1722##1723##IDS_ERROR_1723##1724##IDS_ERROR_1724##1725##IDS_ERROR_1725##1726##IDS_ERROR_1726##1727##IDS_ERROR_1727##1728##IDS_ERROR_1728##1729##IDS_ERROR_1729##1730##IDS_ERROR_1730##1731##IDS_ERROR_1731##1732##IDS_ERROR_1732##18##IDS_ERROR_16##1801##IDS_ERROR_84##1802##IDS_ERROR_85##1803##IDS_ERROR_86##1804##IDS_ERROR_87##1805##IDS_ERROR_88##1806##IDS_ERROR_89##1807##IDS_ERROR_90##19##IDS_ERROR_17##1901##IDS_ERROR_91##1902##IDS_ERROR_92##1903##IDS_ERROR_93##1904##IDS_ERROR_94##1905##IDS_ERROR_95##1906##IDS_ERROR_96##1907##IDS_ERROR_97##1908##IDS_ERROR_98##1909##IDS_ERROR_99##1910##IDS_ERROR_100##1911##IDS_ERROR_101##1912##IDS_ERROR_102##1913##IDS_ERROR_103##1914##IDS_ERROR_104##1915##IDS_ERROR_105##1916##IDS_ERROR_106##1917##IDS_ERROR_107##1918##IDS_ERROR_108##1919##IDS_ERROR_109##1920##IDS_ERROR_110##1921##IDS_ERROR_111##1922##IDS_ERROR_112##1923##IDS_ERROR_113##1924##IDS_ERROR_114##1925##IDS_ERROR_115##1926##IDS_ERROR_116##1927##IDS_ERROR_117##1928##IDS_ERROR_118##1929##IDS_ERROR_119##1930##IDS_ERROR_125##1931##IDS_ERROR_126##1932##IDS_ERROR_127##1933##IDS_ERROR_128##1934##IDS_ERROR_129##1935##IDS_ERROR_1935##1936##IDS_ERROR_1936##1937##IDS_ERROR_1937##1938##IDS_ERROR_1938##2##IDS_ERROR_2##20##IDS_ERROR_18##21##IDS_ERROR_19##2101##IDS_ERROR_2101##2102##IDS_ERROR_2102##2103##IDS_ERROR_2103##2104##IDS_ERROR_2104##2105##IDS_ERROR_2105##2106##IDS_ERROR_2106##2107##IDS_ERROR_2107##2108##IDS_ERROR_2108##2109##IDS_ERROR_2109##2110##IDS_ERROR_2110##2111##IDS_ERROR_2111##2112##IDS_ERROR_2112##2113##IDS_ERROR_2113##22##IDS_ERROR_120##2200##IDS_ERROR_2200##2201##IDS_ERROR_2201##2202##IDS_ERROR_2202##2203##IDS_ERROR_2203##2204##IDS_ERROR_2204##2205##IDS_ERROR_2205##2206##IDS_ERROR_2206##2207##IDS_ERROR_2207##2208##IDS_ERROR_2208##2209##IDS_ERROR_2209##2210##IDS_ERROR_2210##2211##IDS_ERROR_2211##2212##IDS_ERROR_2212##2213##IDS_ERROR_2213##2214##IDS_ERROR_2214##2215##IDS_ERROR_2215##2216##IDS_ERROR_2216##2217##IDS_ERROR_2217##2218##IDS_ERROR_2218##2219##IDS_ERROR_2219##2220##IDS_ERROR_2220##2221##IDS_ERROR_2221##2222##IDS_ERROR_2222##2223##IDS_ERROR_2223##2224##IDS_ERROR_2224##2225##IDS_ERROR_2225##2226##IDS_ERROR_2226##2227##IDS_ERROR_2227##2228##IDS_ERROR_2228##2229##IDS_ERROR_2229##2230##IDS_ERROR_2230##2231##IDS_ERROR_2231##2232##IDS_ERROR_2232##2233##IDS_ERROR_2233##2234##IDS_ERROR_2234##2235##IDS_ERROR_2235##2236##IDS_ERROR_2236##2237##IDS_ERROR_2237##2238##IDS_ERROR_2238##2239##IDS_ERROR_2239##2240##IDS_ERROR_2240##2241##IDS_ERROR_2241##2242##IDS_ERROR_2242##2243##IDS_ERROR_2243##2244##IDS_ERROR_2244##2245##IDS_ERROR_2245##2246##IDS_ERROR_2246##2247##IDS_ERROR_2247##2248##IDS_ERROR_2248##2249##IDS_ERROR_2249##2250##IDS_ERROR_2250##2251##IDS_ERROR_2251##2252##IDS_ERROR_2252##2253##IDS_ERROR_2253##2254##IDS_ERROR_2254##2255##IDS_ERROR_2255##2256##IDS_ERROR_2256##2257##IDS_ERROR_2257##2258##IDS_ERROR_2258##2259##IDS_ERROR_2259##2260##IDS_ERROR_2260##2261##IDS_ERROR_2261##2262##IDS_ERROR_2262##2263##IDS_ERROR_2263##2264##IDS_ERROR_2264##2265##IDS_ERROR_2265##2266##IDS_ERROR_2266##2267##IDS_ERROR_2267##2268##IDS_ERROR_2268##2269##IDS_ERROR_2269##2270##IDS_ERROR_2270##2271##IDS_ERROR_2271##2272##IDS_ERROR_2272##2273##IDS_ERROR_2273##2274##IDS_ERROR_2274##2275##IDS_ERROR_2275##2276##IDS_ERROR_2276##2277##IDS_ERROR_2277##2278##IDS_ERROR_2278##2279##IDS_ERROR_2279##2280##IDS_ERROR_2280##2281##IDS_ERROR_2281##2282##IDS_ERROR_2282##23##IDS_ERROR_121##2302##IDS_ERROR_2302##2303##IDS_ERROR_2303##2304##IDS_ERROR_2304##2305##IDS_ERROR_2305##2306##IDS_ERROR_2306##2307##IDS_ERROR_2307##2308##IDS_ERROR_2308##2309##IDS_ERROR_2309##2310##IDS_ERROR_2310##2315##IDS_ERROR_2315##2318##IDS_ERROR_2318##2319##IDS_ERROR_2319##2320##IDS_ERROR_2320##2321##IDS_ERROR_2321##2322##IDS_ERROR_2322##2323##IDS_ERROR_2323##2324##IDS_ERROR_2324##2325##IDS_ERROR_2325##2326##IDS_ERROR_2326##2327##IDS_ERROR_2327##2328##IDS_ERROR_2328##2329##IDS_ERROR_2329##2330##IDS_ERROR_2330##2331##IDS_ERROR_2331##2332##IDS_ERROR_2332##2333##IDS_ERROR_2333##2334##IDS_ERROR_2334##2335##IDS_ERROR_2335##2336##IDS_ERROR_2336##2337##IDS_ERROR_2337##2338##IDS_ERROR_2338##2339##IDS_ERROR_2339##2340##IDS_ERROR_2340##2341##IDS_ERROR_2341##2342##IDS_ERROR_2342##2343##IDS_ERROR_2343##2344##IDS_ERROR_2344##2345##IDS_ERROR_2345##2347##IDS_ERROR_2347##2348##IDS_ERROR_2348##2349##IDS_ERROR_2349##2350##IDS_ERROR_2350##2351##IDS_ERROR_2351##2352##IDS_ERROR_2352##2353##IDS_ERROR_2353##2354##IDS_ERROR_2354##2355##IDS_ERROR_2355##2356##IDS_ERROR_2356##2357##IDS_ERROR_2357##2358##IDS_ERROR_2358##2359##IDS_ERROR_2359##2360##IDS_ERROR_2360##2361##IDS_ERROR_2361##2362##IDS_ERROR_2362##2363##IDS_ERROR_2363##2364##IDS_ERROR_2364##2365##IDS_ERROR_2365##2366##IDS_ERROR_2366##2367##IDS_ERROR_2367##2368##IDS_ERROR_2368##2370##IDS_ERROR_2370##2371##IDS_ERROR_2371##2372##IDS_ERROR_2372##2373##IDS_ERROR_2373##2374##IDS_ERROR_2374##2375##IDS_ERROR_2375##2376##IDS_ERROR_2376##2379##IDS_ERROR_2379##2380##IDS_ERROR_2380##2381##IDS_ERROR_2381##2382##IDS_ERROR_2382##2401##IDS_ERROR_2401##2402##IDS_ERROR_2402##2501##IDS_ERROR_2501##2502##IDS_ERROR_2502##2503##IDS_ERROR_2503##2601##IDS_ERROR_2601##2602##IDS_ERROR_2602##2603##IDS_ERROR_2603##2604##IDS_ERROR_2604##2605##IDS_ERROR_2605##2606##IDS_ERROR_2606##2607##IDS_ERROR_2607##2608##IDS_ERROR_2608##2609##IDS_ERROR_2609##2611##IDS_ERROR_2611##2612##IDS_ERROR_2612##2613##IDS_ERROR_2613##2614##IDS_ERROR_2614##2615##IDS_ERROR_2615##2616##IDS_ERROR_2616##2617##IDS_ERROR_2617##2618##IDS_ERROR_2618##2619##IDS_ERROR_2619##2620##IDS_ERROR_2620##2621##IDS_ERROR_2621##2701##IDS_ERROR_2701##2702##IDS_ERROR_2702##2703##IDS_ERROR_2703##2704##IDS_ERROR_2704##2705##IDS_ERROR_2705##2706##IDS_ERROR_2706##2707##IDS_ERROR_2707##2708##IDS_ERROR_2708##2709##IDS_ERROR_2709##2710##IDS_ERROR_2710##2711##IDS_ERROR_2711##2712##IDS_ERROR_2712##2713##IDS_ERROR_2713##2714##IDS_ERROR_2714##2715##IDS_ERROR_2715##2716##IDS_ERROR_2716##2717##IDS_ERROR_2717##2718##IDS_ERROR_2718##2719##IDS_ERROR_2719##2720##IDS_ERROR_2720##2721##IDS_ERROR_2721##2722##IDS_ERROR_2722##2723##IDS_ERROR_2723##2724##IDS_ERROR_2724##2725##IDS_ERROR_2725##2726##IDS_ERROR_2726##2727##IDS_ERROR_2727##2728##IDS_ERROR_2728##2729##IDS_ERROR_2729##2730##IDS_ERROR_2730##2731##IDS_ERROR_2731##2732##IDS_ERROR_2732##2733##IDS_ERROR_2733##2734##IDS_ERROR_2734##2735##IDS_ERROR_2735##2736##IDS_ERROR_2736##2737##IDS_ERROR_2737##2738##IDS_ERROR_2738##2739##IDS_ERROR_2739##2740##IDS_ERROR_2740##2741##IDS_ERROR_2741##2742##IDS_ERROR_2742##2743##IDS_ERROR_2743##2744##IDS_ERROR_2744##2745##IDS_ERROR_2745##2746##IDS_ERROR_2746##2747##IDS_ERROR_2747##2748##IDS_ERROR_2748##2749##IDS_ERROR_2749##2750##IDS_ERROR_2750##27500##IDS_ERROR_130##27501##IDS_ERROR_131##27502##IDS_ERROR_27502##27503##IDS_ERROR_27503##27504##IDS_ERROR_27504##27505##IDS_ERROR_27505##27506##IDS_ERROR_27506##27507##IDS_ERROR_27507##27508##IDS_ERROR_27508##27509##IDS_ERROR_27509##2751##IDS_ERROR_2751##27510##IDS_ERROR_27510##27511##IDS_ERROR_27511##27512##IDS_ERROR_27512##27513##IDS_ERROR_27513##27514##IDS_ERROR_27514##27515##IDS_ERROR_27515##27516##IDS_ERROR_27516##27517##IDS_ERROR_27517##27518##IDS_ERROR_27518##27519##IDS_ERROR_27519##2752##IDS_ERROR_2752##27520##IDS_ERROR_27520##27521##IDS_ERROR_27521##27522##IDS_ERROR_27522##27523##IDS_ERROR_27523##27524##IDS_ERROR_27524##27525##IDS_ERROR_27525##27526##IDS_ERROR_27526##27527##IDS_ERROR_27527##27528##IDS_ERROR_27528##27529##IDS_ERROR_27529##2753##IDS_ERROR_2753##27530##IDS_ERROR_27530##27531##IDS_ERROR_27531##27532##IDS_ERROR_27532##27533##IDS_ERROR_27533##27534##IDS_ERROR_27534##27535##IDS_ERROR_27535##27536##IDS_ERROR_27536##27537##IDS_ERROR_27537##27538##IDS_ERROR_27538##27539##IDS_ERROR_27539##2754##IDS_ERROR_2754##27540##IDS_ERROR_27540##27541##IDS_ERROR_27541##27542##IDS_ERROR_27542##27543##IDS_ERROR_27543##27544##IDS_ERROR_27544##27545##IDS_ERROR_27545##27546##IDS_ERROR_27546##27547##IDS_ERROR_27547##27548##IDS_ERROR_27548##27549##IDS_ERROR_27549##2755##IDS_ERROR_2755##27550##IDS_ERROR_27550##27551##IDS_ERROR_27551##27552##IDS_ERROR_27552##27553##IDS_ERROR_27553##27554##IDS_ERROR_27554##27555##IDS_ERROR_27555##2756##IDS_ERROR_2756##2757##IDS_ERROR_2757##2758##IDS_ERROR_2758##2759##IDS_ERROR_2759##2760##IDS_ERROR_2760##2761##IDS_ERROR_2761##2762##IDS_ERROR_2762##2763##IDS_ERROR_2763##2765##IDS_ERROR_2765##2766##IDS_ERROR_2766##2767##IDS_ERROR_2767##2768##IDS_ERROR_2768##2769##IDS_ERROR_2769##2770##IDS_ERROR_2770##2771##IDS_ERROR_2771##2772##IDS_ERROR_2772##2801##IDS_ERROR_2801##2802##IDS_ERROR_2802##2803##IDS_ERROR_2803##2804##IDS_ERROR_2804##2806##IDS_ERROR_2806##2807##IDS_ERROR_2807##2808##IDS_ERROR_2808##2809##IDS_ERROR_2809##2810##IDS_ERROR_2810##2811##IDS_ERROR_2811##2812##IDS_ERROR_2812##2813##IDS_ERROR_2813##2814##IDS_ERROR_2814##2815##IDS_ERROR_2815##2816##IDS_ERROR_2816##2817##IDS_ERROR_2817##2818##IDS_ERROR_2818##2819##IDS_ERROR_2819##2820##IDS_ERROR_2820##2821##IDS_ERROR_2821##2822##IDS_ERROR_2822##2823##IDS_ERROR_2823##2824##IDS_ERROR_2824##2825##IDS_ERROR_2825##2826##IDS_ERROR_2826##2827##IDS_ERROR_2827##2828##IDS_ERROR_2828##2829##IDS_ERROR_2829##2830##IDS_ERROR_2830##2831##IDS_ERROR_2831##2832##IDS_ERROR_2832##2833##IDS_ERROR_2833##2834##IDS_ERROR_2834##2835##IDS_ERROR_2835##2836##IDS_ERROR_2836##2837##IDS_ERROR_2837##2838##IDS_ERROR_2838##2839##IDS_ERROR_2839##2840##IDS_ERROR_2840##2841##IDS_ERROR_2841##2842##IDS_ERROR_2842##2843##IDS_ERROR_2843##2844##IDS_ERROR_2844##2845##IDS_ERROR_2845##2846##IDS_ERROR_2846##2847##IDS_ERROR_2847##2848##IDS_ERROR_2848##2849##IDS_ERROR_2849##2850##IDS_ERROR_2850##2851##IDS_ERROR_2851##2852##IDS_ERROR_2852##2853##IDS_ERROR_2853##2854##IDS_ERROR_2854##2855##IDS_ERROR_2855##2856##IDS_ERROR_2856##2857##IDS_ERROR_2857##2858##IDS_ERROR_2858##2859##IDS_ERROR_2859##2860##IDS_ERROR_2860##2861##IDS_ERROR_2861##2862##IDS_ERROR_2862##2863##IDS_ERROR_2863##2864##IDS_ERROR_2864##2865##IDS_ERROR_2865##2866##IDS_ERROR_2866##2867##IDS_ERROR_2867##2868##IDS_ERROR_2868##2869##IDS_ERROR_2869##2870##IDS_ERROR_2870##2871##IDS_ERROR_2871##2872##IDS_ERROR_2872##2873##IDS_ERROR_2873##2874##IDS_ERROR_2874##2875##IDS_ERROR_2875##2876##IDS_ERROR_2876##2877##IDS_ERROR_2877##2878##IDS_ERROR_2878##2879##IDS_ERROR_2879##2880##IDS_ERROR_2880##2881##IDS_ERROR_2881##2882##IDS_ERROR_2882##2883##IDS_ERROR_2883##2884##IDS_ERROR_2884##2885##IDS_ERROR_2885##2886##IDS_ERROR_2886##2887##IDS_ERROR_2887##2888##IDS_ERROR_2888##2889##IDS_ERROR_2889##2890##IDS_ERROR_2890##2891##IDS_ERROR_2891##2892##IDS_ERROR_2892##2893##IDS_ERROR_2893##2894##IDS_ERROR_2894##2895##IDS_ERROR_2895##2896##IDS_ERROR_2896##2897##IDS_ERROR_2897##2898##IDS_ERROR_2898##2899##IDS_ERROR_2899##2901##IDS_ERROR_2901##2902##IDS_ERROR_2902##2903##IDS_ERROR_2903##2904##IDS_ERROR_2904##2905##IDS_ERROR_2905##2906##IDS_ERROR_2906##2907##IDS_ERROR_2907##2908##IDS_ERROR_2908##2909##IDS_ERROR_2909##2910##IDS_ERROR_2910##2911##IDS_ERROR_2911##2912##IDS_ERROR_2912##2919##IDS_ERROR_2919##2920##IDS_ERROR_2920##2924##IDS_ERROR_2924##2927##IDS_ERROR_2927##2928##IDS_ERROR_2928##2929##IDS_ERROR_2929##2932##IDS_ERROR_2932##2933##IDS_ERROR_2933##2934##IDS_ERROR_2934##2935##IDS_ERROR_2935##2936##IDS_ERROR_2936##2937##IDS_ERROR_2937##2938##IDS_ERROR_2938##2939##IDS_ERROR_2939##2940##IDS_ERROR_2940##2941##IDS_ERROR_2941##2942##IDS_ERROR_2942##2943##IDS_ERROR_2943##2944##IDS_ERROR_2944##2945##IDS_ERROR_2945##3001##IDS_ERROR_3001##3002##IDS_ERROR_3002##32##IDS_ERROR_20##33##IDS_ERROR_21##4##IDS_ERROR_3##5##IDS_ERROR_4##7##IDS_ERROR_5##8##IDS_ERROR_6##9##IDS_ERROR_7##
+ + + Dialog_ + Control_ + Event + Attribute + + + + + + + + + + + + + + + +
CustomSetupItemDescriptionSelectionDescriptionTextCustomSetupLocationSelectionPathTextCustomSetupSizeSelectionSizeTextSetupInitializationActionDataActionDataTextSetupInitializationActionTextActionTextTextSetupProgressActionProgress95AdminInstallFinalizeProgressSetupProgressActionProgress95InstallFilesProgressSetupProgressActionProgress95MoveFilesProgressSetupProgressActionProgress95RemoveFilesProgressSetupProgressActionProgress95RemoveRegistryValuesProgressSetupProgressActionProgress95SetProgressProgressSetupProgressActionProgress95UnmoveFilesProgressSetupProgressActionProgress95WriteIniValuesProgressSetupProgressActionProgress95WriteRegistryValuesProgressSetupProgressActionTextActionTextText
+ + + Extension + Component_ + ProgId_ + MIME_ + Feature_ +
+ + + Feature + Feature_Parent + Title + Description + Display + Level + Directory_ + Attributes + ISReleaseFlags + ISComments + ISFeatureCabName + ISProFeatureName +
AlwaysInstall##DN_AlwaysInstall##Enter the description for this feature here.01INSTALLDIR16Enter comments regarding this feature here. +
+ + + Feature_ + Component_ + + +
AlwaysInstallDriver.Primary_OutputAlwaysInstallISX_DEFAULTCOMPONENT1
+ + + File + Component_ + FileName + FileSize + Version + Language + Attributes + Sequence + ISBuildSourcePath + ISAttributes + ISComponentSubFolder_ +
driver.primary_outputDriver.Primary_OutputDriver.Primary Output01<Driver>|Built3 +
+ + + File_ + SFPCatalog_ +
+ + + File_ + FontTitle +
+ + + Tag + Data + + + +
PROJECT_ASSISTANT_DEFAULT_FEATUREAlwaysInstallPROJECT_ASSISTANT_FEATURESNonSelectableRegistryPageEnabledYes
+ + + ISBillboard + Duration + Origin + X + Y + Effect + Sequence + Target + Color + Style + Font + Title + DisplayName +
+ + + Package + SourcePath + ProductCode + Order + Options + InstallCondition + RemoveCondition + InstallProperties + RemoveProperties + ISReleaseFlags + DisplayName +
+ + + Package_ + File + FilePath + Options + Data + ISBuildSourcePath +
+ + + Action_ + Name + Value +
+ + + ISComCatalogObject_ + ItemName + ItemValue +
+ + + ISComCatalogCollection + ISComCatalogObject_ + CollectionName +
+ + + ISComCatalogCollection_ + ISComCatalogObject_ +
+ + + ISComCatalogObject + DisplayName +
+ + + ISComCatalogObject_ + ComputerName + Component_ + ISAttributes + DepFiles +
+ + + ISComPlusApplicationDLL + ISComPlusApplication_ + ISComCatalogObject_ + CLSID + ProgId + DLL + AlterDLL +
+ + + ISComPlusProxy + ISComPlusApplication_ + Component_ + ISAttributes + DepFiles +
+ + + ISComPlusApplication_ + File_ + ISPath +
+ + + File_ + ISComPlusApplicationDLL_ +
+ + + ISComPlusApplication_ + File_ + ISPath +
+ + + File_ + ISComPlusApplicationDLL_ +
+ + + Component_ + OS + Language + FilterProperty + Platforms + FTPLocation + HTTPLocation + Miscellaneous +
Driver.Primary_Output_0776C3D4_320A_4A6B_AB0E_ABD19CC469E6_FILTER + ISX_DEFAULTCOMPONENT1_B709F437_EE83_45B5_B365_1331E1C1C627_FILTER +
+ + + Action_ + Description + FileType + ISCAReferenceFilePath +
+ + + ISDIMReference_ + RequiredUUID + RequiredMajorVersion + RequiredMinorVersion + RequiredBuildVersion + RequiredRevisionVersion +
+ + + ISDIMReference + ISBuildSourcePath +
+ + + ISDIMReference_Parent + ISDIMDependency_ +
+ + + ISDIMVariable + ISDIMReference_ + Name + NewValue + Type +
+ + + EntryPoint + Type + Source + Target +
+ + + ISDRMFile + File_ + ISDRMLicense_ + Shell +
+ + + ISDRMFile_ + Property + Value +
+ + + ISDRMLicense + Description + ProjectVersion + Attributes + LicenseNumber + RequestCode + ResponseCode +
+ + + ISDependency + Exclude +
+ + + ISDisk1File + ISBuildSourcePath + Disk +
+ + + Component_ + SourceFolder + IncludeFlags + IncludeFiles + ExcludeFiles + ISAttributes +
+ + + Feature_ + ISDIMReference_ +
+ + + Feature_ + ModuleID + Language +
+ + + Feature_ + ISMergeModule_ + Language_ +
+ + + Feature_ + ISSetupPrerequisites_ +
+ + + File_ + Manifest_ +
+ + + ISIISItem + ISIISItem_Parent + DisplayName + Type + Component_ +
+ + + ISIISProperty + ISIISItem_ + Schema + FriendlyName + MetaDataProp + MetaDataType + MetaDataUserType + MetaDataAttributes + MetaDataValue + Order + ISAttributes +
+ + + EntryPoint + Type + Source + Target +
+ + + ISLanguage + Included + +
10331
+ + + ISLinkerLibrary + Library + Order + + +
isrt.oblisrt.obl2iswi.obliswi.obl1
+ + + Dialog_ + Control_ + ISLanguage_ + Attributes + X + Y + Width + Height + Binary_ + ISBuildSourcePath +
+ + + Dialog_ + ISLanguage_ + Attributes + TextStyle_ + Width + Height +
+ + + Property + Order + ISLanguage_ + X + Y + Width + Height +
+ + + LockObject + Table + Domain + User + Permission + Attributes +
+ + + DiskId + ISProductConfiguration_ + ISRelease_ + LastSequence + DiskPrompt + Cabinet + VolumeLabel + Source +
+ + + ISLogicalDisk_ + ISProductConfiguration_ + ISRelease_ + Feature_ + Sequence + ISAttributes +
+ + + ISMergeModule + Language + Name + Destination + ISAttributes +
+ + + ISMergeModule_ + Language_ + ModuleConfiguration_ + Value + Format + Type + ContextData + DefaultValue + Attributes + DisplayName + Description + HelpLocation + HelpKeyword +
+ + + ObjectName + Language +
+ + + ObjectName + Property + Value + IncludeInBuild +
+ + + PatchConfiguration_ + UpgradedImage_ +
+ + + Name + CanPCDiffer + CanPVDiffer + IncludeWholeFiles + LeaveDecompressed + OptimizeForSize + EnablePatchCache + PatchCacheDir + Flags + PatchGuidsToReplace + TargetProductCodes + PatchGuid + OutputPath + MinMsiVersion + Attributes +
+ + + ISPatchConfiguration_ + Property + Value +
+ + + Name + ISUpgradedImage_ + FileKey + FilePath +
+ + + UpgradedImage + FileKey + Component +
+ + + ISPathVariable + Value + TestValue + Type + + + + + + + + + +
CommonFilesFolder1DriverDriver\driver.vcxproj2ISPROJECTDIR1ISProductFolder1ISProjectDataFolder1ISProjectFolder1ProgramFilesFolder1SystemFolder1WindowsFolder1
+ + + Action_ + Name + Value +
+ + + ISProductConfiguration + ProductConfigurationFlags + GeneratePackageCode + +
Express1
+ + + ISProductConfiguration_ + InstanceId + Property + Value +
+ + + ISProductConfiguration_ + Property + Value + +
ExpressSetupFileNameKylinODBCDriver (x86)
+ + + ISRelease + ISProductConfiguration_ + BuildLocation + PackageName + Type + SupportedLanguagesUI + MsiSourceType + ReleaseType + Platforms + SupportedLanguagesData + DefaultLanguage + SupportedOSs + DiskSize + DiskSizeUnit + DiskClusterSize + ReleaseFlags + DiskSpanning + SynchMsi + MediaLocation + URLLocation + DigitalURL + DigitalPVK + DigitalSPC + Password + VersionCopyright + Attributes + CDBrowser + DotNetBuildConfiguration + MsiCommandLine + ISSetupPrerequisiteLocation + + + + + + + + +
CD_ROMExpress<ISProjectDataFolder>Default0103302Intel10330650020480MediaLocationhttp://758053CustomExpress<ISProjectDataFolder>Default2103302Intel10330100010240MediaLocationhttp://758053DVD-10Express<ISProjectDataFolder>Default3103302Intel103308.75120480MediaLocationhttp://758053DVD-18Express<ISProjectDataFolder>Default3103302Intel1033015.83120480MediaLocationhttp://758053DVD-5Express<ISProjectDataFolder>Default3103302Intel103304.38120480MediaLocationhttp://758053DVD-9Express<ISProjectDataFolder>Default3103302Intel103307.95120480MediaLocationhttp://758053SingleImageExpress<ISProjectDataFolder>PackageName1103301Intel103300000MediaLocationhttp://Apache License1095973WebDeploymentExpress<ISProjectDataFolder>PackageName4103321Intel103300000MediaLocationhttp://1249413
+ + + ISRelease_ + ISProductConfiguration_ + Property + Value +
+ + + ISRelease_ + ISProductConfiguration_ + WebType + WebURL + WebCabSize + OneClickCabName + OneClickHtmlName + WebLocalCachePath + EngineLocation + Win9xMsiUrl + WinNTMsiUrl + ISEngineLocation + ISEngineURL + OneClickTargetBrowser + DigitalCertificateIdNS + DigitalCertificateDBaseNS + DigitalCertificatePasswordNS + DotNetRedistLocation + DotNetRedistURL + DotNetVersion + DotNetBaseLanguage + DotNetLangaugePacks + DotNetFxCmdLine + DotNetLangPackCmdLine + JSharpCmdLine + Attributes + JSharpRedistLocation + MsiEngineVersion + WinMsi30Url + CertPassword +
CD_ROMExpress0http://0installinstall[LocalAppDataFolder]Downloaded Installations0http://www.installengine.com/Msiengine20http://www.installengine.com/Msiengine200http://www.installengine.com/cert05/isengine03http://www.installengine.com/cert05/dotnetfx010333http://www.installengine.com/Msiengine30 + CustomExpress0http://0installinstall[LocalAppDataFolder]Downloaded Installations0http://www.installengine.com/Msiengine20http://www.installengine.com/Msiengine200http://www.installengine.com/cert05/isengine03http://www.installengine.com/cert05/dotnetfx010333http://www.installengine.com/Msiengine30 + DVD-10Express0http://0installinstall[LocalAppDataFolder]Downloaded Installations0http://www.installengine.com/Msiengine20http://www.installengine.com/Msiengine200http://www.installengine.com/cert05/isengine03http://www.installengine.com/cert05/dotnetfx010333http://www.installengine.com/Msiengine30 + DVD-18Express0http://0installinstall[LocalAppDataFolder]Downloaded Installations0http://www.installengine.com/Msiengine20http://www.installengine.com/Msiengine200http://www.installengine.com/cert05/isengine03http://www.installengine.com/cert05/dotnetfx010333http://www.installengine.com/Msiengine30 + DVD-5Express0http://0installinstall[LocalAppDataFolder]Downloaded Installations0http://www.installengine.com/Msiengine20http://www.installengine.com/Msiengine200http://www.installengine.com/cert05/isengine03http://www.installengine.com/cert05/dotnetfx010333http://www.installengine.com/Msiengine30 + DVD-9Express0http://0installinstall[LocalAppDataFolder]Downloaded Installations0http://www.installengine.com/Msiengine20http://www.installengine.com/Msiengine200http://www.installengine.com/cert05/isengine03http://www.installengine.com/cert05/dotnetfx010333http://www.installengine.com/Msiengine30 + SingleImageExpress0http://0installinstall[LocalAppDataFolder]Downloaded Installations1http://www.installengine.com/Msiengine20http://www.installengine.com/Msiengine200http://www.installengine.com/cert05/isengine03http://www.installengine.com/cert05/dotnetfx010333http://www.installengine.com/Msiengine30 + WebDeploymentExpress0http://0setupDefault[LocalAppDataFolder]Downloaded Installations2http://www.Installengine.com/Msiengine20http://www.Installengine.com/Msiengine200http://www.installengine.com/cert05/isengine03http://www.installengine.com/cert05/dotnetfx010333http://www.installengine.com/Msiengine30 +
+ + + ISRelease_ + ISProductConfiguration_ + Name + Value + +
SingleImageExpressSetupExeDescrInstallation file for Kylin ODBC
+ + + ISRelease_ + ISProductConfiguration_ + Repository + DisplayName + Publisher + Description + ISAttributes +
+ + + ISSQLConnection + Server + Database + UserName + Password + Authentication + Attributes + Order + Comments + CmdTimeout + BatchSeparator + ScriptVersion_Table + ScriptVersion_Column +
+ + + ISSQLConnectionDBServer + ISSQLConnection_ + ISSQLDBMetaData_ + Order +
+ + + ISSQLConnection_ + ISSQLScriptFile_ + Order +
+ + + ISSQLDBMetaData + DisplayName + AdoDriverName + AdoCxnDriver + AdoCxnServer + AdoCxnDatabase + AdoCxnUserID + AdoCxnPassword + AdoCxnWindowsSecurity + AdoCxnNetLibrary + TestDatabaseCmd + TestTableCmd + VersionInfoCmd + VersionBeginToken + VersionEndToken + LocalInstanceNames + CreateDbCmd + SwitchDbCmd + ISAttributes + TestTableCmd2 + WinAuthentUserId + DsnODBCName + AdoCxnPort + AdoCxnAdditional + QueryDatabasesCmd + CreateTableCmd + InsertRecordCmd + SelectTableCmd + ScriptVersion_Table + ScriptVersion_Column + ScriptVersion_ColumnType +
+ + + ISSQLRequirement + ISSQLConnection_ + MajorVersion + ServicePackLevel + Attributes + ISSQLConnectionDBServer_ +
+ + + ErrNumber + ISSQLScriptFile_ + ErrHandling + Message + Attributes +
+ + + ISSQLScriptFile + Component_ + Scheduling + InstallText + UninstallText + ISBuildSourcePath + Comments + ErrorHandling + Attributes + Version + Condition + DisplayName +
+ + + ISSQLScriptFile_ + Server + Database + UserName + Password + Authentication + IncludeTables + ExcludeTables + Attributes +
+ + + ISSQLScriptReplace + ISSQLScriptFile_ + Search + Replace + Attributes +
+ + + ISScriptFile +
+ + + FileKey + Cost + Order + CmdLine +
+ + + ISSetupFile + FileName + Stream + Language + Splash + Path +
+ + + ISSetupPrerequisites + ISBuildSourcePath + Order + ISSetupLocation + ISReleaseFlags +
+ + + ISSetupType + Description + Display_Name + Display + Comments +
Custom##IDS__IsSetupTypeMinDlg_ChooseFeatures####IDS__IsSetupTypeMinDlg_Custom##3 + Minimal##IDS__IsSetupTypeMinDlg_MinimumFeatures####IDS__IsSetupTypeMinDlg_Minimal##2 + Typical##IDS__IsSetupTypeMinDlg_AllFeatures####IDS__IsSetupTypeMinDlg_Typical##1 +
+ + + ISSetupType_ + Feature_ + + + +
CustomAlwaysInstallMinimalAlwaysInstallTypicalAlwaysInstall
+ + + Name + ISBuildSourcePath +
+ + + ISString + ISLanguage_ + Value + Encoded + Comment + TimeStamp + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
COMPANY_NAME1033kylinolap01965213424DN_AlwaysInstall1033Always Install0-1977438387IDPROP_EXPRESS_LAUNCH_CONDITION_COLOR1033The color settings of your system are not adequate for running [ProductName].0-1977438387IDPROP_EXPRESS_LAUNCH_CONDITION_OS1033The operating system is not adequate for running [ProductName].0-1977438387IDPROP_EXPRESS_LAUNCH_CONDITION_PROCESSOR1033The processor is not adequate for running [ProductName].0-1977438387IDPROP_EXPRESS_LAUNCH_CONDITION_RAM1033The amount of RAM is not adequate for running [ProductName].0-1977438387IDPROP_EXPRESS_LAUNCH_CONDITION_SCREEN1033The screen resolution is not adequate for running [ProductName].0-1977438387IDPROP_SETUPTYPE_COMPACT1033Compact0-1977438387IDPROP_SETUPTYPE_COMPACT_DESC1033Compact Description0-1977438387IDPROP_SETUPTYPE_COMPLETE1033Complete0-1977438387IDPROP_SETUPTYPE_COMPLETE_DESC1033Complete0-1977438387IDPROP_SETUPTYPE_CUSTOM1033Custom0-1977438387IDPROP_SETUPTYPE_CUSTOM_DESC1033Custom Description0-1977438387IDPROP_SETUPTYPE_CUSTOM_DESC_PRO1033Custom0-1977438387IDPROP_SETUPTYPE_TYPICAL1033Typical0-1977438387IDPROP_SETUPTYPE_TYPICAL_DESC1033Typical Description0-1977438387IDS_ACTIONTEXT_11033[1]0-1977438387IDS_ACTIONTEXT_1b1033[1]0-1977438387IDS_ACTIONTEXT_1c1033[1]0-1977438387IDS_ACTIONTEXT_1d1033[1]0-1977438387IDS_ACTIONTEXT_Advertising1033Advertising application0-1977438387IDS_ACTIONTEXT_AllocatingRegistry1033Allocating registry space0-1977438387IDS_ACTIONTEXT_AppCommandLine1033Application: [1], Command line: [2]0-1977438387IDS_ACTIONTEXT_AppId1033AppId: [1]{{, AppType: [2]}}0-1977438387IDS_ACTIONTEXT_AppIdAppTypeRSN1033AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}0-1977438387IDS_ACTIONTEXT_Application1033Application: [1]0-1977438387IDS_ACTIONTEXT_BindingExes1033Binding executables0-1977438387IDS_ACTIONTEXT_ClassId1033Class ID: [1]0-1977438387IDS_ACTIONTEXT_ClsID1033Class ID: [1]0-1977438387IDS_ACTIONTEXT_ComponentIDQualifier1033Component ID: [1], Qualifier: [2]0-1977438387IDS_ACTIONTEXT_ComponentIdQualifier21033Component ID: [1], Qualifier: [2]0-1977438387IDS_ACTIONTEXT_ComputingSpace1033Computing space requirements0-1977438387IDS_ACTIONTEXT_ComputingSpace21033Computing space requirements0-1977438387IDS_ACTIONTEXT_ComputingSpace31033Computing space requirements0-1977438387IDS_ACTIONTEXT_ContentTypeExtension1033MIME Content Type: [1], Extension: [2]0-1977438387IDS_ACTIONTEXT_ContentTypeExtension21033MIME Content Type: [1], Extension: [2]0-1977438387IDS_ACTIONTEXT_CopyingNetworkFiles1033Copying files to the network0-1977438387IDS_ACTIONTEXT_CopyingNewFiles1033Copying new files0-1977438387IDS_ACTIONTEXT_CreatingDuplicate1033Creating duplicate files0-1977438387IDS_ACTIONTEXT_CreatingFolders1033Creating folders0-1977438387IDS_ACTIONTEXT_CreatingIISRoots1033Creating IIS Virtual Roots...0-1977438387IDS_ACTIONTEXT_CreatingShortcuts1033Creating shortcuts0-1977438387IDS_ACTIONTEXT_DeletingServices1033Deleting services0-1977438387IDS_ACTIONTEXT_EnvironmentStrings1033Updating environment strings0-1977438387IDS_ACTIONTEXT_EvaluateLaunchConditions1033Evaluating launch conditions0-1977438387IDS_ACTIONTEXT_Extension1033Extension: [1]0-1977438387IDS_ACTIONTEXT_Extension21033Extension: [1]0-1977438387IDS_ACTIONTEXT_Feature1033Feature: [1]0-1977438387IDS_ACTIONTEXT_FeatureColon1033Feature: [1]0-1977438387IDS_ACTIONTEXT_File1033File: [1]0-1977438387IDS_ACTIONTEXT_File21033File: [1]0-1977438387IDS_ACTIONTEXT_FileDependencies1033File: [1], Dependencies: [2]0-1977438387IDS_ACTIONTEXT_FileDir1033File: [1], Directory: [9]0-1977438387IDS_ACTIONTEXT_FileDir21033File: [1], Directory: [9]0-1977438387IDS_ACTIONTEXT_FileDir31033File: [1], Directory: [9]0-1977438387IDS_ACTIONTEXT_FileDirSize1033File: [1], Directory: [9], Size: [6]0-1977438387IDS_ACTIONTEXT_FileDirSize21033File: [1], Directory: [9], Size: [6]0-1977438387IDS_ACTIONTEXT_FileDirSize31033File: [1], Directory: [9], Size: [6]0-1977438387IDS_ACTIONTEXT_FileDirSize41033File: [1], Directory: [2], Size: [3]0-1977438387IDS_ACTIONTEXT_FileDirectorySize1033File: [1], Directory: [9], Size: [6]0-1977438387IDS_ACTIONTEXT_FileFolder1033File: [1], Folder: [2]0-1977438387IDS_ACTIONTEXT_FileFolder21033File: [1], Folder: [2]0-1977438387IDS_ACTIONTEXT_FileSectionKeyValue1033File: [1], Section: [2], Key: [3], Value: [4]0-1977438387IDS_ACTIONTEXT_FileSectionKeyValue21033File: [1], Section: [2], Key: [3], Value: [4]0-1977438387IDS_ACTIONTEXT_Folder1033Folder: [1]0-1977438387IDS_ACTIONTEXT_Folder11033Folder: [1]0-1977438387IDS_ACTIONTEXT_Font1033Font: [1]0-1977438387IDS_ACTIONTEXT_Font21033Font: [1]0-1977438387IDS_ACTIONTEXT_FoundApp1033Found application: [1]0-1977438387IDS_ACTIONTEXT_FreeSpace1033Free space: [1]0-1977438387IDS_ACTIONTEXT_GeneratingScript1033Generating script operations for action:0-1977438387IDS_ACTIONTEXT_ISLockPermissionsCost1033Gathering permissions information for objects...0-1977438387IDS_ACTIONTEXT_ISLockPermissionsInstall1033Applying permissions information for objects...0-1977438387IDS_ACTIONTEXT_InitializeODBCDirs1033Initializing ODBC directories0-1977438387IDS_ACTIONTEXT_InstallODBC1033Installing ODBC components0-1977438387IDS_ACTIONTEXT_InstallServices1033Installing new services0-1977438387IDS_ACTIONTEXT_InstallingSystemCatalog1033Installing system catalog0-1977438387IDS_ACTIONTEXT_KeyName1033Key: [1], Name: [2]0-1977438387IDS_ACTIONTEXT_KeyNameValue1033Key: [1], Name: [2], Value: [3]0-1977438387IDS_ACTIONTEXT_LibId1033LibID: [1]0-1977438387IDS_ACTIONTEXT_Libid21033LibID: [1]0-1977438387IDS_ACTIONTEXT_MigratingFeatureStates1033Migrating feature states from related applications0-1977438387IDS_ACTIONTEXT_MovingFiles1033Moving files0-1977438387IDS_ACTIONTEXT_NameValueAction1033Name: [1], Value: [2], Action [3]0-1977438387IDS_ACTIONTEXT_NameValueAction21033Name: [1], Value: [2], Action [3]0-1977438387IDS_ACTIONTEXT_PatchingFiles1033Patching files0-1977438387IDS_ACTIONTEXT_ProgID1033ProgID: [1]0-1977438387IDS_ACTIONTEXT_ProgID21033ProgID: [1]0-1977438387IDS_ACTIONTEXT_PropertySignature1033Property: [1], Signature: [2]0-1977438387IDS_ACTIONTEXT_PublishProductFeatures1033Publishing product features0-1977438387IDS_ACTIONTEXT_PublishProductInfo1033Publishing product information0-1977438387IDS_ACTIONTEXT_PublishingQualifiedComponents1033Publishing qualified components0-1977438387IDS_ACTIONTEXT_RegUser1033Registering user0-1977438387IDS_ACTIONTEXT_RegisterClassServer1033Registering class servers0-1977438387IDS_ACTIONTEXT_RegisterExtensionServers1033Registering extension servers0-1977438387IDS_ACTIONTEXT_RegisterFonts1033Registering fonts0-1977438387IDS_ACTIONTEXT_RegisterMimeInfo1033Registering MIME info0-1977438387IDS_ACTIONTEXT_RegisterTypeLibs1033Registering type libraries0-1977438387IDS_ACTIONTEXT_RegisteringComPlus1033Registering COM+ Applications and Components0-1977438387IDS_ACTIONTEXT_RegisteringModules1033Registering modules0-1977438387IDS_ACTIONTEXT_RegisteringProduct1033Registering product0-1977438387IDS_ACTIONTEXT_RegisteringProgIdentifiers1033Registering program identifiers0-1977438387IDS_ACTIONTEXT_RemoveApps1033Removing applications0-1977438387IDS_ACTIONTEXT_RemovingBackup1033Removing backup files0-1977438387IDS_ACTIONTEXT_RemovingDuplicates1033Removing duplicated files0-1977438387IDS_ACTIONTEXT_RemovingFiles1033Removing files0-1977438387IDS_ACTIONTEXT_RemovingFolders1033Removing folders0-1977438387IDS_ACTIONTEXT_RemovingIISRoots1033Removing IIS Virtual Roots...0-1977438387IDS_ACTIONTEXT_RemovingIni1033Removing INI file entries0-1977438387IDS_ACTIONTEXT_RemovingMoved1033Removing moved files0-1977438387IDS_ACTIONTEXT_RemovingODBC1033Removing ODBC components0-1977438387IDS_ACTIONTEXT_RemovingRegistry1033Removing system registry values0-1977438387IDS_ACTIONTEXT_RemovingShortcuts1033Removing shortcuts0-1977438387IDS_ACTIONTEXT_RollingBack1033Rolling back action:0-1977438387IDS_ACTIONTEXT_SearchForRelated1033Searching for related applications0-1977438387IDS_ACTIONTEXT_SearchInstalled1033Searching for installed applications0-1977438387IDS_ACTIONTEXT_SearchingQualifyingProducts1033Searching for qualifying products0-1977438387IDS_ACTIONTEXT_SearchingQualifyingProducts21033Searching for qualifying products0-1977438387IDS_ACTIONTEXT_Service1033Service: [1]0-1977438387IDS_ACTIONTEXT_Service21033Service: [2]0-1977438387IDS_ACTIONTEXT_Service31033Service: [1]0-1977438387IDS_ACTIONTEXT_Service41033Service: [1]0-1977438387IDS_ACTIONTEXT_Shortcut1033Shortcut: [1]0-1977438387IDS_ACTIONTEXT_Shortcut11033Shortcut: [1]0-1977438387IDS_ACTIONTEXT_StartingServices1033Starting services0-1977438387IDS_ACTIONTEXT_StoppingServices1033Stopping services0-1977438387IDS_ACTIONTEXT_UnpublishProductFeatures1033Unpublishing product features0-1977438387IDS_ACTIONTEXT_UnpublishQualified1033Unpublishing Qualified Components0-1977438387IDS_ACTIONTEXT_UnpublishingProductInfo1033Unpublishing product information0-1977438387IDS_ACTIONTEXT_UnregTypeLibs1033Unregistering type libraries0-1977438387IDS_ACTIONTEXT_UnregisterClassServers1033Unregister class servers0-1977438387IDS_ACTIONTEXT_UnregisterExtensionServers1033Unregistering extension servers0-1977438387IDS_ACTIONTEXT_UnregisterModules1033Unregistering modules0-1977438387IDS_ACTIONTEXT_UnregisteringComPlus1033Unregistering COM+ Applications and Components0-1977438387IDS_ACTIONTEXT_UnregisteringFonts1033Unregistering fonts0-1977438387IDS_ACTIONTEXT_UnregisteringMimeInfo1033Unregistering MIME info0-1977438387IDS_ACTIONTEXT_UnregisteringProgramIds1033Unregistering program identifiers0-1977438387IDS_ACTIONTEXT_UpdateComponentRegistration1033Updating component registration0-1977438387IDS_ACTIONTEXT_UpdateEnvironmentStrings1033Updating environment strings0-1977438387IDS_ACTIONTEXT_Validating1033Validating install0-1977438387IDS_ACTIONTEXT_WritingINI1033Writing INI file values0-1977438387IDS_ACTIONTEXT_WritingRegistry1033Writing system registry values0-1977438387IDS_BACK1033< &Back0-1977438387IDS_CANCEL1033Cancel0-1977438387IDS_CANCEL21033&Cancel0-1977438387IDS_CHANGE1033&Change...0-1977438387IDS_COMPLUS_PROGRESSTEXT_COST1033Costing COM+ application: [1]0-1977438387IDS_COMPLUS_PROGRESSTEXT_INSTALL1033Installing COM+ application: [1]0-1977438387IDS_COMPLUS_PROGRESSTEXT_UNINSTALL1033Uninstalling COM+ application: [1]0-1977438387IDS_DIALOG_TEXT2_DESCRIPTION1033Dialog Normal Description0-1977438387IDS_DIALOG_TEXT_DESCRIPTION_EXTERIOR1033{&TahomaBold10}Dialog Bold Title0-1977438387IDS_DIALOG_TEXT_DESCRIPTION_INTERIOR1033{&MSSansBold8}Dialog Bold Title0-1977438387IDS_DIFX_AMD641033[ProductName] requires an X64 processor. Click OK to exit the wizard.0-1977438387IDS_DIFX_IA641033[ProductName] requires an IA64 processor. Click OK to exit the wizard.0-1977438387IDS_DIFX_X861033[ProductName] requires an X86 processor. Click OK to exit the wizard.0-1977438387IDS_DatabaseFolder_InstallDatabaseTo1033Install [ProductName] database to:0-1977438387IDS_ERROR_01033{{Fatal error: }}0-1977438387IDS_ERROR_11033Error [1]. 0-1977438387IDS_ERROR_101033=== Logging started: [Date] [Time] ===0-1977438387IDS_ERROR_1001033Could not remove shortcut [2]. Verify that the shortcut file exists and that you can access it.0-1977438387IDS_ERROR_1011033Could not register type library for file [2]. Contact your support personnel.0-1977438387IDS_ERROR_1021033Could not unregister type library for file [2]. Contact your support personnel.0-1977438387IDS_ERROR_1031033Could not update the INI file [2][3]. Verify that the file exists and that you can access it.0-1977438387IDS_ERROR_1041033Could not schedule file [2] to replace file [3] on reboot. Verify that you have write permissions to file [3].0-1977438387IDS_ERROR_1051033Error removing ODBC driver manager, ODBC error [2]: [3]. Contact your support personnel.0-1977438387IDS_ERROR_1061033Error installing ODBC driver manager, ODBC error [2]: [3]. Contact your support personnel.0-1977438387IDS_ERROR_1071033Error removing ODBC driver [4], ODBC error [2]: [3]. Verify that you have sufficient privileges to remove ODBC drivers.0-1977438387IDS_ERROR_1081033Error installing ODBC driver [4], ODBC error [2]: [3]. Verify that the file [4] exists and that you can access it.0-1977438387IDS_ERROR_1091033Error configuring ODBC data source [4], ODBC error [2]: [3]. Verify that the file [4] exists and that you can access it.0-1977438387IDS_ERROR_111033=== Logging stopped: [Date] [Time] ===0-1977438387IDS_ERROR_1101033Service [2] ([3]) failed to start. Verify that you have sufficient privileges to start system services.0-1977438387IDS_ERROR_1111033Service [2] ([3]) could not be stopped. Verify that you have sufficient privileges to stop system services.0-1977438387IDS_ERROR_1121033Service [2] ([3]) could not be deleted. Verify that you have sufficient privileges to remove system services.0-1977438387IDS_ERROR_1131033Service [2] ([3]) could not be installed. Verify that you have sufficient privileges to install system services.0-1977438387IDS_ERROR_1141033Could not update environment variable [2]. Verify that you have sufficient privileges to modify environment variables.0-1977438387IDS_ERROR_1151033You do not have sufficient privileges to complete this installation for all users of the machine. Log on as an administrator and then retry this installation.0-1977438387IDS_ERROR_1161033Could not set file security for file [3]. Error: [2]. Verify that you have sufficient privileges to modify the security permissions for this file.0-1977438387IDS_ERROR_1171033Component Services (COM+ 1.0) are not installed on this computer. This installation requires Component Services in order to complete successfully. Component Services are available on Windows 2000.0-1977438387IDS_ERROR_1181033Error registering COM+ application. Contact your support personnel for more information.0-1977438387IDS_ERROR_1191033Error unregistering COM+ application. Contact your support personnel for more information.0-1977438387IDS_ERROR_121033Action start [Time]: [1].0-1977438387IDS_ERROR_1201033Removing older versions of this application0-1977438387IDS_ERROR_1211033Preparing to remove older versions of this application0-1977438387IDS_ERROR_1221033Error applying patch to file [2]. It has probably been updated by other means, and can no longer be modified by this patch. For more information contact your patch vendor. {{System Error: [3]}}0-1977438387IDS_ERROR_1231033[2] cannot install one of its required products. Contact your technical support group. {{System Error: [3].}}0-1977438387IDS_ERROR_1241033The older version of [2] cannot be removed. Contact your technical support group. {{System Error [3].}}0-1977438387IDS_ERROR_1251033The description for service '[2]' ([3]) could not be changed.0-1977438387IDS_ERROR_1261033The Windows Installer service cannot update the system file [2] because the file is protected by Windows. You may need to update your operating system for this program to work correctly. {{Package version: [3], OS Protected version: [4]}}0-1977438387IDS_ERROR_1271033The Windows Installer service cannot update the protected Windows file [2]. {{Package version: [3], OS Protected version: [4], SFP Error: [5]}}0-1977438387IDS_ERROR_1281033The Windows Installer service cannot update one or more protected Windows files. SFP Error: [2]. List of protected files: [3]0-1977438387IDS_ERROR_1291033User installations are disabled via policy on the machine.0-1977438387IDS_ERROR_131033Action ended [Time]: [1]. Return value [2].0-1977438387IDS_ERROR_1301033This setup requires Internet Information Server 4.0 or higher for configuring IIS Virtual Roots. Please make sure that you have IIS 4.0 or higher.0-1977438387IDS_ERROR_1311033This setup requires Administrator privileges for configuring IIS Virtual Roots.0-1977438387IDS_ERROR_13291033A file that is required cannot be installed because the cabinet file [2] is not digitally signed. This may indicate that the cabinet file is corrupt.0-1977438387IDS_ERROR_13301033A file that is required cannot be installed because the cabinet file [2] has an invalid digital signature. This may indicate that the cabinet file is corrupt.{ Error [3] was returned by WinVerifyTrust.}0-1977438387IDS_ERROR_13311033Failed to correctly copy [2] file: CRC error.0-1977438387IDS_ERROR_13321033Failed to correctly patch [2] file: CRC error.0-1977438387IDS_ERROR_13331033Failed to correctly patch [2] file: CRC error.0-1977438387IDS_ERROR_13341033The file '[2]' cannot be installed because the file cannot be found in cabinet file '[3]'. This could indicate a network error, an error reading from the CD-ROM, or a problem with this package.0-1977438387IDS_ERROR_13351033The cabinet file '[2]' required for this installation is corrupt and cannot be used. This could indicate a network error, an error reading from the CD-ROM, or a problem with this package.0-1977438387IDS_ERROR_13361033There was an error creating a temporary file that is needed to complete this installation. Folder: [3]. System error code: [2]0-1977438387IDS_ERROR_141033Time remaining: {[1] minutes }{[2] seconds}0-1977438387IDS_ERROR_151033Out of memory. Shut down other applications before retrying.0-1977438387IDS_ERROR_161033Installer is no longer responding.0-1977438387IDS_ERROR_16091033An error occurred while applying security settings. [2] is not a valid user or group. This could be a problem with the package, or a problem connecting to a domain controller on the network. Check your network connection and click Retry, or Cancel to end the install. Unable to locate the user's SID, system error [3]0-1977438387IDS_ERROR_16511033Admin user failed to apply patch for a per-user managed or a per-machine application which is in advertise state.0-1977438387IDS_ERROR_171033Installer terminated prematurely.0-1977438387IDS_ERROR_17151033Installed [2].0-1977438387IDS_ERROR_17161033Configured [2].0-1977438387IDS_ERROR_17171033Removed [2].0-1977438387IDS_ERROR_17181033File [2] was rejected by digital signature policy.0-1977438387IDS_ERROR_17191033Windows Installer service could not be accessed. Contact your support personnel to verify that it is properly registered and enabled.0-1977438387IDS_ERROR_17201033There is a problem with this Windows Installer package. A script required for this install to complete could not be run. Contact your support personnel or package vendor. Custom action [2] script error [3], [4]: [5] Line [6], Column [7], [8]0-1977438387IDS_ERROR_17211033There is a problem with this Windows Installer package. A program required for this install to complete could not be run. Contact your support personnel or package vendor. Action: [2], location: [3], command: [4]0-1977438387IDS_ERROR_17221033There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor. Action [2], location: [3], command: [4]0-1977438387IDS_ERROR_17231033There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run. Contact your support personnel or package vendor. Action [2], entry: [3], library: [4]0-1977438387IDS_ERROR_17241033Removal completed successfully.0-1977438387IDS_ERROR_17251033Removal failed.0-1977438387IDS_ERROR_17261033Advertisement completed successfully.0-1977438387IDS_ERROR_17271033Advertisement failed.0-1977438387IDS_ERROR_17281033Configuration completed successfully.0-1977438387IDS_ERROR_17291033Configuration failed.0-1977438387IDS_ERROR_17301033You must be an Administrator to remove this application. To remove this application, you can log on as an administrator, or contact your technical support group for assistance.0-1977438387IDS_ERROR_17311033The source installation package for the product [2] is out of sync with the client package. Try the installation again using a valid copy of the installation package '[3]'.0-1977438387IDS_ERROR_17321033In order to complete the installation of [2], you must restart the computer. Other users are currently logged on to this computer, and restarting may cause them to lose their work. Do you want to restart now?0-1977438387IDS_ERROR_181033Please wait while Windows configures [ProductName]0-1977438387IDS_ERROR_191033Gathering required information...0-1977438387IDS_ERROR_19351033An error occurred during the installation of assembly component [2]. HRESULT: [3]. {{assembly interface: [4], function: [5], assembly name: [6]}}0-1977438387IDS_ERROR_19361033An error occurred during the installation of assembly '[6]'. The assembly is not strongly named or is not signed with the minimal key length. HRESULT: [3]. {{assembly interface: [4], function: [5], component: [2]}}0-1977438387IDS_ERROR_19371033An error occurred during the installation of assembly '[6]'. The signature or catalog could not be verified or is not valid. HRESULT: [3]. {{assembly interface: [4], function: [5], component: [2]}}0-1977438387IDS_ERROR_19381033An error occurred during the installation of assembly '[6]'. One or more modules of the assembly could not be found. HRESULT: [3]. {{assembly interface: [4], function: [5], component: [2]}}0-1977438387IDS_ERROR_21033Warning [1]. 0-1977438387IDS_ERROR_201033{[ProductName] }Setup completed successfully.0-1977438387IDS_ERROR_211033{[ProductName] }Setup failed.0-1977438387IDS_ERROR_21011033Shortcuts not supported by the operating system.0-1977438387IDS_ERROR_21021033Invalid .ini action: [2]0-1977438387IDS_ERROR_21031033Could not resolve path for shell folder [2].0-1977438387IDS_ERROR_21041033Writing .ini file: [3]: System error: [2].0-1977438387IDS_ERROR_21051033Shortcut Creation [3] Failed. System error: [2].0-1977438387IDS_ERROR_21061033Shortcut Deletion [3] Failed. System error: [2].0-1977438387IDS_ERROR_21071033Error [3] registering type library [2].0-1977438387IDS_ERROR_21081033Error [3] unregistering type library [2].0-1977438387IDS_ERROR_21091033Section missing for .ini action.0-1977438387IDS_ERROR_21101033Key missing for .ini action.0-1977438387IDS_ERROR_21111033Detection of running applications failed, could not get performance data. Registered operation returned : [2].0-1977438387IDS_ERROR_21121033Detection of running applications failed, could not get performance index. Registered operation returned : [2].0-1977438387IDS_ERROR_21131033Detection of running applications failed.0-1977438387IDS_ERROR_221033Error reading from file: [2]. {{ System error [3].}} Verify that the file exists and that you can access it.0-1977438387IDS_ERROR_22001033Database: [2]. Database object creation failed, mode = [3].0-1977438387IDS_ERROR_22011033Database: [2]. Initialization failed, out of memory.0-1977438387IDS_ERROR_22021033Database: [2]. Data access failed, out of memory.0-1977438387IDS_ERROR_22031033Database: [2]. Cannot open database file. System error [3].0-1977438387IDS_ERROR_22041033Database: [2]. Table already exists: [3].0-1977438387IDS_ERROR_22051033Database: [2]. Table does not exist: [3].0-1977438387IDS_ERROR_22061033Database: [2]. Table could not be dropped: [3].0-1977438387IDS_ERROR_22071033Database: [2]. Intent violation.0-1977438387IDS_ERROR_22081033Database: [2]. Insufficient parameters for Execute.0-1977438387IDS_ERROR_22091033Database: [2]. Cursor in invalid state.0-1977438387IDS_ERROR_22101033Database: [2]. Invalid update data type in column [3].0-1977438387IDS_ERROR_22111033Database: [2]. Could not create database table [3].0-1977438387IDS_ERROR_22121033Database: [2]. Database not in writable state.0-1977438387IDS_ERROR_22131033Database: [2]. Error saving database tables.0-1977438387IDS_ERROR_22141033Database: [2]. Error writing export file: [3].0-1977438387IDS_ERROR_22151033Database: [2]. Cannot open import file: [3].0-1977438387IDS_ERROR_22161033Database: [2]. Import file format error: [3], Line [4].0-1977438387IDS_ERROR_22171033Database: [2]. Wrong state to CreateOutputDatabase [3].0-1977438387IDS_ERROR_22181033Database: [2]. Table name not supplied.0-1977438387IDS_ERROR_22191033Database: [2]. Invalid Installer database format.0-1977438387IDS_ERROR_22201033Database: [2]. Invalid row/field data.0-1977438387IDS_ERROR_22211033Database: [2]. Code page conflict in import file: [3].0-1977438387IDS_ERROR_22221033Database: [2]. Transform or merge code page [3] differs from database code page [4].0-1977438387IDS_ERROR_22231033Database: [2]. Databases are the same. No transform generated.0-1977438387IDS_ERROR_22241033Database: [2]. GenerateTransform: Database corrupt. Table: [3].0-1977438387IDS_ERROR_22251033Database: [2]. Transform: Cannot transform a temporary table. Table: [3].0-1977438387IDS_ERROR_22261033Database: [2]. Transform failed.0-1977438387IDS_ERROR_22271033Database: [2]. Invalid identifier '[3]' in SQL query: [4].0-1977438387IDS_ERROR_22281033Database: [2]. Unknown table '[3]' in SQL query: [4].0-1977438387IDS_ERROR_22291033Database: [2]. Could not load table '[3]' in SQL query: [4].0-1977438387IDS_ERROR_22301033Database: [2]. Repeated table '[3]' in SQL query: [4].0-1977438387IDS_ERROR_22311033Database: [2]. Missing ')' in SQL query: [3].0-1977438387IDS_ERROR_22321033Database: [2]. Unexpected token '[3]' in SQL query: [4].0-1977438387IDS_ERROR_22331033Database: [2]. No columns in SELECT clause in SQL query: [3].0-1977438387IDS_ERROR_22341033Database: [2]. No columns in ORDER BY clause in SQL query: [3].0-1977438387IDS_ERROR_22351033Database: [2]. Column '[3]' not present or ambiguous in SQL query: [4].0-1977438387IDS_ERROR_22361033Database: [2]. Invalid operator '[3]' in SQL query: [4].0-1977438387IDS_ERROR_22371033Database: [2]. Invalid or missing query string: [3].0-1977438387IDS_ERROR_22381033Database: [2]. Missing FROM clause in SQL query: [3].0-1977438387IDS_ERROR_22391033Database: [2]. Insufficient values in INSERT SQL statement.0-1977438387IDS_ERROR_22401033Database: [2]. Missing update columns in UPDATE SQL statement.0-1977438387IDS_ERROR_22411033Database: [2]. Missing insert columns in INSERT SQL statement.0-1977438387IDS_ERROR_22421033Database: [2]. Column '[3]' repeated.0-1977438387IDS_ERROR_22431033Database: [2]. No primary columns defined for table creation.0-1977438387IDS_ERROR_22441033Database: [2]. Invalid type specifier '[3]' in SQL query [4].0-1977438387IDS_ERROR_22451033IStorage::Stat failed with error [3].0-1977438387IDS_ERROR_22461033Database: [2]. Invalid Installer transform format.0-1977438387IDS_ERROR_22471033Database: [2] Transform stream read/write failure.0-1977438387IDS_ERROR_22481033Database: [2] GenerateTransform/Merge: Column type in base table does not match reference table. Table: [3] Col #: [4].0-1977438387IDS_ERROR_22491033Database: [2] GenerateTransform: More columns in base table than in reference table. Table: [3].0-1977438387IDS_ERROR_22501033Database: [2] Transform: Cannot add existing row. Table: [3].0-1977438387IDS_ERROR_22511033Database: [2] Transform: Cannot delete row that does not exist. Table: [3].0-1977438387IDS_ERROR_22521033Database: [2] Transform: Cannot add existing table. Table: [3].0-1977438387IDS_ERROR_22531033Database: [2] Transform: Cannot delete table that does not exist. Table: [3].0-1977438387IDS_ERROR_22541033Database: [2] Transform: Cannot update row that does not exist. Table: [3].0-1977438387IDS_ERROR_22551033Database: [2] Transform: Column with this name already exists. Table: [3] Col: [4].0-1977438387IDS_ERROR_22561033Database: [2] GenerateTransform/Merge: Number of primary keys in base table does not match reference table. Table: [3].0-1977438387IDS_ERROR_22571033Database: [2]. Intent to modify read only table: [3].0-1977438387IDS_ERROR_22581033Database: [2]. Type mismatch in parameter: [3].0-1977438387IDS_ERROR_22591033Database: [2] Table(s) Update failed0-1977438387IDS_ERROR_22601033Storage CopyTo failed. System error: [3].0-1977438387IDS_ERROR_22611033Could not remove stream [2]. System error: [3].0-1977438387IDS_ERROR_22621033Stream does not exist: [2]. System error: [3].0-1977438387IDS_ERROR_22631033Could not open stream [2]. System error: [3].0-1977438387IDS_ERROR_22641033Could not remove stream [2]. System error: [3].0-1977438387IDS_ERROR_22651033Could not commit storage. System error: [3].0-1977438387IDS_ERROR_22661033Could not rollback storage. System error: [3].0-1977438387IDS_ERROR_22671033Could not delete storage [2]. System error: [3].0-1977438387IDS_ERROR_22681033Database: [2]. Merge: There were merge conflicts reported in [3] tables.0-1977438387IDS_ERROR_22691033Database: [2]. Merge: The column count differed in the '[3]' table of the two databases.0-1977438387IDS_ERROR_22701033Database: [2]. GenerateTransform/Merge: Column name in base table does not match reference table. Table: [3] Col #: [4].0-1977438387IDS_ERROR_22711033SummaryInformation write for transform failed.0-1977438387IDS_ERROR_22721033Database: [2]. MergeDatabase will not write any changes because the database is open read-only.0-1977438387IDS_ERROR_22731033Database: [2]. MergeDatabase: A reference to the base database was passed as the reference database.0-1977438387IDS_ERROR_22741033Database: [2]. MergeDatabase: Unable to write errors to Error table. Could be due to a non-nullable column in a predefined Error table.0-1977438387IDS_ERROR_22751033Database: [2]. Specified Modify [3] operation invalid for table joins.0-1977438387IDS_ERROR_22761033Database: [2]. Code page [3] not supported by the system.0-1977438387IDS_ERROR_22771033Database: [2]. Failed to save table [3].0-1977438387IDS_ERROR_22781033Database: [2]. Exceeded number of expressions limit of 32 in WHERE clause of SQL query: [3].0-1977438387IDS_ERROR_22791033Database: [2] Transform: Too many columns in base table [3].0-1977438387IDS_ERROR_22801033Database: [2]. Could not create column [3] for table [4].0-1977438387IDS_ERROR_22811033Could not rename stream [2]. System error: [3].0-1977438387IDS_ERROR_22821033Stream name invalid [2].0-1977438387IDS_ERROR_231033Cannot create the file [3]. A directory with this name already exists. Cancel the installation and try installing to a different location.0-1977438387IDS_ERROR_23021033Patch notify: [2] bytes patched to far.0-1977438387IDS_ERROR_23031033Error getting volume info. GetLastError: [2].0-1977438387IDS_ERROR_23041033Error getting disk free space. GetLastError: [2]. Volume: [3].0-1977438387IDS_ERROR_23051033Error waiting for patch thread. GetLastError: [2].0-1977438387IDS_ERROR_23061033Could not create thread for patch application. GetLastError: [2].0-1977438387IDS_ERROR_23071033Source file key name is null.0-1977438387IDS_ERROR_23081033Destination file name is null.0-1977438387IDS_ERROR_23091033Attempting to patch file [2] when patch already in progress.0-1977438387IDS_ERROR_23101033Attempting to continue patch when no patch is in progress.0-1977438387IDS_ERROR_23151033Missing path separator: [2].0-1977438387IDS_ERROR_23181033File does not exist: [2].0-1977438387IDS_ERROR_23191033Error setting file attribute: [3] GetLastError: [2].0-1977438387IDS_ERROR_23201033File not writable: [2].0-1977438387IDS_ERROR_23211033Error creating file: [2].0-1977438387IDS_ERROR_23221033User canceled.0-1977438387IDS_ERROR_23231033Invalid file attribute.0-1977438387IDS_ERROR_23241033Could not open file: [3] GetLastError: [2].0-1977438387IDS_ERROR_23251033Could not get file time for file: [3] GetLastError: [2].0-1977438387IDS_ERROR_23261033Error in FileToDosDateTime.0-1977438387IDS_ERROR_23271033Could not remove directory: [3] GetLastError: [2].0-1977438387IDS_ERROR_23281033Error getting file version info for file: [2].0-1977438387IDS_ERROR_23291033Error deleting file: [3]. GetLastError: [2].0-1977438387IDS_ERROR_23301033Error getting file attributes: [3]. GetLastError: [2].0-1977438387IDS_ERROR_23311033Error loading library [2] or finding entry point [3].0-1977438387IDS_ERROR_23321033Error getting file attributes. GetLastError: [2].0-1977438387IDS_ERROR_23331033Error setting file attributes. GetLastError: [2].0-1977438387IDS_ERROR_23341033Error converting file time to local time for file: [3]. GetLastError: [2].0-1977438387IDS_ERROR_23351033Path: [2] is not a parent of [3].0-1977438387IDS_ERROR_23361033Error creating temp file on path: [3]. GetLastError: [2].0-1977438387IDS_ERROR_23371033Could not close file: [3] GetLastError: [2].0-1977438387IDS_ERROR_23381033Could not update resource for file: [3] GetLastError: [2].0-1977438387IDS_ERROR_23391033Could not set file time for file: [3] GetLastError: [2].0-1977438387IDS_ERROR_23401033Could not update resource for file: [3], Missing resource.0-1977438387IDS_ERROR_23411033Could not update resource for file: [3], Resource too large.0-1977438387IDS_ERROR_23421033Could not update resource for file: [3] GetLastError: [2].0-1977438387IDS_ERROR_23431033Specified path is empty.0-1977438387IDS_ERROR_23441033Could not find required file IMAGEHLP.DLL to validate file:[2].0-1977438387IDS_ERROR_23451033[2]: File does not contain a valid checksum value.0-1977438387IDS_ERROR_23471033User ignore.0-1977438387IDS_ERROR_23481033Error attempting to read from cabinet stream.0-1977438387IDS_ERROR_23491033Copy resumed with different info.0-1977438387IDS_ERROR_23501033FDI server error0-1977438387IDS_ERROR_23511033File key '[2]' not found in cabinet '[3]'. The installation cannot continue.0-1977438387IDS_ERROR_23521033Could not initialize cabinet file server. The required file 'CABINET.DLL' may be missing.0-1977438387IDS_ERROR_23531033Not a cabinet.0-1977438387IDS_ERROR_23541033Cannot handle cabinet.0-1977438387IDS_ERROR_23551033Corrupt cabinet.0-1977438387IDS_ERROR_23561033Could not locate cabinet in stream: [2].0-1977438387IDS_ERROR_23571033Cannot set attributes.0-1977438387IDS_ERROR_23581033Error determining whether file is in-use: [3]. GetLastError: [2].0-1977438387IDS_ERROR_23591033Unable to create the target file - file may be in use.0-1977438387IDS_ERROR_23601033Progress tick.0-1977438387IDS_ERROR_23611033Need next cabinet.0-1977438387IDS_ERROR_23621033Folder not found: [2].0-1977438387IDS_ERROR_23631033Could not enumerate subfolders for folder: [2].0-1977438387IDS_ERROR_23641033Bad enumeration constant in CreateCopier call.0-1977438387IDS_ERROR_23651033Could not BindImage exe file [2].0-1977438387IDS_ERROR_23661033User failure.0-1977438387IDS_ERROR_23671033User abort.0-1977438387IDS_ERROR_23681033Failed to get network resource information. Error [2], network path [3]. Extended error: network provider [5], error code [4], error description [6].0-1977438387IDS_ERROR_23701033Invalid CRC checksum value for [2] file.{ Its header says [3] for checksum, its computed value is [4].}0-1977438387IDS_ERROR_23711033Could not apply patch to file [2]. GetLastError: [3].0-1977438387IDS_ERROR_23721033Patch file [2] is corrupt or of an invalid format. Attempting to patch file [3]. GetLastError: [4].0-1977438387IDS_ERROR_23731033File [2] is not a valid patch file.0-1977438387IDS_ERROR_23741033File [2] is not a valid destination file for patch file [3].0-1977438387IDS_ERROR_23751033Unknown patching error: [2].0-1977438387IDS_ERROR_23761033Cabinet not found.0-1977438387IDS_ERROR_23791033Error opening file for read: [3] GetLastError: [2].0-1977438387IDS_ERROR_23801033Error opening file for write: [3]. GetLastError: [2].0-1977438387IDS_ERROR_23811033Directory does not exist: [2].0-1977438387IDS_ERROR_23821033Drive not ready: [2].0-1977438387IDS_ERROR_241033Please insert the disk: [2]0-1977438387IDS_ERROR_2401103364-bit registry operation attempted on 32-bit operating system for key [2].0-1977438387IDS_ERROR_24021033Out of memory.0-1977438387IDS_ERROR_251033The installer has insufficient privileges to access this directory: [2]. The installation cannot continue. Log on as an administrator or contact your system administrator.0-1977438387IDS_ERROR_25011033Could not create rollback script enumerator.0-1977438387IDS_ERROR_25021033Called InstallFinalize when no install in progress.0-1977438387IDS_ERROR_25031033Called RunScript when not marked in progress.0-1977438387IDS_ERROR_261033Error writing to file [2]. Verify that you have access to that directory.0-1977438387IDS_ERROR_26011033Invalid value for property [2]: '[3]'0-1977438387IDS_ERROR_26021033The [2] table entry '[3]' has no associated entry in the Media table.0-1977438387IDS_ERROR_26031033Duplicate table name [2].0-1977438387IDS_ERROR_26041033[2] Property undefined.0-1977438387IDS_ERROR_26051033Could not find server [2] in [3] or [4].0-1977438387IDS_ERROR_26061033Value of property [2] is not a valid full path: '[3]'.0-1977438387IDS_ERROR_26071033Media table not found or empty (required for installation of files).0-1977438387IDS_ERROR_26081033Could not create security descriptor for object. Error: '[2]'.0-1977438387IDS_ERROR_26091033Attempt to migrate product settings before initialization.0-1977438387IDS_ERROR_26111033The file [2] is marked as compressed, but the associated media entry does not specify a cabinet.0-1977438387IDS_ERROR_26121033Stream not found in '[2]' column. Primary key: '[3]'.0-1977438387IDS_ERROR_26131033RemoveExistingProducts action sequenced incorrectly.0-1977438387IDS_ERROR_26141033Could not access IStorage object from installation package.0-1977438387IDS_ERROR_26151033Skipped unregistration of Module [2] due to source resolution failure.0-1977438387IDS_ERROR_26161033Companion file [2] parent missing.0-1977438387IDS_ERROR_26171033Shared component [2] not found in Component table.0-1977438387IDS_ERROR_26181033Isolated application component [2] not found in Component table.0-1977438387IDS_ERROR_26191033Isolated components [2], [3] not part of same feature.0-1977438387IDS_ERROR_26201033Key file of isolated application component [2] not in File table.0-1977438387IDS_ERROR_26211033Resource DLL or Resource ID information for shortcut [2] set incorrectly.0-1977438387IDS_ERROR_271033Error reading from file [2]. Verify that the file exists and that you can access it.0-1977438387IDS_ERROR_27011033The depth of a feature exceeds the acceptable tree depth of [2] levels.0-1977438387IDS_ERROR_27021033A Feature table record ([2]) references a non-existent parent in the Attributes field.0-1977438387IDS_ERROR_27031033Property name for root source path not defined: [2]0-1977438387IDS_ERROR_27041033Root directory property undefined: [2]0-1977438387IDS_ERROR_27051033Invalid table: [2]; Could not be linked as tree.0-1977438387IDS_ERROR_27061033Source paths not created. No path exists for entry [2] in Directory table.0-1977438387IDS_ERROR_27071033Target paths not created. No path exists for entry [2] in Directory table.0-1977438387IDS_ERROR_27081033No entries found in the file table.0-1977438387IDS_ERROR_27091033The specified Component name ('[2]') not found in Component table.0-1977438387IDS_ERROR_27101033The requested 'Select' state is illegal for this Component.0-1977438387IDS_ERROR_27111033The specified Feature name ('[2]') not found in Feature table.0-1977438387IDS_ERROR_27121033Invalid return from modeless dialog: [3], in action [2].0-1977438387IDS_ERROR_27131033Null value in a non-nullable column ('[2]' in '[3]' column of the '[4]' table.0-1977438387IDS_ERROR_27141033Invalid value for default folder name: [2].0-1977438387IDS_ERROR_27151033The specified File key ('[2]') not found in the File table.0-1977438387IDS_ERROR_27161033Could not create a random subcomponent name for component '[2]'.0-1977438387IDS_ERROR_27171033Bad action condition or error calling custom action '[2]'.0-1977438387IDS_ERROR_27181033Missing package name for product code '[2]'.0-1977438387IDS_ERROR_27191033Neither UNC nor drive letter path found in source '[2]'.0-1977438387IDS_ERROR_27201033Error opening source list key. Error: '[2]'0-1977438387IDS_ERROR_27211033Custom action [2] not found in Binary table stream.0-1977438387IDS_ERROR_27221033Custom action [2] not found in File table.0-1977438387IDS_ERROR_27231033Custom action [2] specifies unsupported type.0-1977438387IDS_ERROR_27241033The volume label '[2]' on the media you're running from does not match the label '[3]' given in the Media table. This is allowed only if you have only 1 entry in your Media table.0-1977438387IDS_ERROR_27251033Invalid database tables0-1977438387IDS_ERROR_27261033Action not found: [2].0-1977438387IDS_ERROR_27271033The directory entry '[2]' does not exist in the Directory table.0-1977438387IDS_ERROR_27281033Table definition error: [2]0-1977438387IDS_ERROR_27291033Install engine not initialized.0-1977438387IDS_ERROR_27301033Bad value in database. Table: '[2]'; Primary key: '[3]'; Column: '[4]'0-1977438387IDS_ERROR_27311033Selection Manager not initialized.0-1977438387IDS_ERROR_27321033Directory Manager not initialized.0-1977438387IDS_ERROR_27331033Bad foreign key ('[2]') in '[3]' column of the '[4]' table.0-1977438387IDS_ERROR_27341033Invalid reinstall mode character.0-1977438387IDS_ERROR_27351033Custom action '[2]' has caused an unhandled exception and has been stopped. This may be the result of an internal error in the custom action, such as an access violation.0-1977438387IDS_ERROR_27361033Generation of custom action temp file failed: [2].0-1977438387IDS_ERROR_27371033Could not access custom action [2], entry [3], library [4]0-1977438387IDS_ERROR_27381033Could not access VBScript run time for custom action [2].0-1977438387IDS_ERROR_27391033Could not access JavaScript run time for custom action [2].0-1977438387IDS_ERROR_27401033Custom action [2] script error [3], [4]: [5] Line [6], Column [7], [8].0-1977438387IDS_ERROR_27411033Configuration information for product [2] is corrupt. Invalid info: [2].0-1977438387IDS_ERROR_27421033Marshaling to Server failed: [2].0-1977438387IDS_ERROR_27431033Could not execute custom action [2], location: [3], command: [4].0-1977438387IDS_ERROR_27441033EXE failed called by custom action [2], location: [3], command: [4].0-1977438387IDS_ERROR_27451033Transform [2] invalid for package [3]. Expected language [4], found language [5].0-1977438387IDS_ERROR_27461033Transform [2] invalid for package [3]. Expected product [4], found product [5].0-1977438387IDS_ERROR_27471033Transform [2] invalid for package [3]. Expected product version < [4], found product version [5].0-1977438387IDS_ERROR_27481033Transform [2] invalid for package [3]. Expected product version <= [4], found product version [5].0-1977438387IDS_ERROR_27491033Transform [2] invalid for package [3]. Expected product version == [4], found product version [5].0-1977438387IDS_ERROR_27501033Transform [2] invalid for package [3]. Expected product version >= [4], found product version [5].0-1977438387IDS_ERROR_275021033Could not connect to [2] '[3]'. [4]0-1977438387IDS_ERROR_275031033Error retrieving version string from [2] '[3]'. [4]0-1977438387IDS_ERROR_275041033SQL version requirements not met: [3]. This installation requires [2] [4] or later.0-1977438387IDS_ERROR_275051033Could not open SQL script file [2].0-1977438387IDS_ERROR_275061033Error executing SQL script [2]. Line [3]. [4]0-1977438387IDS_ERROR_275071033Connection or browsing for database servers requires that MDAC be installed.0-1977438387IDS_ERROR_275081033Error installing COM+ application [2]. [3]0-1977438387IDS_ERROR_275091033Error uninstalling COM+ application [2]. [3]0-1977438387IDS_ERROR_27511033Transform [2] invalid for package [3]. Expected product version > [4], found product version [5].0-1977438387IDS_ERROR_275101033Error installing COM+ application [2]. Could not load Microsoft(R) .NET class libraries. Registering .NET serviced components requires that Microsoft(R) .NET Framework be installed.0-1977438387IDS_ERROR_275111033Could not execute SQL script file [2]. Connection not open: [3]0-1977438387IDS_ERROR_275121033Error beginning transactions for [2] '[3]'. Database [4]. [5]0-1977438387IDS_ERROR_275131033Error committing transactions for [2] '[3]'. Database [4]. [5]0-1977438387IDS_ERROR_275141033This installation requires a Microsoft SQL Server. The specified server '[3]' is a Microsoft SQL Server Desktop Engine or SQL Server Express.0-1977438387IDS_ERROR_275151033Error retrieving schema version from [2] '[3]'. Database: '[4]'. [5]0-1977438387IDS_ERROR_275161033Error writing schema version to [2] '[3]'. Database: '[4]'. [5]0-1977438387IDS_ERROR_275171033This installation requires Administrator privileges for installing COM+ applications. Log on as an administrator and then retry this installation.0-1977438387IDS_ERROR_275181033The COM+ application "[2]" is configured to run as an NT service; this requires COM+ 1.5 or later on the system. Since your system has COM+ 1.0, this application will not be installed.0-1977438387IDS_ERROR_275191033Error updating XML file [2]. [3]0-1977438387IDS_ERROR_27521033Could not open transform [2] stored as child storage of package [4].0-1977438387IDS_ERROR_275201033Error opening XML file [2]. [3]0-1977438387IDS_ERROR_275211033This setup requires MSXML 3.0 or higher for configuring XML files. Please make sure that you have version 3.0 or higher.0-1977438387IDS_ERROR_275221033Error creating XML file [2]. [3]0-1977438387IDS_ERROR_275231033Error loading servers.0-1977438387IDS_ERROR_275241033Error loading NetApi32.DLL. The ISNetApi.dll needs to have NetApi32.DLL properly loaded and requires an NT based operating system.0-1977438387IDS_ERROR_275251033Server not found. Verify that the specified server exists. The server name can not be empty.0-1977438387IDS_ERROR_275261033Unspecified error from ISNetApi.dll.0-1977438387IDS_ERROR_275271033The buffer is too small.0-1977438387IDS_ERROR_275281033Access denied. Check administrative rights.0-1977438387IDS_ERROR_275291033Invalid computer.0-1977438387IDS_ERROR_27531033The File '[2]' is not marked for installation.0-1977438387IDS_ERROR_275301033Unknown error returned from NetAPI. System error: [2]0-1977438387IDS_ERROR_275311033Unhandled exception.0-1977438387IDS_ERROR_275321033Invalid user name for this server or domain.0-1977438387IDS_ERROR_275331033The case-sensitive passwords do not match.0-1977438387IDS_ERROR_275341033The list is empty.0-1977438387IDS_ERROR_275351033Access violation.0-1977438387IDS_ERROR_275361033Error getting group.0-1977438387IDS_ERROR_275371033Error adding user to group. Verify that the group exists for this domain or server.0-1977438387IDS_ERROR_275381033Error creating user.0-1977438387IDS_ERROR_275391033ERROR_NETAPI_ERROR_NOT_PRIMARY returned from NetAPI.0-1977438387IDS_ERROR_27541033The File '[2]' is not a valid patch file.0-1977438387IDS_ERROR_275401033The specified user already exists.0-1977438387IDS_ERROR_275411033The specified group already exists.0-1977438387IDS_ERROR_275421033Invalid password. Verify that the password is in accordance with your network password policy.0-1977438387IDS_ERROR_275431033Invalid name.0-1977438387IDS_ERROR_275441033Invalid group.0-1977438387IDS_ERROR_275451033The user name can not be empty and must be in the format DOMAIN\Username.0-1977438387IDS_ERROR_275461033Error loading or creating INI file in the user TEMP directory.0-1977438387IDS_ERROR_275471033ISNetAPI.dll is not loaded or there was an error loading the dll. This dll needs to be loaded for this operation. Verify that the dll is in the SUPPORTDIR directory.0-1977438387IDS_ERROR_275481033Error deleting INI file containing new user information from the user's TEMP directory.0-1977438387IDS_ERROR_275491033Error getting the primary domain controller (PDC).0-1977438387IDS_ERROR_27551033Server returned unexpected error [2] attempting to install package [3].0-1977438387IDS_ERROR_275501033Every field must have a value in order to create a user.0-1977438387IDS_ERROR_275511033ODBC driver for [2] not found. This is required to connect to [2] database servers.0-1977438387IDS_ERROR_275521033Error creating database [4]. Server: [2] [3]. [5]0-1977438387IDS_ERROR_275531033Error connecting to database [4]. Server: [2] [3]. [5]0-1977438387IDS_ERROR_275541033Error attempting to open connection [2]. No valid database metadata associated with this connection.0-1977438387IDS_ERROR_275551033Error attempting to apply permissions to object '[2]'. System error: [3] ([4])0-1977438387IDS_ERROR_27561033The property '[2]' was used as a directory property in one or more tables, but no value was ever assigned.0-1977438387IDS_ERROR_27571033Could not create summary info for transform [2].0-1977438387IDS_ERROR_27581033Transform [2] does not contain an MSI version.0-1977438387IDS_ERROR_27591033Transform [2] version [3] incompatible with engine; Min: [4], Max: [5].0-1977438387IDS_ERROR_27601033Transform [2] invalid for package [3]. Expected upgrade code [4], found [5].0-1977438387IDS_ERROR_27611033Cannot begin transaction. Global mutex not properly initialized.0-1977438387IDS_ERROR_27621033Cannot write script record. Transaction not started.0-1977438387IDS_ERROR_27631033Cannot run script. Transaction not started.0-1977438387IDS_ERROR_27651033Assembly name missing from AssemblyName table : Component: [4].0-1977438387IDS_ERROR_27661033The file [2] is an invalid MSI storage file.0-1977438387IDS_ERROR_27671033No more data{ while enumerating [2]}.0-1977438387IDS_ERROR_27681033Transform in patch package is invalid.0-1977438387IDS_ERROR_27691033Custom Action [2] did not close [3] MSIHANDLEs.0-1977438387IDS_ERROR_27701033Cached folder [2] not defined in internal cache folder table.0-1977438387IDS_ERROR_27711033Upgrade of feature [2] has a missing component.0-1977438387IDS_ERROR_27721033New upgrade feature [2] must be a leaf feature.0-1977438387IDS_ERROR_281033Another application has exclusive access to the file [2]. Please shut down all other applications, then click Retry.0-1977438387IDS_ERROR_28011033Unknown Message -- Type [2]. No action is taken.0-1977438387IDS_ERROR_28021033No publisher is found for the event [2].0-1977438387IDS_ERROR_28031033Dialog View did not find a record for the dialog [2].0-1977438387IDS_ERROR_28041033On activation of the control [3] on dialog [2] CMsiDialog failed to evaluate the condition [3].0-1977438387IDS_ERROR_28061033The dialog [2] failed to evaluate the condition [3].0-1977438387IDS_ERROR_28071033The action [2] is not recognized.0-1977438387IDS_ERROR_28081033Default button is ill-defined on dialog [2].0-1977438387IDS_ERROR_28091033On the dialog [2] the next control pointers do not form a cycle. There is a pointer from [3] to [4], but there is no further pointer.0-1977438387IDS_ERROR_28101033On the dialog [2] the next control pointers do not form a cycle. There is a pointer from both [3] and [5] to [4].0-1977438387IDS_ERROR_28111033On dialog [2] control [3] has to take focus, but it is unable to do so.0-1977438387IDS_ERROR_28121033The event [2] is not recognized.0-1977438387IDS_ERROR_28131033The EndDialog event was called with the argument [2], but the dialog has a parent.0-1977438387IDS_ERROR_28141033On the dialog [2] the control [3] names a nonexistent control [4] as the next control.0-1977438387IDS_ERROR_28151033ControlCondition table has a row without condition for the dialog [2].0-1977438387IDS_ERROR_28161033The EventMapping table refers to an invalid control [4] on dialog [2] for the event [3].0-1977438387IDS_ERROR_28171033The event [2] failed to set the attribute for the control [4] on dialog [3].0-1977438387IDS_ERROR_28181033In the ControlEvent table EndDialog has an unrecognized argument [2].0-1977438387IDS_ERROR_28191033Control [3] on dialog [2] needs a property linked to it.0-1977438387IDS_ERROR_28201033Attempted to initialize an already initialized handler.0-1977438387IDS_ERROR_28211033Attempted to initialize an already initialized dialog: [2].0-1977438387IDS_ERROR_28221033No other method can be called on dialog [2] until all the controls are added.0-1977438387IDS_ERROR_28231033Attempted to initialize an already initialized control: [3] on dialog [2].0-1977438387IDS_ERROR_28241033The dialog attribute [3] needs a record of at least [2] field(s).0-1977438387IDS_ERROR_28251033The control attribute [3] needs a record of at least [2] field(s).0-1977438387IDS_ERROR_28261033Control [3] on dialog [2] extends beyond the boundaries of the dialog [4] by [5] pixels.0-1977438387IDS_ERROR_28271033The button [4] on the radio button group [3] on dialog [2] extends beyond the boundaries of the group [5] by [6] pixels.0-1977438387IDS_ERROR_28281033Tried to remove control [3] from dialog [2], but the control is not part of the dialog.0-1977438387IDS_ERROR_28291033Attempt to use an uninitialized dialog.0-1977438387IDS_ERROR_28301033Attempt to use an uninitialized control on dialog [2].0-1977438387IDS_ERROR_28311033The control [3] on dialog [2] does not support [5] the attribute [4].0-1977438387IDS_ERROR_28321033The dialog [2] does not support the attribute [3].0-1977438387IDS_ERROR_28331033Control [4] on dialog [3] ignored the message [2].0-1977438387IDS_ERROR_28341033The next pointers on the dialog [2] do not form a single loop.0-1977438387IDS_ERROR_28351033The control [2] was not found on dialog [3].0-1977438387IDS_ERROR_28361033The control [3] on the dialog [2] cannot take focus.0-1977438387IDS_ERROR_28371033The control [3] on dialog [2] wants the winproc to return [4].0-1977438387IDS_ERROR_28381033The item [2] in the selection table has itself as a parent.0-1977438387IDS_ERROR_28391033Setting the property [2] failed.0-1977438387IDS_ERROR_28401033Error dialog name mismatch.0-1977438387IDS_ERROR_28411033No OK button was found on the error dialog.0-1977438387IDS_ERROR_28421033No text field was found on the error dialog.0-1977438387IDS_ERROR_28431033The ErrorString attribute is not supported for standard dialogs.0-1977438387IDS_ERROR_28441033Cannot execute an error dialog if the Errorstring is not set.0-1977438387IDS_ERROR_28451033The total width of the buttons exceeds the size of the error dialog.0-1977438387IDS_ERROR_28461033SetFocus did not find the required control on the error dialog.0-1977438387IDS_ERROR_28471033The control [3] on dialog [2] has both the icon and the bitmap style set.0-1977438387IDS_ERROR_28481033Tried to set control [3] as the default button on dialog [2], but the control does not exist.0-1977438387IDS_ERROR_28491033The control [3] on dialog [2] is of a type, that cannot be integer valued.0-1977438387IDS_ERROR_28501033Unrecognized volume type.0-1977438387IDS_ERROR_28511033The data for the icon [2] is not valid.0-1977438387IDS_ERROR_28521033At least one control has to be added to dialog [2] before it is used.0-1977438387IDS_ERROR_28531033Dialog [2] is a modeless dialog. The execute method should not be called on it.0-1977438387IDS_ERROR_28541033On the dialog [2] the control [3] is designated as first active control, but there is no such control.0-1977438387IDS_ERROR_28551033The radio button group [3] on dialog [2] has fewer than 2 buttons.0-1977438387IDS_ERROR_28561033Creating a second copy of the dialog [2].0-1977438387IDS_ERROR_28571033The directory [2] is mentioned in the selection table but not found.0-1977438387IDS_ERROR_28581033The data for the bitmap [2] is not valid.0-1977438387IDS_ERROR_28591033Test error message.0-1977438387IDS_ERROR_28601033Cancel button is ill-defined on dialog [2].0-1977438387IDS_ERROR_28611033The next pointers for the radio buttons on dialog [2] control [3] do not form a cycle.0-1977438387IDS_ERROR_28621033The attributes for the control [3] on dialog [2] do not define a valid icon size. Setting the size to 16.0-1977438387IDS_ERROR_28631033The control [3] on dialog [2] needs the icon [4] in size [5]x[5], but that size is not available. Loading the first available size.0-1977438387IDS_ERROR_28641033The control [3] on dialog [2] received a browse event, but there is no configurable directory for the present selection. Likely cause: browse button is not authored correctly.0-1977438387IDS_ERROR_28651033Control [3] on billboard [2] extends beyond the boundaries of the billboard [4] by [5] pixels.0-1977438387IDS_ERROR_28661033The dialog [2] is not allowed to return the argument [3].0-1977438387IDS_ERROR_28671033The error dialog property is not set.0-1977438387IDS_ERROR_28681033The error dialog [2] does not have the error style bit set.0-1977438387IDS_ERROR_28691033The dialog [2] has the error style bit set, but is not an error dialog.0-1977438387IDS_ERROR_28701033The help string [4] for control [3] on dialog [2] does not contain the separator character.0-1977438387IDS_ERROR_28711033The [2] table is out of date: [3].0-1977438387IDS_ERROR_28721033The argument of the CheckPath control event on dialog [2] is invalid.0-1977438387IDS_ERROR_28731033On the dialog [2] the control [3] has an invalid string length limit: [4].0-1977438387IDS_ERROR_28741033Changing the text font to [2] failed.0-1977438387IDS_ERROR_28751033Changing the text color to [2] failed.0-1977438387IDS_ERROR_28761033The control [3] on dialog [2] had to truncate the string: [4].0-1977438387IDS_ERROR_28771033The binary data [2] was not found0-1977438387IDS_ERROR_28781033On the dialog [2] the control [3] has a possible value: [4]. This is an invalid or duplicate value.0-1977438387IDS_ERROR_28791033The control [3] on dialog [2] cannot parse the mask string: [4].0-1977438387IDS_ERROR_28801033Do not perform the remaining control events.0-1977438387IDS_ERROR_28811033CMsiHandler initialization failed.0-1977438387IDS_ERROR_28821033Dialog window class registration failed.0-1977438387IDS_ERROR_28831033CreateNewDialog failed for the dialog [2].0-1977438387IDS_ERROR_28841033Failed to create a window for the dialog [2].0-1977438387IDS_ERROR_28851033Failed to create the control [3] on the dialog [2].0-1977438387IDS_ERROR_28861033Creating the [2] table failed.0-1977438387IDS_ERROR_28871033Creating a cursor to the [2] table failed.0-1977438387IDS_ERROR_28881033Executing the [2] view failed.0-1977438387IDS_ERROR_28891033Creating the window for the control [3] on dialog [2] failed.0-1977438387IDS_ERROR_28901033The handler failed in creating an initialized dialog.0-1977438387IDS_ERROR_28911033Failed to destroy window for dialog [2].0-1977438387IDS_ERROR_28921033[2] is an integer only control, [3] is not a valid integer value.0-1977438387IDS_ERROR_28931033The control [3] on dialog [2] can accept property values that are at most [5] characters long. The value [4] exceeds this limit, and has been truncated.0-1977438387IDS_ERROR_28941033Loading RICHED20.DLL failed. GetLastError() returned: [2].0-1977438387IDS_ERROR_28951033Freeing RICHED20.DLL failed. GetLastError() returned: [2].0-1977438387IDS_ERROR_28961033Executing action [2] failed.0-1977438387IDS_ERROR_28971033Failed to create any [2] font on this system.0-1977438387IDS_ERROR_28981033For [2] textstyle, the system created a '[3]' font, in [4] character set.0-1977438387IDS_ERROR_28991033Failed to create [2] textstyle. GetLastError() returned: [3].0-1977438387IDS_ERROR_291033There is not enough disk space to install the file [2]. Free some disk space and click Retry, or click Cancel to exit.0-1977438387IDS_ERROR_29011033Invalid parameter to operation [2]: Parameter [3].0-1977438387IDS_ERROR_29021033Operation [2] called out of sequence.0-1977438387IDS_ERROR_29031033The file [2] is missing.0-1977438387IDS_ERROR_29041033Could not BindImage file [2].0-1977438387IDS_ERROR_29051033Could not read record from script file [2].0-1977438387IDS_ERROR_29061033Missing header in script file [2].0-1977438387IDS_ERROR_29071033Could not create secure security descriptor. Error: [2].0-1977438387IDS_ERROR_29081033Could not register component [2].0-1977438387IDS_ERROR_29091033Could not unregister component [2].0-1977438387IDS_ERROR_29101033Could not determine user's security ID.0-1977438387IDS_ERROR_29111033Could not remove the folder [2].0-1977438387IDS_ERROR_29121033Could not schedule file [2] for removal on restart.0-1977438387IDS_ERROR_29191033No cabinet specified for compressed file: [2].0-1977438387IDS_ERROR_29201033Source directory not specified for file [2].0-1977438387IDS_ERROR_29241033Script [2] version unsupported. Script version: [3], minimum version: [4], maximum version: [5].0-1977438387IDS_ERROR_29271033ShellFolder id [2] is invalid.0-1977438387IDS_ERROR_29281033Exceeded maximum number of sources. Skipping source '[2]'.0-1977438387IDS_ERROR_29291033Could not determine publishing root. Error: [2].0-1977438387IDS_ERROR_29321033Could not create file [2] from script data. Error: [3].0-1977438387IDS_ERROR_29331033Could not initialize rollback script [2].0-1977438387IDS_ERROR_29341033Could not secure transform [2]. Error [3].0-1977438387IDS_ERROR_29351033Could not unsecure transform [2]. Error [3].0-1977438387IDS_ERROR_29361033Could not find transform [2].0-1977438387IDS_ERROR_29371033Windows Installer cannot install a system file protection catalog. Catalog: [2], Error: [3].0-1977438387IDS_ERROR_29381033Windows Installer cannot retrieve a system file protection catalog from the cache. Catalog: [2], Error: [3].0-1977438387IDS_ERROR_29391033Windows Installer cannot delete a system file protection catalog from the cache. Catalog: [2], Error: [3].0-1977438387IDS_ERROR_29401033Directory Manager not supplied for source resolution.0-1977438387IDS_ERROR_29411033Unable to compute the CRC for file [2].0-1977438387IDS_ERROR_29421033BindImage action has not been executed on [2] file.0-1977438387IDS_ERROR_29431033This version of Windows does not support deploying 64-bit packages. The script [2] is for a 64-bit package.0-1977438387IDS_ERROR_29441033GetProductAssignmentType failed.0-1977438387IDS_ERROR_29451033Installation of ComPlus App [2] failed with error [3].0-1977438387IDS_ERROR_31033Info [1]. 0-1977438387IDS_ERROR_301033Source file not found: [2]. Verify that the file exists and that you can access it.0-1977438387IDS_ERROR_30011033The patches in this list contain incorrect sequencing information: [2][3][4][5][6][7][8][9][10][11][12][13][14][15][16].0-1977438387IDS_ERROR_30021033Patch [2] contains invalid sequencing information. 0-1977438387IDS_ERROR_311033Error reading from file: [3]. {{ System error [2].}} Verify that the file exists and that you can access it.0-1977438387IDS_ERROR_321033Error writing to file: [3]. {{ System error [2].}} Verify that you have access to that directory.0-1977438387IDS_ERROR_331033Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it.0-1977438387IDS_ERROR_341033Cannot create the directory [2]. A file with this name already exists. Please rename or remove the file and click Retry, or click Cancel to exit.0-1977438387IDS_ERROR_351033The volume [2] is currently unavailable. Please select another.0-1977438387IDS_ERROR_361033The specified path [2] is unavailable.0-1977438387IDS_ERROR_371033Unable to write to the specified folder [2].0-1977438387IDS_ERROR_381033A network error occurred while attempting to read from the file [2]0-1977438387IDS_ERROR_391033An error occurred while attempting to create the directory [2]0-1977438387IDS_ERROR_41033Internal Error [1]. [2]{, [3]}{, [4]}0-1977438387IDS_ERROR_401033A network error occurred while attempting to create the directory [2]0-1977438387IDS_ERROR_411033A network error occurred while attempting to open the source file cabinet [2].0-1977438387IDS_ERROR_421033The specified path is too long [2].0-1977438387IDS_ERROR_431033The Installer has insufficient privileges to modify the file [2].0-1977438387IDS_ERROR_441033A portion of the path [2] exceeds the length allowed by the system.0-1977438387IDS_ERROR_451033The path [2] contains words that are not valid in folders.0-1977438387IDS_ERROR_461033The path [2] contains an invalid character.0-1977438387IDS_ERROR_471033[2] is not a valid short file name.0-1977438387IDS_ERROR_481033Error getting file security: [3] GetLastError: [2]0-1977438387IDS_ERROR_491033Invalid Drive: [2]0-1977438387IDS_ERROR_51033{{Disk full: }}0-1977438387IDS_ERROR_501033Could not create key [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel.0-1977438387IDS_ERROR_511033Could not open key: [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel.0-1977438387IDS_ERROR_521033Could not delete value [2] from key [3]. {{ System error [4].}} Verify that you have sufficient access to that key, or contact your support personnel.0-1977438387IDS_ERROR_531033Could not delete key [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel.0-1977438387IDS_ERROR_541033Could not read value [2] from key [3]. {{ System error [4].}} Verify that you have sufficient access to that key, or contact your support personnel.0-1977438387IDS_ERROR_551033Could not write value [2] to key [3]. {{ System error [4].}} Verify that you have sufficient access to that key, or contact your support personnel.0-1977438387IDS_ERROR_561033Could not get value names for key [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel.0-1977438387IDS_ERROR_571033Could not get sub key names for key [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel.0-1977438387IDS_ERROR_581033Could not read security information for key [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel.0-1977438387IDS_ERROR_591033Could not increase the available registry space. [2] KB of free registry space is required for the installation of this application.0-1977438387IDS_ERROR_61033Action [Time]: [1]. [2]0-1977438387IDS_ERROR_601033Another installation is in progress. You must complete that installation before continuing this one.0-1977438387IDS_ERROR_611033Error accessing secured data. Please make sure the Windows Installer is configured properly and try the installation again.0-1977438387IDS_ERROR_621033User [2] has previously initiated an installation for product [3]. That user will need to run that installation again before using that product. Your current installation will now continue.0-1977438387IDS_ERROR_631033User [2] has previously initiated an installation for product [3]. That user will need to run that installation again before using that product.0-1977438387IDS_ERROR_641033Out of disk space -- Volume: '[2]'; required space: [3] KB; available space: [4] KB. Free some disk space and retry.0-1977438387IDS_ERROR_651033Are you sure you want to cancel?0-1977438387IDS_ERROR_661033The file [2][3] is being held in use{ by the following process: Name: [4], ID: [5], Window Title: [6]}. Close that application and retry.0-1977438387IDS_ERROR_671033The product [2] is already installed, preventing the installation of this product. The two products are incompatible.0-1977438387IDS_ERROR_681033Out of disk space -- Volume: [2]; required space: [3] KB; available space: [4] KB. If rollback is disabled, enough space is available. Click Cancel to quit, Retry to check available disk space again, or Ignore to continue without rollback.0-1977438387IDS_ERROR_691033Could not access network location [2].0-1977438387IDS_ERROR_71033[ProductName]0-1977438387IDS_ERROR_701033The following applications should be closed before continuing the installation:0-1977438387IDS_ERROR_711033Could not find any previously installed compliant products on the machine for installing this product.0-1977438387IDS_ERROR_721033The key [2] is not valid. Verify that you entered the correct key.0-1977438387IDS_ERROR_731033The installer must restart your system before configuration of [2] can continue. Click Yes to restart now or No if you plan to restart later.0-1977438387IDS_ERROR_741033You must restart your system for the configuration changes made to [2] to take effect. Click Yes to restart now or No if you plan to restart later.0-1977438387IDS_ERROR_751033An installation for [2] is currently suspended. You must undo the changes made by that installation to continue. Do you want to undo those changes?0-1977438387IDS_ERROR_761033A previous installation for this product is in progress. You must undo the changes made by that installation to continue. Do you want to undo those changes?0-1977438387IDS_ERROR_771033No valid source could be found for product [2]. The Windows Installer cannot continue.0-1977438387IDS_ERROR_781033Installation operation completed successfully.0-1977438387IDS_ERROR_791033Installation operation failed.0-1977438387IDS_ERROR_81033{[2]}{, [3]}{, [4]}0-1977438387IDS_ERROR_801033Product: [2] -- [3]0-1977438387IDS_ERROR_811033You may either restore your computer to its previous state or continue the installation later. Would you like to restore?0-1977438387IDS_ERROR_821033An error occurred while writing installation information to disk. Check to make sure enough disk space is available, and click Retry, or Cancel to end the installation.0-1977438387IDS_ERROR_831033One or more of the files required to restore your computer to its previous state could not be found. Restoration will not be possible.0-1977438387IDS_ERROR_841033The path [2] is not valid. Please specify a valid path.0-1977438387IDS_ERROR_851033Out of memory. Shut down other applications before retrying.0-1977438387IDS_ERROR_861033There is no disk in drive [2]. Please insert one and click Retry, or click Cancel to go back to the previously selected volume.0-1977438387IDS_ERROR_871033There is no disk in drive [2]. Please insert one and click Retry, or click Cancel to return to the browse dialog and select a different volume.0-1977438387IDS_ERROR_881033The folder [2] does not exist. Please enter a path to an existing folder.0-1977438387IDS_ERROR_891033You have insufficient privileges to read this folder.0-1977438387IDS_ERROR_91033Message type: [1], Argument: [2]0-1977438387IDS_ERROR_901033A valid destination folder for the installation could not be determined.0-1977438387IDS_ERROR_911033Error attempting to read from the source installation database: [2].0-1977438387IDS_ERROR_921033Scheduling reboot operation: Renaming file [2] to [3]. Must reboot to complete operation.0-1977438387IDS_ERROR_931033Scheduling reboot operation: Deleting file [2]. Must reboot to complete operation.0-1977438387IDS_ERROR_941033Module [2] failed to register. HRESULT [3]. Contact your support personnel.0-1977438387IDS_ERROR_951033Module [2] failed to unregister. HRESULT [3]. Contact your support personnel.0-1977438387IDS_ERROR_961033Failed to cache package [2]. Error: [3]. Contact your support personnel.0-1977438387IDS_ERROR_971033Could not register font [2]. Verify that you have sufficient permissions to install fonts, and that the system supports this font.0-1977438387IDS_ERROR_981033Could not unregister font [2]. Verify that you have sufficient permissions to remove fonts.0-1977438387IDS_ERROR_991033Could not create shortcut [2]. Verify that the destination folder exists and that you can access it.0-1977438387IDS_INSTALLDIR1033[INSTALLDIR]0-1977438387IDS_INSTALLSHIELD1033InstallShield0-1977438387IDS_INSTALLSHIELD_FORMATTED1033{&MSSWhiteSerif8}InstallShield0-1977438387IDS_ISSCRIPT_VERSION_MISSING1033The InstallScript engine is missing from this machine. If available, please run ISScript.msi, or contact your support personnel for further assistance.0-1977438387IDS_ISSCRIPT_VERSION_OLD1033The InstallScript engine on this machine is older than the version required to run this setup. If available, please install the latest version of ISScript.msi, or contact your support personnel for further assistance.0-1977438387IDS_NEXT1033&Next >0-1977438387IDS_OK1033OK0-1977438387IDS_PREREQUISITE_SETUP_BROWSE1033Open [ProductName]'s original [SETUPEXENAME]0-1977438387IDS_PREREQUISITE_SETUP_INVALID1033This executable file does not appear to be the original executable file for [ProductName]. Without using the original [SETUPEXENAME] to install additional dependencies, [ProductName] may not work correctly. Would you like to find the original [SETUPEXENAME]?0-1977438387IDS_PREREQUISITE_SETUP_SEARCH1033This installation may require additional dependencies. Without its dependencies, [ProductName] may not work correctly. Would you like to find the original [SETUPEXENAME]?0-1977438387IDS_PREVENT_DOWNGRADE_EXIT1033A newer version of this application is already installed on this computer. If you wish to install this version, please uninstall the newer version first. Click OK to exit the wizard.0-1977438387IDS_PRINT_BUTTON1033&Print0-1977438387IDS_PRODUCTNAME_INSTALLSHIELD1033[ProductName] - InstallShield Wizard0-1977438387IDS_PROGMSG_IIS_CREATEAPPPOOL1033Creating application pool %s0-1977438387IDS_PROGMSG_IIS_CREATEAPPPOOLS1033Creating application Pools...0-1977438387IDS_PROGMSG_IIS_CREATEVROOT1033Creating IIS virtual directory %s0-1977438387IDS_PROGMSG_IIS_CREATEVROOTS1033Creating IIS virtual directories...0-1977438387IDS_PROGMSG_IIS_CREATEWEBSERVICEEXTENSION1033Creating web service extension0-1977438387IDS_PROGMSG_IIS_CREATEWEBSERVICEEXTENSIONS1033Creating web service extensions...0-1977438387IDS_PROGMSG_IIS_CREATEWEBSITE1033Creating IIS website %s0-1977438387IDS_PROGMSG_IIS_CREATEWEBSITES1033Creating IIS websites...0-1977438387IDS_PROGMSG_IIS_EXTRACT1033Extracting information for IIS virtual directories...0-1977438387IDS_PROGMSG_IIS_EXTRACTDONE1033Extracted information for IIS virtual directories...0-1977438387IDS_PROGMSG_IIS_REMOVEAPPPOOL1033Removing application pool0-1977438387IDS_PROGMSG_IIS_REMOVEAPPPOOLS1033Removing application pools...0-1977438387IDS_PROGMSG_IIS_REMOVESITE1033Removing web site at port %d0-1977438387IDS_PROGMSG_IIS_REMOVEVROOT1033Removing IIS virtual directory %s0-1977438387IDS_PROGMSG_IIS_REMOVEVROOTS1033Removing IIS virtual directories...0-1977438387IDS_PROGMSG_IIS_REMOVEWEBSERVICEEXTENSION1033Removing web service extension0-1977438387IDS_PROGMSG_IIS_REMOVEWEBSERVICEEXTENSIONS1033Removing web service extensions...0-1977438387IDS_PROGMSG_IIS_REMOVEWEBSITES1033Removing IIS websites...0-1977438387IDS_PROGMSG_IIS_ROLLBACKAPPPOOLS1033Rolling back application pools...0-1977438387IDS_PROGMSG_IIS_ROLLBACKVROOTS1033Rolling back virtual directory and web site changes...0-1977438387IDS_PROGMSG_IIS_ROLLBACKWEBSERVICEEXTENSIONS1033Rolling back web service extensions...0-1977438387IDS_PROGMSG_TEXTFILECHANGS_REPLACE1033Replacing %s with %s in %s...0-1977438387IDS_PROGMSG_XML_COSTING1033Costing XML files...0-1977438387IDS_PROGMSG_XML_CREATE_FILE1033Creating XML file %s...0-1977438387IDS_PROGMSG_XML_FILES1033Performing XML file changes...0-1977438387IDS_PROGMSG_XML_REMOVE_FILE1033Removing XML file %s...0-1977438387IDS_PROGMSG_XML_ROLLBACK_FILES1033Rolling back XML file changes...0-1977438387IDS_PROGMSG_XML_UPDATE_FILE1033Updating XML file %s...0-1977438387IDS_SETUPEXE_EXPIRE_MSG1033This setup works until %s. The setup will now exit.0-1977438387IDS_SETUPEXE_LAUNCH_COND_E1033This setup was built with an evaluation version of InstallShield and can only be launched from setup.exe.0-1977438387IDS_SQLBROWSE_INTRO1033From the list of servers below, select the database server you would like to target.0-1977438387IDS_SQLBROWSE_INTRO_DB1033From the list of catalog names below, select the database catalog you would like to target.0-1977438387IDS_SQLBROWSE_INTRO_TEMPLATE1033[IS_SQLBROWSE_INTRO]0-1977438387IDS_SQLLOGIN_BROWSE1033B&rowse...0-1977438387IDS_SQLLOGIN_BROWSE_DB1033Br&owse...0-1977438387IDS_SQLLOGIN_CATALOG1033&Name of database catalog:0-1977438387IDS_SQLLOGIN_CONNECT1033Connect using:0-1977438387IDS_SQLLOGIN_DESC1033Select database server and authentication method0-1977438387IDS_SQLLOGIN_ID1033&Login ID:0-1977438387IDS_SQLLOGIN_INTRO1033Select the database server to install to from the list below or click Browse to see a list of all database servers. You can also specify the way to authenticate your login using your current credentials or a SQL Login ID and Password.0-1977438387IDS_SQLLOGIN_PSWD1033&Password:0-1977438387IDS_SQLLOGIN_SERVER1033&Database Server:0-1977438387IDS_SQLLOGIN_SERVER21033&Database server that you are installing to:0-1977438387IDS_SQLLOGIN_SQL1033S&erver authentication using the Login ID and password below0-1977438387IDS_SQLLOGIN_TITLE1033{&MSSansBold8}Database Server0-1977438387IDS_SQLLOGIN_WIN1033&Windows authentication credentials of current user0-1977438387IDS_SQLSCRIPT_INSTALLING1033Executing SQL Install Script...0-1977438387IDS_SQLSCRIPT_UNINSTALLING1033Executing SQL Uninstall Script...0-1977438387IDS_STANDARD_USE_SETUPEXE1033This installation cannot be run by directly launching the MSI package. You must run setup.exe.0-1977438387IDS_SetupTips_Advertise1033Will be installed on first use. (Available only if the feature supports this option.)0-1977438387IDS_SetupTips_AllInstalledLocal1033Will be completely installed to the local hard drive.0-1977438387IDS_SetupTips_CustomSetup1033{&MSSansBold8}Custom Setup Tips0-1977438387IDS_SetupTips_CustomSetupDescription1033Custom Setup allows you to selectively install program features.0-1977438387IDS_SetupTips_IconInstallState1033The icon next to the feature name indicates the install state of the feature. Click the icon to drop down the install state menu for each feature.0-1977438387IDS_SetupTips_InstallState1033This install state means the feature...0-1977438387IDS_SetupTips_Network1033Will be installed to run from the network. (Available only if the feature supports this option.)0-1977438387IDS_SetupTips_OK1033OK0-1977438387IDS_SetupTips_SubFeaturesInstalledLocal1033Will have some subfeatures installed to the local hard drive. (Available only if the feature has subfeatures.)0-1977438387IDS_SetupTips_WillNotBeInstalled1033Will not be installed.0-1977438387IDS_UITEXT_Available1033Available0-1977438387IDS_UITEXT_Bytes1033bytes0-1977438387IDS_UITEXT_CompilingFeaturesCost1033Compiling cost for this feature...0-1977438387IDS_UITEXT_Differences1033Differences0-1977438387IDS_UITEXT_DiskSize1033Disk Size0-1977438387IDS_UITEXT_FeatureCompletelyRemoved1033This feature will be completely removed.0-1977438387IDS_UITEXT_FeatureContinueNetwork1033This feature will continue to be run from the network0-1977438387IDS_UITEXT_FeatureFreeSpace1033This feature frees up [1] on your hard drive.0-1977438387IDS_UITEXT_FeatureInstalledCD1033This feature, and all subfeatures, will be installed to run from the CD.0-1977438387IDS_UITEXT_FeatureInstalledCD21033This feature will be installed to run from CD.0-1977438387IDS_UITEXT_FeatureInstalledLocal1033This feature, and all subfeatures, will be installed on local hard drive.0-1977438387IDS_UITEXT_FeatureInstalledLocal21033This feature will be installed on local hard drive.0-1977438387IDS_UITEXT_FeatureInstalledNetwork1033This feature, and all subfeatures, will be installed to run from the network.0-1977438387IDS_UITEXT_FeatureInstalledNetwork21033This feature will be installed to run from network.0-1977438387IDS_UITEXT_FeatureInstalledRequired1033Will be installed when required.0-1977438387IDS_UITEXT_FeatureInstalledWhenRequired1033This feature will be set to be installed when required.0-1977438387IDS_UITEXT_FeatureInstalledWhenRequired21033This feature will be installed when required.0-1977438387IDS_UITEXT_FeatureLocal1033This feature will be installed on the local hard drive.0-1977438387IDS_UITEXT_FeatureLocal21033This feature will be installed on your local hard drive.0-1977438387IDS_UITEXT_FeatureNetwork1033This feature will be installed to run from the network.0-1977438387IDS_UITEXT_FeatureNetwork21033This feature will be available to run from the network.0-1977438387IDS_UITEXT_FeatureNotAvailable1033This feature will not be available.0-1977438387IDS_UITEXT_FeatureOnCD1033This feature will be installed to run from CD.0-1977438387IDS_UITEXT_FeatureOnCD21033This feature will be available to run from CD.0-1977438387IDS_UITEXT_FeatureRemainLocal1033This feature will remain on your local hard drive.0-1977438387IDS_UITEXT_FeatureRemoveNetwork1033This feature will be removed from your local hard drive, but will be still available to run from the network.0-1977438387IDS_UITEXT_FeatureRemovedCD1033This feature will be removed from your local hard drive but will still be available to run from CD.0-1977438387IDS_UITEXT_FeatureRemovedUnlessRequired1033This feature will be removed from your local hard drive but will be set to be installed when required.0-1977438387IDS_UITEXT_FeatureRequiredSpace1033This feature requires [1] on your hard drive.0-1977438387IDS_UITEXT_FeatureRunFromCD1033This feature will continue to be run from the CD0-1977438387IDS_UITEXT_FeatureSpaceFree1033This feature frees up [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures free up [4] on your hard drive.0-1977438387IDS_UITEXT_FeatureSpaceFree21033This feature frees up [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures require [4] on your hard drive.0-1977438387IDS_UITEXT_FeatureSpaceFree31033This feature requires [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures free up [4] on your hard drive.0-1977438387IDS_UITEXT_FeatureSpaceFree41033This feature requires [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures require [4] on your hard drive.0-1977438387IDS_UITEXT_FeatureUnavailable1033This feature will become unavailable.0-1977438387IDS_UITEXT_FeatureUninstallNoNetwork1033This feature will be uninstalled completely, and you won't be able to run it from the network.0-1977438387IDS_UITEXT_FeatureWasCD1033This feature was run from the CD but will be set to be installed when required.0-1977438387IDS_UITEXT_FeatureWasCDLocal1033This feature was run from the CD but will be installed on the local hard drive.0-1977438387IDS_UITEXT_FeatureWasOnNetworkInstalled1033This feature was run from the network but will be installed when required.0-1977438387IDS_UITEXT_FeatureWasOnNetworkLocal1033This feature was run from the network but will be installed on the local hard drive.0-1977438387IDS_UITEXT_FeatureWillBeUninstalled1033This feature will be uninstalled completely, and you won't be able to run it from CD.0-1977438387IDS_UITEXT_Folder1033Fldr|New Folder0-1977438387IDS_UITEXT_GB1033GB0-1977438387IDS_UITEXT_KB1033KB0-1977438387IDS_UITEXT_MB1033MB0-1977438387IDS_UITEXT_Required1033Required0-1977438387IDS_UITEXT_TimeRemaining1033Time remaining: {[1] min }{[2] sec}0-1977438387IDS_UITEXT_Volume1033Volume0-1977438387IDS__AgreeToLicense_01033I &do not accept the terms in the license agreement0-1977438387IDS__AgreeToLicense_11033I &accept the terms in the license agreement0-1977438387IDS__DatabaseFolder_ChangeFolder1033Click Next to install to this folder, or click Change to install to a different folder.0-1977438387IDS__DatabaseFolder_DatabaseDir1033[DATABASEDIR]0-1977438387IDS__DatabaseFolder_DatabaseFolder1033{&MSSansBold8}Database Folder0-1977438387IDS__DestinationFolder_Change1033&Change...0-1977438387IDS__DestinationFolder_ChangeFolder1033Click Next to install to this folder, or click Change to install to a different folder.0-1977438387IDS__DestinationFolder_DestinationFolder1033{&MSSansBold8}Destination Folder0-1977438387IDS__DestinationFolder_InstallTo1033Install [ProductName] to:0-1977438387IDS__DisplayName_Custom1033Custom0-1977438387IDS__DisplayName_Minimal1033Minimal0-1977438387IDS__DisplayName_Typical1033Typical0-1977438387IDS__IsAdminInstallBrowse_1110330-1977438387IDS__IsAdminInstallBrowse_410330-1977438387IDS__IsAdminInstallBrowse_810330-1977438387IDS__IsAdminInstallBrowse_BrowseDestination1033Browse to the destination folder.0-1977438387IDS__IsAdminInstallBrowse_ChangeDestination1033{&MSSansBold8}Change Current Destination Folder0-1977438387IDS__IsAdminInstallBrowse_CreateFolder1033Create new folder|0-1977438387IDS__IsAdminInstallBrowse_FolderName1033&Folder name:0-1977438387IDS__IsAdminInstallBrowse_LookIn1033&Look in:0-1977438387IDS__IsAdminInstallBrowse_UpOneLevel1033Up one level|0-1977438387IDS__IsAdminInstallPointWelcome_ServerImage1033The InstallShield(R) Wizard will create a server image of [ProductName] at a specified network location. To continue, click Next.0-1977438387IDS__IsAdminInstallPointWelcome_Wizard1033{&TahomaBold10}Welcome to the InstallShield Wizard for [ProductName]0-1977438387IDS__IsAdminInstallPoint_Change1033&Change...0-1977438387IDS__IsAdminInstallPoint_EnterNetworkLocation1033Enter the network location or click Change to browse to a location. Click Install to create a server image of [ProductName] at the specified network location or click Cancel to exit the wizard.0-1977438387IDS__IsAdminInstallPoint_Install1033&Install0-1977438387IDS__IsAdminInstallPoint_NetworkLocation1033&Network location:0-1977438387IDS__IsAdminInstallPoint_NetworkLocationFormatted1033{&MSSansBold8}Network Location0-1977438387IDS__IsAdminInstallPoint_SpecifyNetworkLocation1033Specify a network location for the server image of the product.0-1977438387IDS__IsBrowseButton1033&Browse...0-1977438387IDS__IsBrowseFolderDlg_1110330-1977438387IDS__IsBrowseFolderDlg_410330-1977438387IDS__IsBrowseFolderDlg_810330-1977438387IDS__IsBrowseFolderDlg_BrowseDestFolder1033Browse to the destination folder.0-1977438387IDS__IsBrowseFolderDlg_ChangeCurrentFolder1033{&MSSansBold8}Change Current Destination Folder0-1977438387IDS__IsBrowseFolderDlg_CreateFolder1033Create New Folder|0-1977438387IDS__IsBrowseFolderDlg_FolderName1033&Folder name:0-1977438387IDS__IsBrowseFolderDlg_LookIn1033&Look in:0-1977438387IDS__IsBrowseFolderDlg_OK1033OK0-1977438387IDS__IsBrowseFolderDlg_UpOneLevel1033Up One Level|0-1977438387IDS__IsBrowseForAccount1033Browse for a User Account0-1977438387IDS__IsBrowseGroup1033Select a Group0-1977438387IDS__IsBrowseUsernameTitle1033Select a User Name0-1977438387IDS__IsCancelDlg_ConfirmCancel1033Are you sure you want to cancel [ProductName] installation?0-1977438387IDS__IsCancelDlg_No1033&No0-1977438387IDS__IsCancelDlg_Yes1033&Yes0-1977438387IDS__IsConfirmPassword1033Con&firm password:0-1977438387IDS__IsCreateNewUserTitle1033New User Information0-1977438387IDS__IsCreateUserBrowse1033N&ew User Information...0-1977438387IDS__IsCustomSelectionDlg_Change1033&Change...0-1977438387IDS__IsCustomSelectionDlg_ClickFeatureIcon1033Click on an icon in the list below to change how a feature is installed.0-1977438387IDS__IsCustomSelectionDlg_CustomSetup1033{&MSSansBold8}Custom Setup0-1977438387IDS__IsCustomSelectionDlg_FeatureDescription1033Feature Description0-1977438387IDS__IsCustomSelectionDlg_FeaturePath1033<selected feature path>0-1977438387IDS__IsCustomSelectionDlg_FeatureSize1033Feature size0-1977438387IDS__IsCustomSelectionDlg_Help1033&Help0-1977438387IDS__IsCustomSelectionDlg_InstallTo1033Install to:0-1977438387IDS__IsCustomSelectionDlg_MultilineDescription1033Multiline description of the currently selected item0-1977438387IDS__IsCustomSelectionDlg_SelectFeatures1033Select the program features you want installed.0-1977438387IDS__IsCustomSelectionDlg_Space1033&Space0-1977438387IDS__IsDiskSpaceDlg_DiskSpace1033Disk space required for the installation exceeds available disk space.0-1977438387IDS__IsDiskSpaceDlg_HighlightedVolumes1033The highlighted volumes do not have enough disk space available for the currently selected features. You can remove files from the highlighted volumes, choose to install fewer features onto local drives, or select different destination drives.0-1977438387IDS__IsDiskSpaceDlg_Numbers1033{120}{70}{70}{70}{70}0-1977438387IDS__IsDiskSpaceDlg_OK1033OK0-1977438387IDS__IsDiskSpaceDlg_OutOfDiskSpace1033{&MSSansBold8}Out of Disk Space0-1977438387IDS__IsDomainOrServer1033&Domain or server:0-1977438387IDS__IsErrorDlg_Abort1033&Abort0-1977438387IDS__IsErrorDlg_ErrorText1033<error text goes here><error text goes here><error text goes here><error text goes here><error text goes here><error text goes here><error text goes here><error text goes here><error text goes here><error text goes here><error text goes here>0-1977438387IDS__IsErrorDlg_Ignore1033&Ignore0-1977438387IDS__IsErrorDlg_InstallerInfo1033[ProductName] Installer Information0-1977438387IDS__IsErrorDlg_NO1033&No0-1977438387IDS__IsErrorDlg_OK1033&OK0-1977438387IDS__IsErrorDlg_Retry1033&Retry0-1977438387IDS__IsErrorDlg_Yes1033&Yes0-1977438387IDS__IsExitDialog_Finish1033&Finish0-1977438387IDS__IsExitDialog_InstallSuccess1033The InstallShield Wizard has successfully installed [ProductName]. Click Finish to exit the wizard.0-1977438387IDS__IsExitDialog_LaunchProgram1033Launch the program0-1977438387IDS__IsExitDialog_ShowReadMe1033Show the readme file0-1977438387IDS__IsExitDialog_UninstallSuccess1033The InstallShield Wizard has successfully uninstalled [ProductName]. Click Finish to exit the wizard.0-1977438387IDS__IsExitDialog_Update_InternetConnection1033Your Internet connection can be used to make sure that you have the latest updates.0-1977438387IDS__IsExitDialog_Update_PossibleUpdates1033Some program files might have been updated since you purchased your copy of [ProductName].0-1977438387IDS__IsExitDialog_Update_SetupFinished1033Setup has finished installing [ProductName].0-1977438387IDS__IsExitDialog_Update_YesCheckForUpdates1033&Yes, check for program updates (Recommended) after the setup completes.0-1977438387IDS__IsExitDialog_WizardCompleted1033{&TahomaBold10}InstallShield Wizard Completed0-1977438387IDS__IsFatalError_ClickFinish1033Click Finish to exit the wizard.0-1977438387IDS__IsFatalError_Finish1033&Finish0-1977438387IDS__IsFatalError_KeepOrRestore1033You can either keep any existing installed elements on your system to continue this installation at a later time or you can restore your system to its original state prior to the installation.0-1977438387IDS__IsFatalError_NotModified1033Your system has not been modified. To complete installation at another time, please run setup again.0-1977438387IDS__IsFatalError_RestoreOrContinueLater1033Click Restore or Continue Later to exit the wizard.0-1977438387IDS__IsFatalError_WizardCompleted1033{&TahomaBold10}InstallShield Wizard Completed0-1977438387IDS__IsFatalError_WizardInterrupted1033The wizard was interrupted before [ProductName] could be completely installed.0-1977438387IDS__IsFeatureDetailsDlg_DiskSpaceRequirements1033{&MSSansBold8}Disk Space Requirements0-1977438387IDS__IsFeatureDetailsDlg_Numbers1033{120}{70}{70}{70}{70}0-1977438387IDS__IsFeatureDetailsDlg_OK1033OK0-1977438387IDS__IsFeatureDetailsDlg_SpaceRequired1033The disk space required for the installation of the selected features.0-1977438387IDS__IsFeatureDetailsDlg_VolumesTooSmall1033The highlighted volumes do not have enough disk space available for the currently selected features. You can remove files from the highlighted volumes, choose to install fewer features onto local drives, or select different destination drives.0-1977438387IDS__IsFilesInUse_ApplicationsUsingFiles1033The following applications are using files that need to be updated by this setup. Close these applications and click Retry to continue.0-1977438387IDS__IsFilesInUse_Exit1033&Exit0-1977438387IDS__IsFilesInUse_FilesInUse1033{&MSSansBold8}Files in Use0-1977438387IDS__IsFilesInUse_FilesInUseMessage1033Some files that need to be updated are currently in use.0-1977438387IDS__IsFilesInUse_Ignore1033&Ignore0-1977438387IDS__IsFilesInUse_Retry1033&Retry0-1977438387IDS__IsGroup1033&Group:0-1977438387IDS__IsGroupLabel1033Gr&oup:0-1977438387IDS__IsInitDlg_110330-1977438387IDS__IsInitDlg_210330-1977438387IDS__IsInitDlg_PreparingWizard1033[ProductName] Setup is preparing the InstallShield Wizard which will guide you through the program setup process. Please wait.0-1977438387IDS__IsInitDlg_WelcomeWizard1033{&TahomaBold10}Welcome to the InstallShield Wizard for [ProductName]0-1977438387IDS__IsLicenseDlg_LicenseAgreement1033{&MSSansBold8}License Agreement0-1977438387IDS__IsLicenseDlg_ReadLicenseAgreement1033Please read the following license agreement carefully.0-1977438387IDS__IsLogonInfoDescription1033Specify the user name and password of the user account that will logon to use this application. The user account must be in the form DOMAIN\Username.0-1977438387IDS__IsLogonInfoTitle1033{&MSSansBold8}Logon Information0-1977438387IDS__IsLogonInfoTitleDescription1033Specify a user name and password0-1977438387IDS__IsLogonNewUserDescription1033Select the button below to specify information about a new user that will be created during the installation.0-1977438387IDS__IsMaintenanceDlg_ChangeFeatures1033Change which program features are installed. This option displays the Custom Selection dialog in which you can change the way features are installed.0-1977438387IDS__IsMaintenanceDlg_MaitenanceOptions1033Modify, repair, or remove the program.0-1977438387IDS__IsMaintenanceDlg_Modify1033{&MSSansBold8}&Modify0-1977438387IDS__IsMaintenanceDlg_ProgramMaintenance1033{&MSSansBold8}Program Maintenance0-1977438387IDS__IsMaintenanceDlg_Remove1033{&MSSansBold8}&Remove0-1977438387IDS__IsMaintenanceDlg_RemoveProductName1033Remove [ProductName] from your computer.0-1977438387IDS__IsMaintenanceDlg_Repair1033{&MSSansBold8}Re&pair0-1977438387IDS__IsMaintenanceDlg_RepairMessage1033Repair installation errors in the program. This option fixes missing or corrupt files, shortcuts, and registry entries.0-1977438387IDS__IsMaintenanceWelcome_MaintenanceOptionsDescription1033The InstallShield(R) Wizard will allow you to modify, repair, or remove [ProductName]. To continue, click Next.0-1977438387IDS__IsMaintenanceWelcome_WizardWelcome1033{&TahomaBold10}Welcome to the InstallShield Wizard for [ProductName]0-1977438387IDS__IsMsiRMFilesInUse_ApplicationsUsingFiles1033The following applications are using files that need to be updated by this setup.0-1977438387IDS__IsMsiRMFilesInUse_CloseRestart1033Automatically close and attempt to restart applications.0-1977438387IDS__IsMsiRMFilesInUse_RebootAfter1033Do not close applications. (A reboot will be required.)0-1977438387IDS__IsPatchDlg_PatchClickUpdate1033The InstallShield(R) Wizard will install the Patch for [ProductName] on your computer. To continue, click Update.0-1977438387IDS__IsPatchDlg_PatchWizard1033[ProductName] Patch - InstallShield Wizard0-1977438387IDS__IsPatchDlg_Update1033&Update >0-1977438387IDS__IsPatchDlg_WelcomePatchWizard1033{&TahomaBold10}Welcome to the Patch for [ProductName]0-1977438387IDS__IsProgressDlg_210330-1977438387IDS__IsProgressDlg_Hidden1033(Hidden for now)0-1977438387IDS__IsProgressDlg_HiddenTimeRemaining1033)Hidden for now)Estimated time remaining:0-1977438387IDS__IsProgressDlg_InstallingProductName1033{&MSSansBold8}Installing [ProductName]0-1977438387IDS__IsProgressDlg_ProgressDone1033Progress done0-1977438387IDS__IsProgressDlg_SecHidden1033(Hidden for now)Sec.0-1977438387IDS__IsProgressDlg_Status1033Status:0-1977438387IDS__IsProgressDlg_Uninstalling1033{&MSSansBold8}Uninstalling [ProductName]0-1977438387IDS__IsProgressDlg_UninstallingFeatures1033The program features you selected are being uninstalled.0-1977438387IDS__IsProgressDlg_UninstallingFeatures21033The program features you selected are being installed.0-1977438387IDS__IsProgressDlg_WaitUninstall1033Please wait while the InstallShield Wizard uninstalls [ProductName]. This may take several minutes.0-1977438387IDS__IsProgressDlg_WaitUninstall21033Please wait while the InstallShield Wizard installs [ProductName]. This may take several minutes.0-1977438387IDS__IsReadmeDlg_Cancel1033&Cancel0-1977438387IDS__IsReadmeDlg_PleaseReadInfo1033Please read the following readme information carefully.0-1977438387IDS__IsReadmeDlg_ReadMeInfo1033{&MSSansBold8}Readme Information0-1977438387IDS__IsRegisterUserDlg_1610330-1977438387IDS__IsRegisterUserDlg_Anyone1033&Anyone who uses this computer (all users)0-1977438387IDS__IsRegisterUserDlg_CustomerInformation1033{&MSSansBold8}Customer Information0-1977438387IDS__IsRegisterUserDlg_InstallFor1033Install this application for:0-1977438387IDS__IsRegisterUserDlg_OnlyMe1033Only for &me ([USERNAME])0-1977438387IDS__IsRegisterUserDlg_Organization1033&Organization:0-1977438387IDS__IsRegisterUserDlg_PleaseEnterInfo1033Please enter your information.0-1977438387IDS__IsRegisterUserDlg_SerialNumber1033&Serial Number:0-1977438387IDS__IsRegisterUserDlg_Tahoma501033{\Tahoma8}{50}0-1977438387IDS__IsRegisterUserDlg_Tahoma801033{\Tahoma8}{80}0-1977438387IDS__IsRegisterUserDlg_UserName1033&User Name:0-1977438387IDS__IsResumeDlg_ResumeSuspended1033The InstallShield(R) Wizard will complete the suspended installation of [ProductName] on your computer. To continue, click Next.0-1977438387IDS__IsResumeDlg_Resuming1033{&TahomaBold10}Resuming the InstallShield Wizard for [ProductName]0-1977438387IDS__IsResumeDlg_WizardResume1033The InstallShield(R) Wizard will complete the installation of [ProductName] on your computer. To continue, click Next.0-1977438387IDS__IsSelectDomainOrServer1033Select a Domain or Server0-1977438387IDS__IsSelectDomainUserInstructions1033Use the browse buttons to select a domain\server and a user name.0-1977438387IDS__IsSetupComplete_ShowMsiLog1033Show the Windows Installer log0-1977438387IDS__IsSetupTypeMinDlg_1310330-1977438387IDS__IsSetupTypeMinDlg_AllFeatures1033All program features will be installed. (Requires the most disk space.)0-1977438387IDS__IsSetupTypeMinDlg_ChooseFeatures1033Choose which program features you want installed and where they will be installed. Recommended for advanced users.0-1977438387IDS__IsSetupTypeMinDlg_ChooseSetupType1033Choose the setup type that best suits your needs.0-1977438387IDS__IsSetupTypeMinDlg_Complete1033{&MSSansBold8}&Complete0-1977438387IDS__IsSetupTypeMinDlg_Custom1033{&MSSansBold8}Cu&stom0-1977438387IDS__IsSetupTypeMinDlg_Minimal1033{&MSSansBold8}&Minimal0-1977438387IDS__IsSetupTypeMinDlg_MinimumFeatures1033Minimum required features will be installed.0-1977438387IDS__IsSetupTypeMinDlg_SelectSetupType1033Please select a setup type.0-1977438387IDS__IsSetupTypeMinDlg_SetupType1033{&MSSansBold8}Setup Type0-1977438387IDS__IsSetupTypeMinDlg_Typical1033{&MSSansBold8}&Typical0-1977438387IDS__IsUserExit_ClickFinish1033Click Finish to exit the wizard.0-1977438387IDS__IsUserExit_Finish1033&Finish0-1977438387IDS__IsUserExit_KeepOrRestore1033You can either keep any existing installed elements on your system to continue this installation at a later time or you can restore your system to its original state prior to the installation.0-1977438387IDS__IsUserExit_NotModified1033Your system has not been modified. To install this program at a later time, please run the installation again.0-1977438387IDS__IsUserExit_RestoreOrContinue1033Click Restore or Continue Later to exit the wizard.0-1977438387IDS__IsUserExit_WizardCompleted1033{&TahomaBold10}InstallShield Wizard Completed0-1977438387IDS__IsUserExit_WizardInterrupted1033The wizard was interrupted before [ProductName] could be completely installed.0-1977438387IDS__IsUserNameLabel1033&User name:0-1977438387IDS__IsVerifyReadyDlg_BackOrCancel1033If you want to review or change any of your installation settings, click Back. Click Cancel to exit the wizard.0-1977438387IDS__IsVerifyReadyDlg_ClickInstall1033Click Install to begin the installation.0-1977438387IDS__IsVerifyReadyDlg_Company1033Company: [COMPANYNAME]0-1977438387IDS__IsVerifyReadyDlg_CurrentSettings1033Current Settings:0-1977438387IDS__IsVerifyReadyDlg_DestFolder1033Destination Folder:0-1977438387IDS__IsVerifyReadyDlg_Install1033&Install0-1977438387IDS__IsVerifyReadyDlg_Installdir1033[INSTALLDIR]0-1977438387IDS__IsVerifyReadyDlg_ModifyReady1033{&MSSansBold8}Ready to Modify the Program0-1977438387IDS__IsVerifyReadyDlg_ReadyInstall1033{&MSSansBold8}Ready to Install the Program0-1977438387IDS__IsVerifyReadyDlg_ReadyRepair1033{&MSSansBold8}Ready to Repair the Program0-1977438387IDS__IsVerifyReadyDlg_SelectedSetupType1033[SelectedSetupType]0-1977438387IDS__IsVerifyReadyDlg_Serial1033Serial: [ISX_SERIALNUM]0-1977438387IDS__IsVerifyReadyDlg_SetupType1033Setup Type:0-1977438387IDS__IsVerifyReadyDlg_UserInfo1033User Information:0-1977438387IDS__IsVerifyReadyDlg_UserName1033Name: [USERNAME]0-1977438387IDS__IsVerifyReadyDlg_WizardReady1033The wizard is ready to begin installation.0-1977438387IDS__IsVerifyRemoveAllDlg_ChoseRemoveProgram1033You have chosen to remove the program from your system.0-1977438387IDS__IsVerifyRemoveAllDlg_ClickBack1033If you want to review or change any settings, click Back.0-1977438387IDS__IsVerifyRemoveAllDlg_ClickRemove1033Click Remove to remove [ProductName] from your computer. After removal, this program will no longer be available for use.0-1977438387IDS__IsVerifyRemoveAllDlg_Remove1033&Remove0-1977438387IDS__IsVerifyRemoveAllDlg_RemoveProgram1033{&MSSansBold8}Remove the Program0-1977438387IDS__IsWelcomeDlg_InstallProductName1033The InstallShield(R) Wizard will install [ProductName] on your computer. To continue, click Next.0-1977438387IDS__IsWelcomeDlg_WarningCopyright1033WARNING: This program is protected by copyright law and international treaties.0-1977438387IDS__IsWelcomeDlg_WelcomeProductName1033{&TahomaBold10}Welcome to the InstallShield Wizard for [ProductName]0-1977438387IDS__TargetReq_DESC_COLOR1033The color settings of your system are not adequate for running [ProductName].0-1977438387IDS__TargetReq_DESC_OS1033The operating system is not adequate for running [ProductName].0-1977438387IDS__TargetReq_DESC_PROCESSOR1033The processor is not adequate for running [ProductName].0-1977438387IDS__TargetReq_DESC_RAM1033The amount of RAM is not adequate for running [ProductName].0-1977438387IDS__TargetReq_DESC_RESOLUTION1033The screen resolution is not adequate for running [ProductName].0-1977438387ID_STRING11033http://kylin.io01965188880ID_STRING21033kylinolap01965213424IIDS_UITEXT_FeatureUninstalled1033This feature will remain uninstalled.0-1977438387
+ + + Name + Value + +
UniqueIdC2398A63-0719-42C8-835B-18B1739DC41A
+ + + UpgradedImage_ + Name + MsiPath + Order + Flags + IgnoreMissingFiles +
+ + + UpgradeItem + ObjectSetupPath + ISReleaseFlags + ISAttributes +
+ + + Name + MsiPath + Family +
+ + + Directory_ + Name + Value +
+ + + File_ + Name + Value +
+ + + Name + Value +
+ + + Registry_ + Name + Value +
+ + + ISRelease_ + ISProductConfiguration_ + Name + Value +
+ + + Shortcut_ + Name + Value +
+ + + ISXmlElement + ISXmlFile_ + ISXmlElement_Parent + XPath + Content + ISAttributes +
+ + + ISXmlElementAttrib + ISXmlElement_ + Name + Value + ISAttributes +
+ + + ISXmlFile + FileName + Component_ + Directory + ISAttributes + SelectionNamespaces + Encoding +
+ + + Signature_ + Parent + Element + Attribute + ISAttributes +
+ + + Name + Data + ISBuildSourcePath + ISIconIndex + +
ARPPRODUCTICON.exe<ISProductFolder>\redist\Language Independent\OS Independent\setupicon.ico0
+ + + IniFile + FileName + DirProperty + Section + Key + Value + Action + Component_ +
+ + + Signature_ + FileName + Section + Key + Field + Type +
+ + + Action + Condition + Sequence + ISComments + ISAttributes +
AllocateRegistrySpaceNOT Installed1550AllocateRegistrySpace + AppSearch400AppSearch + BindImage4300BindImage + CCPSearchCCP_TEST500CCPSearch + CostFinalize1000CostFinalize + CostInitialize800CostInitialize + CreateFolders3700CreateFolders + CreateShortcuts4500CreateShortcuts + DeleteServicesVersionNT2000DeleteServices + DuplicateFiles4210DuplicateFiles + FileCost900FileCost + FindRelatedProductsNOT ISSETUPDRIVEN420FindRelatedProducts + ISPreventDowngradeISFOUNDNEWERPRODUCTVERSION450ISPreventDowngrade + ISRunSetupTypeAddLocalEventNot Installed And Not ISRUNSETUPTYPEADDLOCALEVENT1050ISRunSetupTypeAddLocalEvent + ISSelfRegisterCosting2201 + ISSelfRegisterFiles5601 + ISSelfRegisterFinalize6601 + ISUnSelfRegisterFiles2202 + InstallFiles4000InstallFiles + InstallFinalize6600InstallFinalize + InstallInitialize1501InstallInitialize + InstallODBC5400InstallODBC + InstallServicesVersionNT5800InstallServices + InstallValidate1400InstallValidate + IsolateComponents950IsolateComponents + LaunchConditionsNot Installed410LaunchConditions + MigrateFeatureStates1010MigrateFeatureStates + MoveFiles3800MoveFiles + MsiConfigureServicesVersionMsi >= "5.00"5850MSI5 MsiConfigureServices + MsiPublishAssemblies6250MsiPublishAssemblies + MsiUnpublishAssemblies1750MsiUnpublishAssemblies + PatchFiles4090PatchFiles + ProcessComponents1600ProcessComponents + PublishComponents6200PublishComponents + PublishFeatures6300PublishFeatures + PublishProduct6400PublishProduct + RMCCPSearchNot CCP_SUCCESS And CCP_TEST600RMCCPSearch + RegisterClassInfo4600RegisterClassInfo + RegisterComPlus5700RegisterComPlus + RegisterExtensionInfo4700RegisterExtensionInfo + RegisterFonts5300RegisterFonts + RegisterMIMEInfo4900RegisterMIMEInfo + RegisterProduct6100RegisterProduct + RegisterProgIdInfo4800RegisterProgIdInfo + RegisterTypeLibraries5500RegisterTypeLibraries + RegisterUser6000RegisterUser + RemoveDuplicateFiles3400RemoveDuplicateFiles + RemoveEnvironmentStrings3300RemoveEnvironmentStrings + RemoveExistingProducts1410RemoveExistingProducts + RemoveFiles3500RemoveFiles + RemoveFolders3600RemoveFolders + RemoveIniValues3100RemoveIniValues + RemoveODBC2400RemoveODBC + RemoveRegistryValues2600RemoveRegistryValues + RemoveShortcuts3200RemoveShortcuts + ResolveSourceNot Installed850ResolveSource + ScheduleRebootISSCHEDULEREBOOT6410ScheduleReboot + SelfRegModules5600SelfRegModules + SelfUnregModules2200SelfUnregModules + SetARPINSTALLLOCATION1100SetARPINSTALLLOCATION + SetAllUsersProfileNTVersionNT = 400970 + SetODBCFolders1200SetODBCFolders + StartServicesVersionNT5900StartServices + StopServicesVersionNT1900StopServices + UnpublishComponents1700UnpublishComponents + UnpublishFeatures1800UnpublishFeatures + UnregisterClassInfo2700UnregisterClassInfo + UnregisterComPlus2100UnregisterComPlus + UnregisterExtensionInfo2800UnregisterExtensionInfo + UnregisterFonts2500UnregisterFonts + UnregisterMIMEInfo3000UnregisterMIMEInfo + UnregisterProgIdInfo2900UnregisterProgIdInfo + UnregisterTypeLibraries2300UnregisterTypeLibraries + ValidateProductID700ValidateProductID + WriteEnvironmentStrings5200WriteEnvironmentStrings + WriteIniValues5100WriteIniValues + WriteRegistryValues5000WriteRegistryValues + setAllUsersProfile2KVersionNT >= 500980 + setUserProfileNTVersionNT960 +
+ + + Property + Value + + + + + + + + + + + + + + + + + + + + + + + + +
ActiveLanguage1033Comments + CurrentMedia +UwBpAG4AZwBsAGUASQBtAGEAZwBlAAEARQB4AHAAcgBlAHMAcwA= + DefaultProductConfigurationExpressEnableSwidtag1ISCompilerOption_CompileBeforeBuild1ISCompilerOption_Debug0ISCompilerOption_IncludePath + ISCompilerOption_LibraryPath + ISCompilerOption_MaxErrors50ISCompilerOption_MaxWarnings50ISCompilerOption_OutputPath<ISProjectDataFolder>\Script FilesISCompilerOption_PreProcessor_ISSCRIPT_NEW_STYLE_DLG_DEFSISCompilerOption_WarningLevel3ISCompilerOption_WarningsAsErrors1ISThemeInstallShield Blue.themeISUSLock{0A6AB81B-BB2B-496F-A081-4537537925F0}ISUSSignature{5AC729BB-C794-4587-84A9-14ADD90D06AF}ISVisitedViewsviewUI,viewISToday,viewAssistant,viewAppV,viewProject,viewRealSetupDesign,viewSetupDesign,viewSetupTypes,viewSystemSearch,viewRelease,viewAppFiles,viewUpgradePaths,viewUpdateService,viewDesignPatches,viewSupportFilesLimited1LockPermissionMode1MsiExecCmdLineOptions + MsiLogFile + OnUpgrade0Owner + PatchFamilyMyPatchFamily1PatchSequence1.0.0SaveAsSchema + SccEnabled0SccPath + SchemaVersion774TypeMSIE
+ + + Action + Condition + Sequence + ISComments + ISAttributes +
AppSearch400AppSearch + CCPSearchCCP_TEST500CCPSearch + CostFinalize1000CostFinalize + CostInitialize800CostInitialize + ExecuteAction1300ExecuteAction + FileCost900FileCost + FindRelatedProducts430FindRelatedProducts + ISPreventDowngradeISFOUNDNEWERPRODUCTVERSION450ISPreventDowngrade + InstallWelcomeNot Installed1210InstallWelcome + IsolateComponents950IsolateComponents + LaunchConditionsNot Installed410LaunchConditions + MaintenanceWelcomeInstalled And Not RESUME And Not Preselected And Not PATCH1230MaintenanceWelcome + MigrateFeatureStates1200MigrateFeatureStates + PatchWelcomeInstalled And PATCH And Not IS_MAJOR_UPGRADE1205Patch Panel + RMCCPSearchNot CCP_SUCCESS And CCP_TEST600RMCCPSearch + ResolveSourceNot Installed990ResolveSource + SetAllUsersProfileNTVersionNT = 400970 + SetupCompleteError-3SetupCompleteError + SetupCompleteSuccess-1SetupCompleteSuccess + SetupInitialization420SetupInitialization + SetupInterrupted-2SetupInterrupted + SetupProgress1240SetupProgress + SetupResumeInstalled And (RESUME Or Preselected) And Not PATCH1220SetupResume + ValidateProductID700ValidateProductID + setAllUsersProfile2KVersionNT >= 500980 + setUserProfileNTVersionNT960 +
+ + + Component_Shared + Component_Application +
+ + + Condition + Description +
+ + + Property + Order + Value + Text +
+ + + Property + Order + Value + Text + Binary_ +
+ + + LockObject + Table + Domain + User + Permission +
+ + + ContentType + Extension_ + CLSID +
+ + + DiskId + LastSequence + DiskPrompt + Cabinet + VolumeLabel + Source +
+ + + FileKey + Component_ + SourceName + DestName + SourceFolder + DestFolder + Options +
+ + + Component_ + Feature_ + File_Manifest + File_Application + Attributes +
+ + + Component_ + Name + Value +
+ + + DigitalCertificate + CertData +
+ + + Table + SignObject + DigitalCertificate_ + Hash +
+ + + Component + Flags + Sequence + ReferenceComponents +
+ + + MsiEmbeddedChainer + Condition + CommandLine + Source + Type +
+ + + MsiEmbeddedUI + FileName + Attributes + MessageFilter + Data + ISBuildSourcePath +
+ + + File_ + Options + HashPart1 + HashPart2 + HashPart3 + HashPart4 +
+ + + MsiLockPermissionsEx + LockObject + Table + SDDLText + Condition +
+ + + PackageCertificate + DigitalCertificate_ +
+ + + PatchCertificate + DigitalCertificate_ +
+ + + PatchConfiguration_ + Company + Property + Value +
+ + + File_ + Assembly_ +
+ + + Assembly + Name + Value +
+ + + PatchConfiguration_ + PatchFamily + Target + Sequence + Supersede +
+ + + MsiServiceConfig + Name + Event + ConfigType + Argument + Component_ +
+ + + MsiServiceConfigFailureActions + Name + Event + ResetPeriod + RebootMessage + Command + Actions + DelayActions + Component_ +
+ + + MsiShortcutProperty + Shortcut_ + PropertyKey + PropVariantValue +
+ + + Driver_ + Attribute + Value +
+ + + DataSource + Component_ + Description + DriverDescription + Registration +
+ + + Driver + Component_ + Description + File_ + File_Setup +
+ + + DataSource_ + Attribute + Value +
+ + + Translator + Component_ + Description + File_ + File_Setup +
+ + + File_ + Sequence + PatchSize + Attributes + Header + StreamRef_ + ISBuildSourcePath +
+ + + PatchId + Media_ +
+ + + ProgId + ProgId_Parent + Class_ + Description + Icon_ + IconIndex + ISAttributes +
+ + + Property + Value + ISComments +
ALLUSERS1 + ARPINSTALLLOCATION + ARPPRODUCTICONARPPRODUCTICON.exe + ARPSIZE + ARPURLINFOABOUT##ID_STRING1## + AgreeToLicenseNo + ApplicationUsersAllUsers + DWUSINTERVAL30 + DWUSLINKCEFC97D8A9AB87B8CEAC87D87ECB978F0E4C808F59EC000FCEFC87A8F9BB37FF198CA7FFA9AC + DefaultUIFontExpressDefault + DialogCaptionInstallShield for Windows Installer + DiskPrompt[1] + DiskSerial1234-5678 + DisplayNameCustom##IDS__DisplayName_Custom## + DisplayNameMinimal##IDS__DisplayName_Minimal## + DisplayNameTypical##IDS__DisplayName_Typical## + Display_IsBitmapDlg1 + ErrorDialogSetupError + INSTALLLEVEL200 + ISCHECKFORPRODUCTUPDATES1 + ISENABLEDWUSFINISHDIALOG + ISSHOWMSILOG + ISVROOT_PORT_NO0 + IS_COMPLUS_PROGRESSTEXT_COST##IDS_COMPLUS_PROGRESSTEXT_COST## + IS_COMPLUS_PROGRESSTEXT_INSTALL##IDS_COMPLUS_PROGRESSTEXT_INSTALL## + IS_COMPLUS_PROGRESSTEXT_UNINSTALL##IDS_COMPLUS_PROGRESSTEXT_UNINSTALL## + IS_PREVENT_DOWNGRADE_EXIT##IDS_PREVENT_DOWNGRADE_EXIT## + IS_PROGMSG_TEXTFILECHANGS_REPLACE##IDS_PROGMSG_TEXTFILECHANGS_REPLACE## + IS_PROGMSG_XML_COSTING##IDS_PROGMSG_XML_COSTING## + IS_PROGMSG_XML_CREATE_FILE##IDS_PROGMSG_XML_CREATE_FILE## + IS_PROGMSG_XML_FILES##IDS_PROGMSG_XML_FILES## + IS_PROGMSG_XML_REMOVE_FILE##IDS_PROGMSG_XML_REMOVE_FILE## + IS_PROGMSG_XML_ROLLBACK_FILES##IDS_PROGMSG_XML_ROLLBACK_FILES## + IS_PROGMSG_XML_UPDATE_FILE##IDS_PROGMSG_XML_UPDATE_FILE## + IS_SQLSERVER_AUTHENTICATION0 + IS_SQLSERVER_DATABASE + IS_SQLSERVER_PASSWORD + IS_SQLSERVER_SERVER + IS_SQLSERVER_USERNAMEsa + InstallChoiceAR + LAUNCHPROGRAM1 + LAUNCHREADME1 + Manufacturer##COMPANY_NAME## + PIDKEY + PIDTemplate12345<###-%%%%%%%>@@@@@ + PROGMSG_IIS_CREATEAPPPOOL##IDS_PROGMSG_IIS_CREATEAPPPOOL## + PROGMSG_IIS_CREATEAPPPOOLS##IDS_PROGMSG_IIS_CREATEAPPPOOLS## + PROGMSG_IIS_CREATEVROOT##IDS_PROGMSG_IIS_CREATEVROOT## + PROGMSG_IIS_CREATEVROOTS##IDS_PROGMSG_IIS_CREATEVROOTS## + PROGMSG_IIS_CREATEWEBSERVICEEXTENSION##IDS_PROGMSG_IIS_CREATEWEBSERVICEEXTENSION## + PROGMSG_IIS_CREATEWEBSERVICEEXTENSIONS##IDS_PROGMSG_IIS_CREATEWEBSERVICEEXTENSIONS## + PROGMSG_IIS_CREATEWEBSITE##IDS_PROGMSG_IIS_CREATEWEBSITE## + PROGMSG_IIS_CREATEWEBSITES##IDS_PROGMSG_IIS_CREATEWEBSITES## + PROGMSG_IIS_EXTRACT##IDS_PROGMSG_IIS_EXTRACT## + PROGMSG_IIS_EXTRACTDONE##IDS_PROGMSG_IIS_EXTRACTDONE## + PROGMSG_IIS_EXTRACTDONEz##IDS_PROGMSG_IIS_EXTRACTDONE## + PROGMSG_IIS_EXTRACTzDONE##IDS_PROGMSG_IIS_EXTRACTDONE## + PROGMSG_IIS_REMOVEAPPPOOL##IDS_PROGMSG_IIS_REMOVEAPPPOOL## + PROGMSG_IIS_REMOVEAPPPOOLS##IDS_PROGMSG_IIS_REMOVEAPPPOOLS## + PROGMSG_IIS_REMOVESITE##IDS_PROGMSG_IIS_REMOVESITE## + PROGMSG_IIS_REMOVEVROOT##IDS_PROGMSG_IIS_REMOVEVROOT## + PROGMSG_IIS_REMOVEVROOTS##IDS_PROGMSG_IIS_REMOVEVROOTS## + PROGMSG_IIS_REMOVEWEBSERVICEEXTENSION##IDS_PROGMSG_IIS_REMOVEWEBSERVICEEXTENSION## + PROGMSG_IIS_REMOVEWEBSERVICEEXTENSIONS##IDS_PROGMSG_IIS_REMOVEWEBSERVICEEXTENSIONS## + PROGMSG_IIS_REMOVEWEBSITES##IDS_PROGMSG_IIS_REMOVEWEBSITES## + PROGMSG_IIS_ROLLBACKAPPPOOLS##IDS_PROGMSG_IIS_ROLLBACKAPPPOOLS## + PROGMSG_IIS_ROLLBACKVROOTS##IDS_PROGMSG_IIS_ROLLBACKVROOTS## + PROGMSG_IIS_ROLLBACKWEBSERVICEEXTENSIONS##IDS_PROGMSG_IIS_ROLLBACKWEBSERVICEEXTENSIONS## + ProductCode{A920FB5E-591B-4537-901D-7D0303088884} + ProductNameKylinODBCDriver (x86) + ProductVersion0.7.0000 + ProgressType0install + ProgressType1Installing + ProgressType2installed + ProgressType3installs + RebootYesNoYes + ReinstallFileVersiono + ReinstallModeTextomus + ReinstallRepairr + RestartManagerOptionCloseRestart + SERIALNUMBER + SERIALNUMVALSUCCESSRETVAL1 + SecureCustomPropertiesISFOUNDNEWERPRODUCTVERSION;USERNAME;COMPANYNAME;ISX_SERIALNUM;SUPPORTDIR + SelectedSetupType##IDS__DisplayName_Typical## + SetupTypeTypical + UpgradeCode{F96098D5-A754-42DE-920D-29AAF8551408} + _IsMaintenanceChange + _IsSetupTypeMinTypical +
+ + + ComponentId + Qualifier + Component_ + AppData + Feature_ +
+ + + Property + Order + Value + X + Y + Width + Height + Text + Help + ISControlId +
AgreeToLicense1No01529115##IDS__AgreeToLicense_0## + AgreeToLicense2Yes0029115##IDS__AgreeToLicense_1## + ApplicationUsers1AllUsers1729014##IDS__IsRegisterUserDlg_Anyone## + ApplicationUsers2OnlyCurrentUser12329014##IDS__IsRegisterUserDlg_OnlyMe## + RestartManagerOption1CloseRestart6933114##IDS__IsMsiRMFilesInUse_CloseRestart## + RestartManagerOption2Reboot62133114##IDS__IsMsiRMFilesInUse_RebootAfter## + _IsMaintenance1Change0029014##IDS__IsMaintenanceDlg_Modify## + _IsMaintenance2Reinstall06029014##IDS__IsMaintenanceDlg_Repair## + _IsMaintenance3Remove012029014##IDS__IsMaintenanceDlg_Remove## + _IsSetupTypeMin1Typical1626414##IDS__IsSetupTypeMinDlg_Typical## +
+ + + Signature_ + Root + Key + Name + Type +
+ + + Registry + Root + Key + Name + Value + Component_ + ISAttributes + + + + + + +
Registry12SOFTWARE\ODBC\ODBCINST.INI\KylinODBCDriverDir[INSTALLDIR]ISX_DEFAULTCOMPONENT10Registry22SOFTWARE\ODBC\ODBCINST.INI\ODBC DriversKylinODBCDriverInstalledISX_DEFAULTCOMPONENT10Registry32SOFTWARE\ODBC\ODBCINST.INI\KylinODBCDriverSetup[INSTALLDIR]driver.dllISX_DEFAULTCOMPONENT10Registry42SOFTWARE\ODBC\ODBCINST.INI\KylinODBCDriverDriver[INSTALLDIR]driver.dllISX_DEFAULTCOMPONENT10Registry52SOFTWARE\ODBC\ODBCINST.INI\KylinODBCDriverUsageCount#1ISX_DEFAULTCOMPONENT10Registry62SOFTWARE\ODBC\ODBCINST.INI\KylinODBCDriverLogLevel#1ISX_DEFAULTCOMPONENT10
+ + + FileKey + Component_ + FileName + DirProperty + InstallMode +
+ + + RemoveIniFile + FileName + DirProperty + Section + Key + Value + Action + Component_ +
+ + + RemoveRegistry + Root + Key + Name + Component_ +
+ + + ReserveKey + Component_ + ReserveFolder + ReserveLocal + ReserveSource +
+ + + SFPCatalog + Catalog + Dependency +
+ + + File_ + Cost +
+ + + ServiceControl + Name + Event + Arguments + Wait + Component_ +
+ + + ServiceInstall + Name + DisplayName + ServiceType + StartType + ErrorControl + LoadOrderGroup + Dependencies + StartName + Password + Arguments + Component_ + Description +
+ + + Shortcut + Directory_ + Name + Component_ + Target + Arguments + Description + Hotkey + Icon_ + IconIndex + ShowCmd + WkDir + DisplayResourceDLL + DisplayResourceId + DescriptionResourceDLL + DescriptionResourceId + ISComments + ISShortcutName + ISAttributes +
+ + + Signature + FileName + MinVersion + MaxVersion + MinSize + MaxSize + MinDate + MaxDate + Languages +
+ + + TextStyle + FaceName + Size + Color + StyleBits + + + + + + + +
Arial8Arial8 + Arial9Arial9 + ArialBlue10Arial1016711680 + ArialBlueStrike10Arial10167116808CourierNew8Courier New8 + CourierNew9Courier New9 + ExpressDefaultTahoma8 + MSGothic9MS Gothic9 + MSSGreySerif8MS Sans Serif88421504 + MSSWhiteSerif8Tahoma816777215 + MSSansBold8Tahoma81MSSansSerif8MS Sans Serif8 + MSSansSerif9MS Sans Serif9 + Tahoma10Tahoma10 + Tahoma8Tahoma8 + Tahoma9Tahoma9 + TahomaBold10Tahoma101TahomaBold8Tahoma81Times8Times New Roman8 + Times9Times New Roman9 + TimesItalic12Times New Roman122TimesItalicBlue10Times New Roman10167116802TimesRed16Times New Roman16255 + VerdanaBold14Verdana131
+ + + LibID + Language + Component_ + Version + Description + Directory_ + Feature_ + Cost +
+ + + Key + Text + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AbsentPath + GB##IDS_UITEXT_GB##KB##IDS_UITEXT_KB##MB##IDS_UITEXT_MB##MenuAbsent##IDS_UITEXT_FeatureNotAvailable##MenuAdvertise##IDS_UITEXT_FeatureInstalledWhenRequired2##MenuAllCD##IDS_UITEXT_FeatureInstalledCD##MenuAllLocal##IDS_UITEXT_FeatureInstalledLocal##MenuAllNetwork##IDS_UITEXT_FeatureInstalledNetwork##MenuCD##IDS_UITEXT_FeatureInstalledCD2##MenuLocal##IDS_UITEXT_FeatureInstalledLocal2##MenuNetwork##IDS_UITEXT_FeatureInstalledNetwork2##NewFolder##IDS_UITEXT_Folder##SelAbsentAbsent##IDS_UITEXT_GB##SelAbsentAdvertise##IDS_UITEXT_FeatureInstalledWhenRequired##SelAbsentCD##IDS_UITEXT_FeatureOnCD##SelAbsentLocal##IDS_UITEXT_FeatureLocal##SelAbsentNetwork##IDS_UITEXT_FeatureNetwork##SelAdvertiseAbsent##IDS_UITEXT_FeatureUnavailable##SelAdvertiseAdvertise##IDS_UITEXT_FeatureInstalledRequired##SelAdvertiseCD##IDS_UITEXT_FeatureOnCD2##SelAdvertiseLocal##IDS_UITEXT_FeatureLocal2##SelAdvertiseNetwork##IDS_UITEXT_FeatureNetwork2##SelCDAbsent##IDS_UITEXT_FeatureWillBeUninstalled##SelCDAdvertise##IDS_UITEXT_FeatureWasCD##SelCDCD##IDS_UITEXT_FeatureRunFromCD##SelCDLocal##IDS_UITEXT_FeatureWasCDLocal##SelChildCostNeg##IDS_UITEXT_FeatureFreeSpace##SelChildCostPos##IDS_UITEXT_FeatureRequiredSpace##SelCostPending##IDS_UITEXT_CompilingFeaturesCost##SelLocalAbsent##IDS_UITEXT_FeatureCompletelyRemoved##SelLocalAdvertise##IDS_UITEXT_FeatureRemovedUnlessRequired##SelLocalCD##IDS_UITEXT_FeatureRemovedCD##SelLocalLocal##IDS_UITEXT_FeatureRemainLocal##SelLocalNetwork##IDS_UITEXT_FeatureRemoveNetwork##SelNetworkAbsent##IDS_UITEXT_FeatureUninstallNoNetwork##SelNetworkAdvertise##IDS_UITEXT_FeatureWasOnNetworkInstalled##SelNetworkLocal##IDS_UITEXT_FeatureWasOnNetworkLocal##SelNetworkNetwork##IDS_UITEXT_FeatureContinueNetwork##SelParentCostNegNeg##IDS_UITEXT_FeatureSpaceFree##SelParentCostNegPos##IDS_UITEXT_FeatureSpaceFree2##SelParentCostPosNeg##IDS_UITEXT_FeatureSpaceFree3##SelParentCostPosPos##IDS_UITEXT_FeatureSpaceFree4##TimeRemaining##IDS_UITEXT_TimeRemaining##VolumeCostAvailable##IDS_UITEXT_Available##VolumeCostDifference##IDS_UITEXT_Differences##VolumeCostRequired##IDS_UITEXT_Required##VolumeCostSize##IDS_UITEXT_DiskSize##VolumeCostVolume##IDS_UITEXT_Volume##bytes##IDS_UITEXT_Bytes##
+ + + UpgradeCode + VersionMin + VersionMax + Language + Attributes + Remove + ActionProperty + ISDisplayName + +
{00000000-0000-0000-0000-000000000000}***ALL_VERSIONS***2ISFOUNDNEWERPRODUCTVERSIONISPreventDowngrade
+ + + Extension_ + Verb + Sequence + Command + Argument +
+ + + Table + Column + Nullable + MinValue + MaxValue + KeyTable + KeyColumn + Category + Set + Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ActionTextActionNIdentifierName of action to be described.ActionTextDescriptionYTextLocalized description displayed in progress dialog and log when action is executing.ActionTextTemplateYTemplateOptional localized format template used to format action data records for display during action execution.AdminExecuteSequenceActionNIdentifierName of action to invoke, either in the engine or the handler DLL.AdminExecuteSequenceConditionYConditionOptional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.AdminExecuteSequenceISAttributesYThis is used to store MM Custom Action TypesAdminExecuteSequenceISCommentsYTextAuthor’s comments on this Sequence.AdminExecuteSequenceSequenceY-432767Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action.AdminUISequenceActionNIdentifierName of action to invoke, either in the engine or the handler DLL.AdminUISequenceConditionYConditionOptional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.AdminUISequenceISAttributesYThis is used to store MM Custom Action TypesAdminUISequenceISCommentsYTextAuthor’s comments on this Sequence.AdminUISequenceSequenceY-432767Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action.AdvtExecuteSequenceActionNIdentifierName of action to invoke, either in the engine or the handler DLL.AdvtExecuteSequenceConditionYConditionOptional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.AdvtExecuteSequenceISAttributesYThis is used to store MM Custom Action TypesAdvtExecuteSequenceISCommentsYTextAuthor’s comments on this Sequence.AdvtExecuteSequenceSequenceY-432767Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action.AdvtUISequenceActionNIdentifierName of action to invoke, either in the engine or the handler DLL.AdvtUISequenceConditionYConditionOptional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.AdvtUISequenceISAttributesYThis is used to store MM Custom Action TypesAdvtUISequenceISCommentsYTextAuthor’s comments on this Sequence.AdvtUISequenceSequenceY-432767Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action.AppIdActivateAtStorageY01 + AppIdAppIdNGuid + AppIdDllSurrogateYText + AppIdLocalServiceYText + AppIdRemoteServerNameYFormatted + AppIdRunAsInteractiveUserY01 + AppIdServiceParametersYText + AppSearchPropertyNIdentifierThe property associated with a SignatureAppSearchSignature_NISXmlLocator;Signature1IdentifierThe Signature_ represents a unique file signature and is also the foreign key in the Signature, RegLocator, IniLocator, CompLocator and the DrLocator tables.BBControlAttributesY02147483647A 32-bit word that specifies the attribute flags to be applied to this control.BBControlBBControlNIdentifierName of the control. This name must be unique within a billboard, but can repeat on different billboard.BBControlBillboard_NBillboard1IdentifierExternal key to the Billboard table, name of the billboard.BBControlHeightN032767Height of the bounding rectangle of the control.BBControlTextYTextA string used to set the initial text contained within a control (if appropriate).BBControlTypeNIdentifierThe type of the control.BBControlWidthN032767Width of the bounding rectangle of the control.BBControlXN032767Horizontal coordinate of the upper left corner of the bounding rectangle of the control.BBControlYN032767Vertical coordinate of the upper left corner of the bounding rectangle of the control.BillboardActionYIdentifierThe name of an action. The billboard is displayed during the progress messages received from this action.BillboardBillboardNIdentifierName of the billboard.BillboardFeature_NFeature1IdentifierAn external key to the Feature Table. The billboard is shown only if this feature is being installed.BillboardOrderingY032767A positive integer. If there is more than one billboard corresponding to an action they will be shown in the order defined by this column.BinaryDataYBinaryBinary stream. The binary icon data in PE (.DLL or .EXE) or icon (.ICO) format.BinaryISBuildSourcePathYTextFull path to the ICO or EXE file.BinaryNameNIdentifierUnique key identifying the binary data.BindImageFile_NFile1IdentifierThe index into the File table. This must be an executable file.BindImagePathYPathsA list of ; delimited paths that represent the paths to be searched for the import DLLS. The list is usually a list of properties each enclosed within square brackets [] .CCPSearchSignature_NSignature1IdentifierThe Signature_ represents a unique file signature and is also the foreign key in the Signature, RegLocator, IniLocator, CompLocator and the DrLocator tables.CheckBoxPropertyNIdentifierA named property to be tied to the item.CheckBoxValueYFormattedThe value string associated with the item.ClassAppId_YAppId1GuidOptional AppID containing DCOM information for associated application (string GUID).ClassArgumentYFormattedoptional argument for LocalServers.ClassAttributesY32767Class registration attributes.ClassCLSIDNGuidThe CLSID of an OLE factory.ClassComponent_NComponent1IdentifierRequired foreign key into the Component Table, specifying the component for which to return a path when called through LocateComponent.ClassContextNIdentifierThe numeric server context for this server. CLSCTX_xxxxClassDefInprocHandlerYText1;2;3Optional default inproc handler. Only optionally provided if Context=CLSCTX_LOCAL_SERVER. Typically "ole32.dll" or "mapi32.dll"ClassDescriptionYTextLocalized description for the Class.ClassFeature_NFeature1IdentifierRequired foreign key into the Feature Table, specifying the feature to validate or install in order for the CLSID factory to be operational.ClassFileTypeMaskYTextOptional string containing information for the HKCRthis CLSID) key. If multiple patterns exist, they must be delimited by a semicolon, and numeric subkeys will be generated: 0,1,2...ClassIconIndexY-3276732767Optional icon index.ClassIcon_YIcon1IdentifierOptional foreign key into the Icon Table, specifying the icon file associated with this CLSID. Will be written under the DefaultIcon key.ClassProgId_DefaultYProgId1TextOptional ProgId associated with this CLSID.ComboBoxOrderN132767A positive integer used to determine the ordering of the items within one list. The integers do not have to be consecutive.ComboBoxPropertyNIdentifierA named property to be tied to this item. All the items tied to the same property become part of the same combobox.ComboBoxTextYFormattedThe visible text to be assigned to the item. Optional. If this entry or the entire column is missing, the text is the same as the value.ComboBoxValueNFormattedThe value string associated with this item. Selecting the line will set the associated property to this value.CompLocatorComponentIdNGuidA string GUID unique to this component, version, and language.CompLocatorSignature_NSignature1IdentifierThe table key. The Signature_ represents a unique file signature and is also the foreign key in the Signature table.CompLocatorTypeY01A boolean value that determines if the registry value is a filename or a directory location.ComplusComponent_NComponent1IdentifierForeign key referencing Component that controls the ComPlus component.ComplusExpTypeY032767ComPlus component attributes.ComponentAttributesNRemote execution option, one of irsEnumComponentComponentNIdentifierPrimary key used to identify a particular component record.ComponentComponentIdYGuidA string GUID unique to this component, version, and language.ComponentConditionYConditionA conditional statement that will disable this component if the specified condition evaluates to the 'True' state. If a component is disabled, it will not be installed, regardless of the 'Action' state associated with the component.ComponentDirectory_NDirectory1IdentifierRequired key of a Directory table record. This is actually a property name whose value contains the actual path, set either by the AppSearch action or with the default setting obtained from the Directory table.ComponentISAttributesYThis is used to store Installshield custom properties of a component.ComponentISCommentsYTextUser Comments.ComponentISDotNetInstallerArgsCommitYTextArguments passed to the key file of the component if if implements the .NET Installer classComponentISDotNetInstallerArgsInstallYTextArguments passed to the key file of the component if if implements the .NET Installer classComponentISDotNetInstallerArgsRollbackYTextArguments passed to the key file of the component if if implements the .NET Installer classComponentISDotNetInstallerArgsUninstallYTextArguments passed to the key file of the component if if implements the .NET Installer classComponentISRegFileToMergeAtBuildYTextPath and File name of a .REG file to merge into the component at build time.ComponentISScanAtBuildFileYTextFile used by the Dot Net scanner to populate dependant assemblies' File_Application field.ComponentKeyPathYFile;ODBCDataSource;Registry1IdentifierEither the primary key into the File table, Registry table, or ODBCDataSource table. This extract path is stored when the component is installed, and is used to detect the presence of the component and to return the path to it.ConditionConditionYConditionExpression evaluated to determine if Level in the Feature table is to change.ConditionFeature_NFeature1IdentifierReference to a Feature entry in Feature table.ConditionLevelN032767New selection Level to set in Feature table if Condition evaluates to TRUE.ControlAttributesY02147483647A 32-bit word that specifies the attribute flags to be applied to this control.ControlBinary_YBinary1IdentifierExternal key to the Binary table.ControlControlNIdentifierName of the control. This name must be unique within a dialog, but can repeat on different dialogs.ControlControl_NextYControl2IdentifierThe name of an other control on the same dialog. This link defines the tab order of the controls. The links have to form one or more cycles!ControlDialog_NDialog1IdentifierExternal key to the Dialog table, name of the dialog.ControlHeightN032767Height of the bounding rectangle of the control.ControlHelpYTextThe help strings used with the button. The text is optional.ControlISBuildSourcePathYTextFull path to .rtf file for scrollable text controlControlISControlIdYA number used to represent the control ID of the Control, Used in Dialog exportControlISWindowStyleY02147483647A 32-bit word that specifies non-MSI window styles to be applied to this control.ControlPropertyYIdentifierThe name of a defined property to be linked to this control.ControlTextYFormattedA string used to set the initial text contained within a control (if appropriate).ControlTypeNIdentifierThe type of the control.ControlWidthN032767Width of the bounding rectangle of the control.ControlXN032767Horizontal coordinate of the upper left corner of the bounding rectangle of the control.ControlYN032767Vertical coordinate of the upper left corner of the bounding rectangle of the control.ControlConditionActionNDefault;Disable;Enable;Hide;ShowThe desired action to be taken on the specified control.ControlConditionConditionNConditionA standard conditional statement that specifies under which conditions the action should be triggered.ControlConditionControl_NControl2IdentifierA foreign key to the Control table, name of the control.ControlConditionDialog_NDialog1IdentifierA foreign key to the Dialog table, name of the dialog.ControlEventArgumentNFormattedA value to be used as a modifier when triggering a particular event.ControlEventConditionYConditionA standard conditional statement that specifies under which conditions an event should be triggered.ControlEventControl_NControl2IdentifierA foreign key to the Control table, name of the controlControlEventDialog_NDialog1IdentifierA foreign key to the Dialog table, name of the dialog.ControlEventEventNFormattedAn identifier that specifies the type of the event that should take place when the user interacts with control specified by the first two entries.ControlEventOrderingY02147483647An integer used to order several events tied to the same control. Can be left blank.CreateFolderComponent_NComponent1IdentifierForeign key into the Component table.CreateFolderDirectory_NDirectory1IdentifierPrimary key, could be foreign key into the Directory table.CustomActionActionNIdentifierPrimary key, name of action, normally appears in sequence table unless private use.CustomActionExtendedTypeY02147483647The numeric custom action type info flags.CustomActionISCommentsYTextAuthor’s comments for this custom action.CustomActionSourceYCustomSourceThe table reference of the source of the code.CustomActionTargetYISDLLWrapper;ISInstallScriptAction1FormattedExcecution parameter, depends on the type of custom actionCustomActionTypeN132767The numeric custom action type, consisting of source location, code type, entry, option flags.DialogAttributesY02147483647A 32-bit word that specifies the attribute flags to be applied to this dialog.DialogControl_CancelYControl2IdentifierDefines the cancel control. Hitting escape or clicking on the close icon on the dialog is equivalent to pushing this button.DialogControl_DefaultYControl2IdentifierDefines the default control. Hitting return is equivalent to pushing this button.DialogControl_FirstNControl2IdentifierDefines the control that has the focus when the dialog is created.DialogDialogNIdentifierName of the dialog.DialogHCenteringN0100Horizontal position of the dialog on a 0-100 scale. 0 means left end, 100 means right end of the screen, 50 center.DialogHeightN032767Height of the bounding rectangle of the dialog.DialogISCommentsYTextAuthor’s comments for this dialog.DialogISResourceIdYA Number the Specifies the Dialog ID to be used in Dialog ExportDialogISWindowStyleYA 32-bit word that specifies non-MSI window styles to be applied to this control. This is only used in Script Based Setups.DialogTextStyle_YIdentifierForeign Key into TextStyle table, only used in Script Based Projects.DialogTitleYFormattedA text string specifying the title to be displayed in the title bar of the dialog's window.DialogVCenteringN0100Vertical position of the dialog on a 0-100 scale. 0 means top end, 100 means bottom end of the screen, 50 center.DialogWidthN032767Width of the bounding rectangle of the dialog.DirectoryDefaultDirNTextThe default sub-path under parent's path.DirectoryDirectoryNIdentifierUnique identifier for directory entry, primary key. If a property by this name is defined, it contains the full path to the directory.DirectoryDirectory_ParentYDirectory1IdentifierReference to the entry in this table specifying the default parent directory. A record parented to itself or with a Null parent represents a root of the install tree.DirectoryISAttributesY0;1;2;3;4;5;6;7This is used to store Installshield custom properties of a directory. Currently the only one is Shortcut.DirectoryISDescriptionYTextDescription of folderDirectoryISFolderNameYTextThis is used in Pro projects because the pro identifier used in the tree wasn't necessarily unique.DrLocatorDepthY032767The depth below the path to which the Signature_ is recursively searched. If absent, the depth is assumed to be 0.DrLocatorParentYIdentifierThe parent file signature. It is also a foreign key in the Signature table. If null and the Path column does not expand to a full path, then all the fixed drives of the user system are searched using the Path.DrLocatorPathYAnyPathThe path on the user system. This is a either a subpath below the value of the Parent or a full path. The path may contain properties enclosed within [ ] that will be expanded.DrLocatorSignature_NSignature1IdentifierThe Signature_ represents a unique file signature and is also the foreign key in the Signature table.DuplicateFileComponent_NComponent1IdentifierForeign key referencing Component that controls the duplicate file.DuplicateFileDestFolderYIdentifierName of a property whose value is assumed to resolve to the full pathname to a destination folder.DuplicateFileDestNameYTextFilename to be given to the duplicate file.DuplicateFileFileKeyNIdentifierPrimary key used to identify a particular file entryDuplicateFileFile_NFile1IdentifierForeign key referencing the source file to be duplicated.EnvironmentComponent_NComponent1IdentifierForeign key into the Component table referencing component that controls the installing of the environmental value.EnvironmentEnvironmentNIdentifierUnique identifier for the environmental variable settingEnvironmentNameNTextThe name of the environmental value.EnvironmentValueYFormattedThe value to set in the environmental settings.ErrorErrorN032767Integer error number, obtained from header file IError(...) macros.ErrorMessageYTemplateError formatting template, obtained from user ed. or localizers.EventMappingAttributeNIdentifierThe name of the control attribute, that is set when this event is received.EventMappingControl_NControl2IdentifierA foreign key to the Control table, name of the control.EventMappingDialog_NDialog1IdentifierA foreign key to the Dialog table, name of the Dialog.EventMappingEventNIdentifierAn identifier that specifies the type of the event that the control subscribes to.ExtensionComponent_NComponent1IdentifierRequired foreign key into the Component Table, specifying the component for which to return a path when called through LocateComponent.ExtensionExtensionNTextThe extension associated with the table row.ExtensionFeature_NFeature1IdentifierRequired foreign key into the Feature Table, specifying the feature to validate or install in order for the CLSID factory to be operational.ExtensionMIME_YMIME1TextOptional Context identifier, typically "type/format" associated with the extensionExtensionProgId_YProgId1TextOptional ProgId associated with this extension.FeatureAttributesN0;1;2;4;5;6;8;9;10;16;17;18;20;21;22;24;25;26;32;33;34;36;37;38;48;49;50;52;53;54Feature attributesFeatureDescriptionYTextLonger descriptive text describing a visible feature item.FeatureDirectory_YDirectory1UpperCaseThe name of the Directory that can be configured by the UI. A non-null value will enable the browse button.FeatureDisplayY032767Numeric sort order, used to force a specific display ordering.FeatureFeatureNIdentifierPrimary key used to identify a particular feature record.FeatureFeature_ParentYFeature1IdentifierOptional key of a parent record in the same table. If the parent is not selected, then the record will not be installed. Null indicates a root item.FeatureISCommentsYCommentsFeatureISFeatureCabNameYName of CAB used when compressing CABs by Feature. Used to override build generated name for CAB file.FeatureISProFeatureNameYTextThe name of the feature used by pro projects. This doesn't have to be unique.FeatureISReleaseFlagsYRelease Flags that specify whether this feature will be built in a particular release.FeatureLevelN032767The install level at which record will be initially selected. An install level of 0 will disable an item and prevent its display.FeatureTitleYTextShort text identifying a visible feature item.FeatureComponentsComponent_NComponent1IdentifierForeign key into Component table.FeatureComponentsFeature_NFeature1IdentifierForeign key into Feature table.FileAttributesY032767Integer containing bit flags representing file attributes (with the decimal value of each bit position in parentheses)FileComponent_NComponent1IdentifierForeign key referencing Component that controls the file.FileFileNIdentifierPrimary key, non-localized token, must match identifier in cabinet. For uncompressed files, this field is ignored.FileFileNameNTextFile name used for installation. This may contain a "short name|long name" pair. It may be just a long name, hence it cannot be of the Filename data type.FileFileSizeN02147483647Size of file in bytes (long integer).FileISAttributesY02147483647This field contains the following attributes: UseSystemSettings(0x1)FileISBuildSourcePathYTextFull path, the category is of Text instead of Path because of potential use of path variables.FileISComponentSubFolder_YIdentifierForeign key referencing component subfolder containing this file. Only for Pro.FileLanguageYLanguageList of decimal language Ids, comma-separated if more than one.FileSequenceN132767Sequence with respect to the media images; order must track cabinet order.FileVersionYFile1VersionVersion string for versioned files; Blank for unversioned files.FileSFPCatalogFile_NFile1IdentifierFile associated with the catalogFileSFPCatalogSFPCatalog_NSFPCatalog1TextCatalog associated with the fileFontFile_NFile1IdentifierPrimary key, foreign key into File table referencing font file.FontFontTitleYTextFont name.ISAssistantTagDataY + ISAssistantTagTagN + ISBillBoardColorY + ISBillBoardDisplayNameY + ISBillBoardDurationN032767 + ISBillBoardEffectN032767 + ISBillBoardFontY + ISBillBoardISBillboardN + ISBillBoardOriginN032767 + ISBillBoardSequenceN-3276732767 + ISBillBoardStyleY + ISBillBoardTargetN032767 + ISBillBoardTitleY + ISBillBoardXN032767 + ISBillBoardYN032767 + ISChainPackageDisplayNameYTextDisplay name for the chained package. Used only in the IDE.ISChainPackageISReleaseFlagsY + ISChainPackageInstallConditionYCondition + ISChainPackageInstallPropertiesYFormatted + ISChainPackageOptionsNInteger + ISChainPackageOrderNInteger + ISChainPackagePackageNIdentifier + ISChainPackageProductCodeY + ISChainPackageRemoveConditionYCondition + ISChainPackageRemovePropertiesYFormatted + ISChainPackageSourcePathY + ISChainPackageDataDataYBinaryBinary stream. The binary icon data in PE (.DLL or .EXE) or icon (.ICO) format.ISChainPackageDataFileNIdentifier + ISChainPackageDataFilePathNFormatted + ISChainPackageDataISBuildSourcePathYTextFull path to the ICO or EXE file.ISChainPackageDataOptionsY + ISChainPackageDataPackage_NISChainPackage1Identifier + ISClrWrapAction_NCustomAction1IdentifierForeign key into CustomAction tableISClrWrapNameNTextProperty associated with this ActionISClrWrapValueYTextValue associated with this PropertyISComCatalogAttributeISComCatalogObject_NISComCatalogObject1IdentifierForeign key into the ISComCatalogObject table.ISComCatalogAttributeItemNameNTextThe named attribute for a catalog object.ISComCatalogAttributeItemValueYTextA value associated with the attribute defined in the ItemName column.ISComCatalogCollectionCollectionNameNTextA catalog collection name.ISComCatalogCollectionISComCatalogCollectionNIdentifierA unique key for the ISComCatalogCollection table.ISComCatalogCollectionISComCatalogObject_NISComCatalogObject1IdentifierForeign key into the ISComCatalogObject table.ISComCatalogCollectionObjectsISComCatalogCollection_NISComCatalogCollection1IdentifierA unique key for the ISComCatalogCollection table.ISComCatalogCollectionObjectsISComCatalogObject_NISComCatalogObject1IdentifierForeign key into the ISComCatalogObject table.ISComCatalogObjectDisplayNameNThe display name of a catalog object.ISComCatalogObjectISComCatalogObjectNIdentifierA unique key for the ISComCatalogObject table.ISComPlusApplicationComponent_NComponent1IdentifierForeign key into the Component table that a COM+ application belongs to.ISComPlusApplicationComputerNameYTextComputer name that a COM+ application belongs to.ISComPlusApplicationDepFilesYTextList of the dependent files.ISComPlusApplicationISAttributesYInstallShield custom attributes associated with a COM+ application.ISComPlusApplicationISComCatalogObject_NISComCatalogObject1IdentifierForeign key into the ISComCatalogObject table.ISComPlusApplicationDLLAlterDLLYTextAlternate filename of the COM+ application component. Will be used for a .NET serviced component.ISComPlusApplicationDLLCLSIDNTextCLSID of the COM+ application component.ISComPlusApplicationDLLDLLYTextFilename of the COM+ application component.ISComPlusApplicationDLLISComCatalogObject_NISComCatalogObject1IdentifierForeign key into the ISComCatalogObject table.ISComPlusApplicationDLLISComPlusApplicationDLLNIdentifierA unique key for the ISComPlusApplicationDLL table.ISComPlusApplicationDLLISComPlusApplication_NISComPlusApplication1IdentifierForeign key into the ISComPlusApplication table.ISComPlusApplicationDLLProgIdYTextProgId of the COM+ application component.ISComPlusProxyComponent_YComponent1IdentifierForeign key into the Component table that a COM+ application proxy belongs to.ISComPlusProxyDepFilesYTextList of the dependent files.ISComPlusProxyISAttributesYInstallShield custom attributes associated with a COM+ application proxy.ISComPlusProxyISComPlusApplication_NISComPlusApplication1IdentifierForeign key into the ISComPlusApplication table that a COM+ application proxy belongs to.ISComPlusProxyISComPlusProxyNIdentifierA unique key for the ISComPlusProxy table.ISComPlusProxyDepFileFile_NFile1IdentifierForeign key into the File table.ISComPlusProxyDepFileISComPlusApplication_NISComPlusApplication1IdentifierForeign key into the ISComPlusApplication table.ISComPlusProxyDepFileISPathYTextFull path of the dependent file.ISComPlusProxyFileFile_NFile1IdentifierForeign key into the File table.ISComPlusProxyFileISComPlusApplicationDLL_NISComPlusApplicationDLL1IdentifierForeign key into the ISComPlusApplicationDLL table.ISComPlusServerDepFileFile_NFile1IdentifierForeign key into the File table.ISComPlusServerDepFileISComPlusApplication_NISComPlusApplication1IdentifierForeign key into the ISComPlusApplication table.ISComPlusServerDepFileISPathYTextFull path of the dependent file.ISComPlusServerFileFile_NFile1IdentifierForeign key into the File table.ISComPlusServerFileISComPlusApplicationDLL_NISComPlusApplicationDLL1IdentifierForeign key into the ISComPlusApplicationDLL table.ISComponentExtendedComponent_NComponent1IdentifierPrimary key used to identify a particular component record.ISComponentExtendedFTPLocationYTextFTP LocationISComponentExtendedFilterPropertyNIdentifierProperty to set if you want to filter a componentISComponentExtendedHTTPLocationYTextHTTP LocationISComponentExtendedLanguageYTextLanguageISComponentExtendedMiscellaneousYTextMiscellaneousISComponentExtendedOSYbitwise addition of OSsISComponentExtendedPlatformsYbitwise addition of Platforms.ISCustomActionReferenceAction_NCustomAction1IdentifierForeign key into theICustomAction table.ISCustomActionReferenceDescriptionYTextContents of the file speciifed in ISCAReferenceFilePath. This column is only used by MSI.ISCustomActionReferenceFileTypeYTextfile type of the file specified ISCAReferenceFilePath. This column is only used by MSI.ISCustomActionReferenceISCAReferenceFilePathYTextFull path, the category is of Text instead of Path because of potential use of path variables. This column only exists in ISM.ISDIMDependencyISDIMReference_NIdentifierThis is the primary key to the ISDIMDependency tableISDIMDependencyRequiredBuildVersionYTextthe build version identifying the required DIMISDIMDependencyRequiredMajorVersionYTextthe major version identifying the required DIMISDIMDependencyRequiredMinorVersionYTextthe minor version identifying the required DIMISDIMDependencyRequiredRevisionVersionYTextthe revision version identifying the required DIMISDIMDependencyRequiredUUIDNTextthe UUID identifying the required DIMISDIMReferenceISBuildSourcePathYTextFull path, the category is of Text instead of Path because of potential use of path variables.ISDIMReferenceISDIMReferenceNISDIMDependency1IdentifierThis is the primary key to the ISDIMReference tableISDIMReferenceDependenciesISDIMDependency_NISDIMDependency1IdentifierForeign key into ISDIMDependency table.ISDIMReferenceDependenciesISDIMReference_ParentNISDIMReference1IdentifierForeign key into ISDIMReference table.ISDIMVariableISDIMReference_NISDIMReference1IdentifierForeign key into ISDIMReference table.ISDIMVariableISDIMVariableNIdentifierThis is the primary key to the ISDIMVariable tableISDIMVariableNameNTextName of a variable defined in the .dim fileISDIMVariableNewValueYTextNew value that you want to override withISDIMVariableTypeYType of the variable. 0: Build Variable, 1: Runtime VariableISDLLWrapperEntryPointNTextThis is a foreign key to the target column in the CustomAction tableISDLLWrapperSourceNFormattedThis is column points to the source file for the DLLWrapper Custom ActionISDLLWrapperTargetNTextThe function signatureISDLLWrapperTypeYTypeISDRMFileFile_YFile1IdentifierForeign key into File table. A null value will cause a build warning.ISDRMFileISDRMFileNIdentifierUnique identifier for this item.ISDRMFileISDRMLicense_YISDRMLicense1IdentifierForeign key referencing License that packages this file.ISDRMFileShellNTextText indicating the activation shell used at runtime.ISDRMFileAttributeISDRMFile_NISDRMFile1IdentifierPrimary foreign key into ISDRMFile table.ISDRMFileAttributePropertyNTextThe name of the attributeISDRMFileAttributeValueYTextThe value of the attributeISDRMLicenseAttributesYNumberBitwise field used to specify binary attributes of this license.ISDRMLicenseDescriptionYTextAn internal description of this license.ISDRMLicenseISDRMLicenseNIdentifierUnique key identifying the license record.ISDRMLicenseLicenseNumberYTextThe license number.ISDRMLicenseProjectVersionYTextThe version of the project that this license is tied to.ISDRMLicenseRequestCodeYTextThe request code.ISDRMLicenseResponseCodeYTextThe response code.ISDependencyExcludeY + ISDependencyISDependencyY + ISDisk1FileDiskY-1;0;1Used to differentiate between disk1(1), last disk(-1), and other(0).ISDisk1FileISBuildSourcePathNTextFull path of file to be copied to Disk1 folderISDisk1FileISDisk1FileNIdentifierPrimary key for ISDisk1File tableISDynamicFileComponent_NComponent1IdentifierForeign key referencing Component that controls the file.ISDynamicFileExcludeFilesYTextWildcards for excluded files.ISDynamicFileISAttributesY0;1;2;3;4;5;6;7;8;9;10;11;12;13;14;15This is used to store Installshield custom properties of a dynamic filet. Currently the only one is SelfRegister.ISDynamicFileIncludeFilesYTextWildcards for included files.ISDynamicFileIncludeFlagsYInclude flags.ISDynamicFileSourceFolderNTextFull path, the category is of Text instead of Path because of potential use of path variables.ISFeatureDIMReferencesFeature_NFeature1IdentifierForeign key into Feature table.ISFeatureDIMReferencesISDIMReference_NISDIMReference1IdentifierForeign key into ISDIMReference table.ISFeatureMergeModuleExcludesFeature_NIdentifierForeign key into Feature table.ISFeatureMergeModuleExcludesLanguageNForeign key into ISMergeModule table.ISFeatureMergeModuleExcludesModuleIDNIdentifierForeign key into ISMergeModule table.ISFeatureMergeModulesFeature_NFeature1IdentifierForeign key into Feature table.ISFeatureMergeModulesISMergeModule_NISMergeModule1TextForeign key into ISMergeModule table.ISFeatureMergeModulesLanguage_NISMergeModule2Foreign key into ISMergeModule table.ISFeatureSetupPrerequisitesFeature_NFeature1IdentifierForeign key into Feature table.ISFeatureSetupPrerequisitesISSetupPrerequisites_NISSetupPrerequisites1 + ISFileManifestsFile_NIdentifierForeign key into File table.ISFileManifestsManifest_NIdentifierForeign key into File table.ISIISItemComponent_YComponent1IdentifierForeign key to Component table.ISIISItemDisplayNameYTextLocalizable Item Name.ISIISItemISIISItemNIdentifierPrimary key for each item.ISIISItemISIISItem_ParentYISIISItem1IdentifierThis record's parent record.ISIISItemTypeNIIS resource type.ISIISPropertyFriendlyNameYTextIIS property name.ISIISPropertyISAttributesYFlags.ISIISPropertyISIISItem_NISIISItem1IdentifierPrimary key for table, foreign key into ISIISItem.ISIISPropertyISIISPropertyNIdentifierPrimary key for table.ISIISPropertyMetaDataAttributesYIIS property attributes.ISIISPropertyMetaDataPropYIIS property ID.ISIISPropertyMetaDataTypeYIIS property data type.ISIISPropertyMetaDataUserTypeYIIS property user data type.ISIISPropertyMetaDataValueYTextIIS property value.ISIISPropertyOrderYOrder sequencing.ISIISPropertySchemaYTextIIS7 schema information.ISInstallScriptActionEntryPointNTextThis is a foreign key to the target column in the CustomAction tableISInstallScriptActionSourceNFormattedThis is column points to the source file for the DLLWrapper Custom ActionISInstallScriptActionTargetYTextThe function signatureISInstallScriptActionTypeYTypeISLanguageISLanguageNTextThis is the language ID.ISLanguageIncludedY0;1Specify whether this language should be included.ISLinkerLibraryISLinkerLibraryNIdentifierUnique identifier for the link library.ISLinkerLibraryLibraryNTextFull path of the object library (.obl file).ISLinkerLibraryOrderNOrder of the LibraryISLocalControlAttributesYA 32-bit word that specifies the attribute flags to be applied to this control.ISLocalControlBinary_YBinary1IdentifierExternal key to the Binary table.ISLocalControlControl_NControl2IdentifierName of the control. This name must be unique within a dialog, but can repeat on different dialogs.ISLocalControlDialog_NDialog1IdentifierExternal key to the Dialog table, name of the dialog.ISLocalControlHeightYHeight of the bounding rectangle of the control.ISLocalControlISBuildSourcePathYTextFull path to .rtf file for scrollable text controlISLocalControlISLanguage_NISLanguage1TextThis is a foreign key to the ISLanguage table.ISLocalControlWidthYWidth of the bounding rectangle of the control.ISLocalControlXYHorizontal coordinate of the upper left corner of the bounding rectangle of the control.ISLocalControlYYVertical coordinate of the upper left corner of the bounding rectangle of the control.ISLocalDialogAttributesYA 32-bit word that specifies the attribute flags to be applied to this dialog.ISLocalDialogDialog_YDialog1IdentifierName of the dialog.ISLocalDialogHeightN032767Height of the bounding rectangle of the dialog.ISLocalDialogISLanguage_YISLanguage1TextThis is a foreign key to the ISLanguage table.ISLocalDialogTextStyle_YIdentifierForeign Key into TextStyle table, only used in Script Based Projects.ISLocalDialogWidthN032767Width of the bounding rectangle of the dialog.ISLocalRadioButtonHeightN032767The height of the button.ISLocalRadioButtonISLanguage_NISLanguage1TextThis is a foreign key to the ISLanguage table.ISLocalRadioButtonOrderN132767RadioButton2A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive.ISLocalRadioButtonPropertyNRadioButton1IdentifierA named property to be tied to this radio button. All the buttons tied to the same property become part of the same group.ISLocalRadioButtonWidthN032767The width of the button.ISLocalRadioButtonXN032767The horizontal coordinate of the upper left corner of the bounding rectangle of the radio button.ISLocalRadioButtonYN032767The vertical coordinate of the upper left corner of the bounding rectangle of the radio button.ISLockPermissionsAttributesY-21474836472147483647Permissions attributes mask, 1==Deny access; 2==No inherit, 4==Ignore apply failures, 8==Target object is 64-bitISLockPermissionsDomainYTextDomain name for user whose permissions are being set.ISLockPermissionsLockObjectNIdentifierForeign key into CreateFolder, Registry, or File tableISLockPermissionsPermissionY-21474836472147483647Permission Access mask.ISLockPermissionsTableNIdentifierCreateFolder;File;RegistryReference to another table nameISLockPermissionsUserNTextUser for permissions to be set. This can be a property, hardcoded named, or SID stringISLogicalDiskCabinetYCabinetIf some or all of the files stored on the media are compressed in a cabinet, the name of that cabinet.ISLogicalDiskDiskIdN132767Primary key, integer to determine sort order for table.ISLogicalDiskDiskPromptYTextDisk name: the visible text actually printed on the disk. This will be used to prompt the user when this disk needs to be inserted.ISLogicalDiskISProductConfiguration_NISProductConfiguration1TextForeign key into the ISProductConfiguration table.ISLogicalDiskISRelease_NISRelease1TextForeign key into the ISRelease table.ISLogicalDiskLastSequenceN032767File sequence number for the last file for this media.ISLogicalDiskSourceYPropertyThe property defining the location of the cabinet file.ISLogicalDiskVolumeLabelYTextThe label attributed to the volume.ISLogicalDiskFeaturesFeature_YFeature1IdentifierRequired foreign key into the Feature Table,ISLogicalDiskFeaturesISAttributesYThis is used to store Installshield custom properties, like Compressed, etc.ISLogicalDiskFeaturesISLogicalDisk_N132767ISLogicalDisk1IdentifierForeign key into the ISLogicalDisk table.ISLogicalDiskFeaturesISProductConfiguration_NISProductConfiguration1TextForeign key into the ISProductConfiguration table.ISLogicalDiskFeaturesISRelease_NISRelease1TextForeign key into the ISRelease table.ISLogicalDiskFeaturesSequenceN032767File sequence number for the file for this media.ISMergeModuleDestinationYTextDestination.ISMergeModuleISAttributesYThis is used to store Installshield custom properties of a merge module.ISMergeModuleISMergeModuleNTextThe GUID identifying the merge module.ISMergeModuleLanguageNDefault decimal language of module.ISMergeModuleNameNTextName of the merge module.ISMergeModuleCfgValuesAttributesYAttributes (from configurable merge module)ISMergeModuleCfgValuesContextDataYTextContextData (from configurable merge module)ISMergeModuleCfgValuesDefaultValueYTextDefaultValue (from configurable merge module)ISMergeModuleCfgValuesDescriptionYTextDescription (from configurable merge module)ISMergeModuleCfgValuesDisplayNameYTextDisplayName (from configurable merge module)ISMergeModuleCfgValuesFormatNFormat (from configurable merge module)ISMergeModuleCfgValuesHelpKeywordYTextHelpKeyword (from configurable merge module)ISMergeModuleCfgValuesHelpLocationYTextHelpLocation (from configurable merge module)ISMergeModuleCfgValuesISMergeModule_NISMergeModule1TextThe module signature, a foreign key into the ISMergeModule tableISMergeModuleCfgValuesLanguage_NISMergeModule2Default decimal language of module.ISMergeModuleCfgValuesModuleConfiguration_NIdentifierIdentifier, foreign key into ModuleConfiguration table (ModuleConfiguration.Name)ISMergeModuleCfgValuesTypeYTextType (from configurable merge module)ISMergeModuleCfgValuesValueYTextValue for this item.ISObjectLanguageNText + ISObjectObjectNameNText + ISObjectPropertyIncludeInBuildYBoolean, 0 for false non 0 for trueISObjectPropertyObjectNameYISObject1Text + ISObjectPropertyPropertyYText + ISObjectPropertyValueYText + ISPatchConfigImagePatchConfiguration_YISPatchConfiguration1TextForeign key to the ISPatchConfigurationTableISPatchConfigImageUpgradedImage_NISUpgradedImage1TextForeign key to the ISUpgradedImageTableISPatchConfigurationAttributesYPatchConfiguration attributesISPatchConfigurationCanPCDifferNThis is determine whether Product Codes may differISPatchConfigurationCanPVDifferNThis is determine whether the Major Product Version may differISPatchConfigurationEnablePatchCacheNThis is determine whether to Enable Patch cacheingISPatchConfigurationFlagsNPatching API FlagsISPatchConfigurationIncludeWholeFilesNThis is determine whether to build a binary level patchISPatchConfigurationLeaveDecompressedNThis is determine whether to leave intermediate files devcompressed when finishedISPatchConfigurationMinMsiVersionNMinimum Required MSI VersionISPatchConfigurationNameNTextName of the Patch ConfigurationISPatchConfigurationOptimizeForSizeNThis is determine whether to Optimize for large filesISPatchConfigurationOutputPathNTextBuild LocationISPatchConfigurationPatchCacheDirYTextDirectory to recieve the Patch Cache informationISPatchConfigurationPatchGuidNTextUnique Patch IdentifierISPatchConfigurationPatchGuidsToReplaceYTextList Of Patch Guids to unregisterISPatchConfigurationTargetProductCodesNTextList Of target Product CodesISPatchConfigurationPropertyISPatchConfiguration_YISPatchConfiguration1TextName of the Patch ConfigurationISPatchConfigurationPropertyPropertyYTextName of the Patch Configuration Property valueISPatchConfigurationPropertyValueYTextValue of the Patch Configuration PropertyISPatchExternalFileFileKeyNTextFilekeyISPatchExternalFileFilePathNTextFilepathISPatchExternalFileISUpgradedImage_NISUpgradedImage1TextForeign key to the isupgraded image tableISPatchExternalFileNameNTextUniqu name to identify this record.ISPatchWholeFileComponentYTextComponent containing file keyISPatchWholeFileFileKeyNTextKey of file to be included as wholeISPatchWholeFileUpgradedImageNISUpgradedImage1TextForeign key to ISUpgradedImage TableISPathVariableISPathVariableNThe name of the path variable.ISPathVariableTestValueYTextThe test value of the path variable.ISPathVariableTypeN1;2;4;8The type of the path variable.ISPathVariableValueYTextThe value of the path variable.ISPowerShellWrapAction_NCustomAction1IdentifierForeign key into CustomAction tableISPowerShellWrapNameNTextProperty associated with this ActionISPowerShellWrapValueYTextValue associated with this PropertyISProductConfigurationGeneratePackageCodeYNumber0;1Indicates whether or not to generate a package code.ISProductConfigurationISProductConfigurationNTextThe name of the product configuration.ISProductConfigurationProductConfigurationFlagsYTextProduct configuration (release) flags.ISProductConfigurationInstanceISProductConfiguration_NISProductConfiguration1TextForeign key into the ISProductConfiguration table.ISProductConfigurationInstanceInstanceIdN032767Identifies the instance number of this instance. This value is stored in the Property InstanceId.ISProductConfigurationInstancePropertyNTextProduct Congiuration property nameISProductConfigurationInstanceValueNTextString value for property.ISProductConfigurationPropertyISProductConfiguration_NISProductConfiguration1TextForeign key into the ISProductConfiguration table.ISProductConfigurationPropertyPropertyNProperty1TextProduct Congiuration property nameISProductConfigurationPropertyValueYTextString value for property. Never null or empty.ISReleaseAttributesNBitfield holding boolean values for various release attributes.ISReleaseBuildLocationNTextBuild location.ISReleaseCDBrowserYTextDemoshield browser location.ISReleaseDefaultLanguageNTextDefault language for setup.ISReleaseDigitalPVKYTextDigital signing private key (.pvk) file.ISReleaseDigitalSPCYTextDigital signing Software Publisher Certificate (.spc) file.ISReleaseDigitalURLYTextDigital signing URL.ISReleaseDiskClusterSizeNDisk cluster size.ISReleaseDiskSizeNTextDisk size.ISReleaseDiskSizeUnitN0;1;2Disk size units (KB or MB).ISReleaseDiskSpanningN0;1;2Disk spanning (automatic, enforce size, etc.).ISReleaseDotNetBuildConfigurationYTextBuild Configuration for .NET solutions.ISReleaseISProductConfiguration_NISProductConfiguration1TextForeign key into the ISProductConfiguration table.ISReleaseISReleaseNTextThe name of the release.ISReleaseISSetupPrerequisiteLocationY0;1;2;3Location the Setup Prerequisites will be placed inISReleaseMediaLocationNTextMedia location on disk.ISReleaseMsiCommandLineYTextCommand line passed to the msi package from setup.exeISReleaseMsiSourceTypeN-14MSI media source type.ISReleasePackageNameNTextPackage name.ISReleasePasswordYTextPassword.ISReleasePlatformsNTextPlatforms supported (Intel, Alpha, etc.).ISReleaseReleaseFlagsYTextRelease flags.ISReleaseReleaseTypeN1;2;4Release type (single, uncompressed, etc.).ISReleaseSupportedLanguagesDataYTextLanguages supported (for component filtering).ISReleaseSupportedLanguagesUINTextUI languages supported.ISReleaseSupportedOSsNIndicate which operating systmes are supported.ISReleaseSynchMsiYTextMSI file to synchronize file keys and other data with (patch-like functionality).ISReleaseTypeN06Release type (CDROM, Network, etc.).ISReleaseURLLocationYTextMedia location via URL.ISReleaseVersionCopyrightYTextVersion stamp information.ISReleaseASPublishInfoISProductConfiguration_NISProductConfiguration1TextForeign key into the ISProductConfiguration table.ISReleaseASPublishInfoISRelease_NISRelease1TextForeign key into the ISRelease table.ISReleaseASPublishInfoPropertyYTextAS Repository property nameISReleaseASPublishInfoValueYTextAS Repository property valueISReleaseExtendedAttributesYBitfield holding boolean values for various release attributes.ISReleaseExtendedCertPasswordYTextDigital certificate passwordISReleaseExtendedDigitalCertificateDBaseNSYTextPath to cerificate database for Netscape digital signatureISReleaseExtendedDigitalCertificateIdNSYTextPath to cerificate ID for Netscape digital signatureISReleaseExtendedDigitalCertificatePasswordNSYTextPassword for Netscape digital signatureISReleaseExtendedDotNetBaseLanguageYTextBase Languge of .NET RedistISReleaseExtendedDotNetFxCmdLineYTextCommand Line to pass to DotNetFx.exeISReleaseExtendedDotNetLangPackCmdLineYTextCommand Line to pass to LangPack.exeISReleaseExtendedDotNetLangaugePacksYText.NET Redist language packs to includeISReleaseExtendedDotNetRedistLocationY03Location of .NET framework Redist (Web, SetupExe, Source, None)ISReleaseExtendedDotNetRedistURLYTextURL to .NET framework RedistISReleaseExtendedDotNetVersionY02Version of .NET framework Redist (1.0, 1.1)ISReleaseExtendedEngineLocationY02Location of msi engine (Web, SetupExe...)ISReleaseExtendedISEngineLocationY02Location of ISScript engine (Web, SetupExe...)ISReleaseExtendedISEngineURLYTextURL to InstallShield scripting engineISReleaseExtendedISProductConfiguration_NTextForeign key into the ISProductConfiguration table.ISReleaseExtendedISRelease_NTextThe name of the release.ISReleaseExtendedJSharpCmdLineYTextCommand Line to pass to vjredist.exeISReleaseExtendedJSharpRedistLocationY03Location of J# framework Redist (Web, SetupExe, Source, None)ISReleaseExtendedMsiEngineVersionYBitfield holding selected MSI engine versions included in this releaseISReleaseExtendedOneClickCabNameYTextFile name of generated cabfileISReleaseExtendedOneClickHtmlNameYTextFile name of generated html pageISReleaseExtendedOneClickTargetBrowserY02Target browser (IE, Netscape, both...)ISReleaseExtendedWebCabSizeY02147483647Size of the cabfileISReleaseExtendedWebLocalCachePathYTextDirectory to cache downloaded packageISReleaseExtendedWebTypeY02Type of web install (One Executable, Downloader...)ISReleaseExtendedWebURLYTextURL to .msi packageISReleaseExtendedWin9xMsiUrlYTextURL to Ansi MSI engineISReleaseExtendedWinMsi30UrlYTextURL to MSI 3.0 engineISReleaseExtendedWinNTMsiUrlYTextURL to Unicode MSI engineISReleasePropertyISProductConfiguration_NTextForeign key into ISProductConfiguration table.ISReleasePropertyISRelease_NTextForeign key into ISRelease table.ISReleasePropertyNameNProperty nameISReleasePropertyValueNProperty valueISReleasePublishInfoDescriptionYTextRepository item descriptionISReleasePublishInfoDisplayNameYTextRepository item display nameISReleasePublishInfoISAttributesYBitfield holding various attributesISReleasePublishInfoISProductConfiguration_NISProductConfiguration1TextForeign key into the ISProductConfiguration table.ISReleasePublishInfoISRelease_NISRelease1TextThe name of the release.ISReleasePublishInfoPublisherYTextRepository item publisherISReleasePublishInfoRepositoryYTextRepository which to publish the built merge moduleISSQLConnectionAttributesN + ISSQLConnectionAuthenticationN + ISSQLConnectionBatchSeparatorY + ISSQLConnectionCmdTimeoutY + ISSQLConnectionCommentsY + ISSQLConnectionDatabaseN + ISSQLConnectionISSQLConnectionNIdentifierPrimary key used to identify a particular ISSQLConnection record.ISSQLConnectionOrderN + ISSQLConnectionPasswordN + ISSQLConnectionScriptVersion_ColumnY + ISSQLConnectionScriptVersion_TableY + ISSQLConnectionServerN + ISSQLConnectionUserNameN + ISSQLConnectionDBServerISSQLConnectionDBServerNIdentifierPrimary key used to identify a particular ISSQLConnectionDBServer record.ISSQLConnectionDBServerISSQLConnection_NISSQLConnection1IdentifierForeign key into ISSQLConnection table.ISSQLConnectionDBServerISSQLDBMetaData_NISSQLDBMetaData1IdentifierForeign key into ISSQLDBMetaData table.ISSQLConnectionDBServerOrderN + ISSQLConnectionScriptISSQLConnection_NISSQLConnection1IdentifierForeign key into ISSQLConnection table.ISSQLConnectionScriptISSQLScriptFile_NISSQLScriptFile1IdentifierForeign key into ISSQLScriptFile table.ISSQLConnectionScriptOrderN + ISSQLDBMetaDataAdoCxnAdditionalY + ISSQLDBMetaDataAdoCxnDatabaseY + ISSQLDBMetaDataAdoCxnDriverY + ISSQLDBMetaDataAdoCxnNetLibraryY + ISSQLDBMetaDataAdoCxnPasswordY + ISSQLDBMetaDataAdoCxnPortY + ISSQLDBMetaDataAdoCxnServerY + ISSQLDBMetaDataAdoCxnUserIDY + ISSQLDBMetaDataAdoCxnWindowsSecurityY + ISSQLDBMetaDataAdoDriverNameY + ISSQLDBMetaDataCreateDbCmdY + ISSQLDBMetaDataCreateTableCmdY + ISSQLDBMetaDataDisplayNameY + ISSQLDBMetaDataDsnODBCNameY + ISSQLDBMetaDataISAttributesY + ISSQLDBMetaDataISSQLDBMetaDataNIdentifierPrimary key used to identify a particular ISSQLDBMetaData record.ISSQLDBMetaDataInsertRecordCmdY + ISSQLDBMetaDataLocalInstanceNamesY + ISSQLDBMetaDataQueryDatabasesCmdY + ISSQLDBMetaDataScriptVersion_ColumnY + ISSQLDBMetaDataScriptVersion_ColumnTypeY + ISSQLDBMetaDataScriptVersion_TableY + ISSQLDBMetaDataSelectTableCmdY + ISSQLDBMetaDataSwitchDbCmdY + ISSQLDBMetaDataTestDatabaseCmdY + ISSQLDBMetaDataTestTableCmdY + ISSQLDBMetaDataTestTableCmd2Y + ISSQLDBMetaDataVersionBeginTokenY + ISSQLDBMetaDataVersionEndTokenY + ISSQLDBMetaDataVersionInfoCmdY + ISSQLDBMetaDataWinAuthentUserIdY + ISSQLRequirementAttributesN + ISSQLRequirementISSQLConnectionDBServer_YISSQLConnectionDBServer1IdentifierForeign key into ISSQLConnectionDBServer table.ISSQLRequirementISSQLConnection_NISSQLConnection1IdentifierForeign key into ISSQLConnection table.ISSQLRequirementISSQLRequirementNIdentifierPrimary key used to identify a particular ISSQLRequirement record.ISSQLRequirementMajorVersionY + ISSQLRequirementServicePackLevelY + ISSQLScriptErrorAttributesN + ISSQLScriptErrorErrHandlingN + ISSQLScriptErrorErrNumberN + ISSQLScriptErrorISSQLScriptFile_YISSQLScriptFile1IdentifierForeign key into ISSQLScriptFile tableISSQLScriptErrorMessageYTextCustom end-user message. Reserved for future use.ISSQLScriptFileAttributesN + ISSQLScriptFileCommentsYTextCommentsISSQLScriptFileComponent_NComponent1IdentifierForeign key referencing Component that controls the SQL script.ISSQLScriptFileConditionYConditionA conditional statement that will disable this script if the specified condition evaluates to the 'False' state. If a script is disabled, it will not be installed regardless of the 'Action' state associated with the component.ISSQLScriptFileDisplayNameYTextDisplay name for the SQL script file.ISSQLScriptFileErrorHandlingN + ISSQLScriptFileISBuildSourcePathYTextFull path, the category is of Text instead of Path because of potential use of path variables.ISSQLScriptFileISSQLScriptFileNIdentifierThis is the primary key to the ISSQLScriptFile tableISSQLScriptFileInstallTextYTextFeedback end-user text at installISSQLScriptFileSchedulingN + ISSQLScriptFileUninstallTextYTextFeedback end-user text at UninstallISSQLScriptFileVersionYTextSchema Version (#####.#####.#####.#####)ISSQLScriptImportAttributesN + ISSQLScriptImportAuthenticationN + ISSQLScriptImportDatabaseY + ISSQLScriptImportExcludeTablesY + ISSQLScriptImportISSQLScriptFile_NISSQLScriptFile1IdentifierForeign key into ISSQLScriptFile table.ISSQLScriptImportIncludeTablesY + ISSQLScriptImportPasswordY + ISSQLScriptImportServerY + ISSQLScriptImportUserNameY + ISSQLScriptReplaceAttributesN + ISSQLScriptReplaceISSQLScriptFile_NISSQLScriptFile1IdentifierForeign key into ISSQLScriptFile table.ISSQLScriptReplaceISSQLScriptReplaceNIdentifierPrimary key used to identify a particular ISSQLScriptReplace record.ISSQLScriptReplaceReplaceY + ISSQLScriptReplaceSearchY + ISScriptFileISScriptFileNTextThis is the full path of the script file. The path portion may be expressed in path variable form.ISSelfRegCmdLineY + ISSelfRegCostY + ISSelfRegFileKeyNFile1IdentifierForeign key to the file tableISSelfRegOrderY + ISSetupFileFileNameYTextThis is the file name to use when streaming the file to the support files locationISSetupFileISSetupFileNIdentifierThis is the primary key to the ISSetupFile tableISSetupFileLanguageYTextFour digit language identifier. 0 for Language NeutralISSetupFilePathYTextLink to the source file on the build machineISSetupFileSplashYShortBoolean value indication whether his setup file entry belongs in the Splasc Screen sectionISSetupFileStreamYBinaryBinary stream. The bits to stream to the support locationISSetupPrerequisitesISBuildSourcePathY + ISSetupPrerequisitesISReleaseFlagsYRelease Flags that specify whether this prereq will be included in a particular release.ISSetupPrerequisitesISSetupLocationY0;1;2 + ISSetupPrerequisitesISSetupPrerequisitesN + ISSetupPrerequisitesOrderY + ISSetupTypeCommentsYTextUser Comments.ISSetupTypeDescriptionYTextLonger descriptive text describing a visible feature item.ISSetupTypeDisplayN032767Numeric sort order, used to force a specific display ordering.ISSetupTypeDisplay_NameYFormattedA string used to set the initial text contained within a control (if appropriate).ISSetupTypeISSetupTypeNIdentifierPrimary key used to identify a particular feature record.ISSetupTypeFeaturesFeature_NFeature1IdentifierForeign key into Feature table.ISSetupTypeFeaturesISSetupType_NISSetupType1IdentifierForeign key into ISSetupType table.ISStoragesISBuildSourcePathYPath to the file to stream into sub-storageISStoragesNameNName of the sub-storage keyISStringCommentYTextCommentISStringEncodedYEncoding for multi-byte strings.ISStringISLanguage_NTextThis is a foreign key to the ISLanguage table.ISStringISStringNTextString id.ISStringTimeStampYTime/DateTime Stamp. MSI's Time/Date column type is just an int, with bits packed in a certain order.ISStringValueYTextreal string value.ISSwidtagPropertyNameNIdentifierProperty nameISSwidtagPropertyValueNTextProperty valueISTargetImageFlagsYrelative order of the target imageISTargetImageIgnoreMissingFilesNIf true, ignore missing source files when creating patchISTargetImageMsiPathNTextPath to the target imageISTargetImageNameNIdentifierName of the TargetImageISTargetImageOrderNrelative order of the target imageISTargetImageUpgradedImage_NISUpgradedImage1Textforeign key to the upgraded Image tableISUpgradeMsiItemISAttributesN0;1 + ISUpgradeMsiItemISReleaseFlagsY + ISUpgradeMsiItemObjectSetupPathNTextThe path to the setup you want to upgrade.ISUpgradeMsiItemUpgradeItemNTextThe name of the Upgrade Item.ISUpgradedImageFamilyNTextName of the image familyISUpgradedImageMsiPathNTextPath to the upgraded imageISUpgradedImageNameNIdentifierName of the UpgradedImageISVirtualDirectoryDirectory_NDirectory1IdentifierForeign key into Directory table.ISVirtualDirectoryNameNIdentifierProperty nameISVirtualDirectoryValueNProperty valueISVirtualFileFile_NFile1IdentifierForeign key into File table.ISVirtualFileNameNIdentifierProperty nameISVirtualFileValueNProperty valueISVirtualPackageNameNIdentifierProperty nameISVirtualPackageValueNProperty valueISVirtualRegistryNameNIdentifierProperty nameISVirtualRegistryRegistry_NRegistry1IdentifierForeign key into Registry table.ISVirtualRegistryValueNProperty valueISVirtualReleaseISProductConfiguration_NTextForeign key into ISProductConfiguration table.ISVirtualReleaseISRelease_NTextForeign key into ISRelease table.ISVirtualReleaseNameNProperty nameISVirtualReleaseValueNProperty valueISVirtualShortcutNameNIdentifierProperty nameISVirtualShortcutShortcut_NShortcut1IdentifierForeign key into Shortcut table.ISVirtualShortcutValueNProperty valueISXmlElementContentYTextElement contentsISXmlElementISAttributesYNumberInternal XML element attributesISXmlElementISXmlElementNIdentifierPrimary key, non-localized, internal token for Xml elementISXmlElementISXmlElement_ParentYISXmlElement1IdentifierForeign key into ISXMLElement table.ISXmlElementISXmlFile_NISXmlFile1IdentifierForeign key into XmlFile table.ISXmlElementXPathYTextXPath fragment including any operatorsISXmlElementAttribISAttributesYNumberInternal XML elementattib attributesISXmlElementAttribISXmlElementAttribNIdentifierPrimary key, non-localized, internal token for Xml element attributeISXmlElementAttribISXmlElement_NISXmlElement1IdentifierForeign key into ISXMLElement table.ISXmlElementAttribNameYTextLocalized attribute nameISXmlElementAttribValueYTextLocalized attribute valueISXmlFileComponent_NComponent1IdentifierForeign key into Component table.ISXmlFileDirectoryNIdentifierForeign key into Directory table.ISXmlFileEncodingYTextXML File EncodingISXmlFileFileNameNTextLocalized XML file nameISXmlFileISAttributesYNumberInternal XML file attributesISXmlFileISXmlFileNIdentifierPrimary key, non-localized,internal token for Xml fileISXmlFileSelectionNamespacesYTextSelection namespacesISXmlLocatorAttributeYThe name of an attribute within the XML element.ISXmlLocatorElementYXPath query that will locate an element in an XML file.ISXmlLocatorISAttributesY0;1;2 + ISXmlLocatorParentYIdentifierThe parent file signature. It is also a foreign key in the Signature table.ISXmlLocatorSignature_NIdentifierThe Signature_ represents a unique file signature and is also the foreign key in the Signature, RegLocator, IniLocator, ISXmlLocator, CompLocator and the DrLocator tables.IconDataYBinaryBinary stream. The binary icon data in PE (.DLL or .EXE) or icon (.ICO) format.IconISBuildSourcePathYTextFull path to the ICO or EXE file.IconISIconIndexY-3276732767Optional icon index to be extracted.IconNameNIdentifierPrimary key. Name of the icon file.IniFileActionN0;1;3The type of modification to be made, one of iifEnumIniFileComponent_NComponent1IdentifierForeign key into the Component table referencing component that controls the installing of the .INI value.IniFileDirPropertyYIdentifierForeign key into the Directory table denoting the directory where the .INI file is.IniFileFileNameNTextThe .INI file name in which to write the informationIniFileIniFileNIdentifierPrimary key, non-localized token.IniFileKeyNFormattedThe .INI file key below Section.IniFileSectionNFormattedThe .INI file Section.IniFileValueNFormattedThe value to be written.IniLocatorFieldY032767The field in the .INI line. If Field is null or 0 the entire line is read.IniLocatorFileNameNTextThe .INI file name.IniLocatorKeyNTextKey value (followed by an equals sign in INI file).IniLocatorSectionNTextSection name within in file (within square brackets in INI file).IniLocatorSignature_NSignature1IdentifierThe table key. The Signature_ represents a unique file signature and is also the foreign key in the Signature table.IniLocatorTypeY02An integer value that determines if the .INI value read is a filename or a directory location or to be used as is w/o interpretation.InstallExecuteSequenceActionNIdentifierName of action to invoke, either in the engine or the handler DLL.InstallExecuteSequenceConditionYConditionOptional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.InstallExecuteSequenceISAttributesYThis is used to store MM Custom Action TypesInstallExecuteSequenceISCommentsYTextAuthor’s comments on this Sequence.InstallExecuteSequenceSequenceY-432767Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action.InstallShieldPropertyNIdentifierName of property, uppercase if settable by launcher or loader.InstallShieldValueYTextString value for property.InstallUISequenceActionNIdentifierName of action to invoke, either in the engine or the handler DLL.InstallUISequenceConditionYConditionOptional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.InstallUISequenceISAttributesYThis is used to store MM Custom Action TypesInstallUISequenceISCommentsYTextAuthor’s comments on this Sequence.InstallUISequenceSequenceY-432767Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action.IsolatedComponentComponent_ApplicationNComponent1IdentifierKey to Component table item for applicationIsolatedComponentComponent_SharedNComponent1IdentifierKey to Component table item to be isolatedLaunchConditionConditionNConditionExpression which must evaluate to TRUE in order for install to commence.LaunchConditionDescriptionNTextLocalizable text to display when condition fails and install must abort.ListBoxOrderN132767A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive.ListBoxPropertyNIdentifierA named property to be tied to this item. All the items tied to the same property become part of the same listbox.ListBoxTextYTextThe visible text to be assigned to the item. Optional. If this entry or the entire column is missing, the text is the same as the value.ListBoxValueNFormattedThe value string associated with this item. Selecting the line will set the associated property to this value.ListViewBinary_YBinary1IdentifierThe name of the icon to be displayed with the icon. The binary information is looked up from the Binary Table.ListViewOrderN132767A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive.ListViewPropertyNIdentifierA named property to be tied to this item. All the items tied to the same property become part of the same listview.ListViewTextYTextThe visible text to be assigned to the item. Optional. If this entry or the entire column is missing, the text is the same as the value.ListViewValueNTextThe value string associated with this item. Selecting the line will set the associated property to this value.LockPermissionsDomainYTextDomain name for user whose permissions are being set. (usually a property)LockPermissionsLockObjectNIdentifierForeign key into Registry or File tableLockPermissionsPermissionY-21474836472147483647Permission Access mask. Full Control = 268435456 (GENERIC_ALL = 0x10000000)LockPermissionsTableNIdentifierDirectory;File;RegistryReference to another table nameLockPermissionsUserNTextUser for permissions to be set. (usually a property)MIMECLSIDYClass1GuidOptional associated CLSID.MIMEContentTypeNTextPrimary key. Context identifier, typically "type/format".MIMEExtension_NExtension1TextOptional associated extension (without dot)MediaCabinetYCabinetIf some or all of the files stored on the media are compressed in a cabinet, the name of that cabinet.MediaDiskIdN132767Primary key, integer to determine sort order for table.MediaDiskPromptYTextDisk name: the visible text actually printed on the disk. This will be used to prompt the user when this disk needs to be inserted.MediaLastSequenceN032767File sequence number for the last file for this media.MediaSourceYPropertyThe property defining the location of the cabinet file.MediaVolumeLabelYTextThe label attributed to the volume.MoveFileComponent_NComponent1IdentifierIf this component is not "selected" for installation or removal, no action will be taken on the associated MoveFile entryMoveFileDestFolderNIdentifierName of a property whose value is assumed to resolve to the full path to the destination directoryMoveFileDestNameYTextName to be given to the original file after it is moved or copied. If blank, the destination file will be given the same name as the source fileMoveFileFileKeyNIdentifierPrimary key that uniquely identifies a particular MoveFile recordMoveFileOptionsN01Integer value specifying the MoveFile operating mode, one of imfoEnumMoveFileSourceFolderYIdentifierName of a property whose value is assumed to resolve to the full path to the source directoryMoveFileSourceNameYTextName of the source file(s) to be moved or copied. Can contain the '*' or '?' wildcards.MsiAssemblyAttributesYAssembly attributesMsiAssemblyComponent_NComponent1IdentifierForeign key into Component table.MsiAssemblyFeature_NFeature1IdentifierForeign key into Feature table.MsiAssemblyFile_ApplicationYFile1IdentifierForeign key into File table, denoting the application context for private assemblies. Null for global assemblies.MsiAssemblyFile_ManifestYFile1IdentifierForeign key into the File table denoting the manifest file for the assembly.MsiAssemblyNameComponent_NComponent1IdentifierForeign key into Component table.MsiAssemblyNameNameNTextThe name part of the name-value pairs for the assembly name.MsiAssemblyNameValueNTextThe value part of the name-value pairs for the assembly name.MsiDigitalCertificateCertDataNBinaryA certificate context blob for a signer certificateMsiDigitalCertificateDigitalCertificateNMsiPackageCertificate2IdentifierA unique identifier for the rowMsiDigitalSignatureDigitalCertificate_NMsiDigitalCertificate1IdentifierForeign key to MsiDigitalCertificate table identifying the signer certificateMsiDigitalSignatureHashYBinaryThe encoded hash blob from the digital signatureMsiDigitalSignatureSignObjectNTextForeign key to Media tableMsiDigitalSignatureTableNIdentifierReference to another table name (only Media table is supported)MsiDriverPackagesComponentNComponent1IdentifierPrimary key used to identify a particular component record.MsiDriverPackagesFlagsNDriver package flagsMsiDriverPackagesReferenceComponentsY + MsiDriverPackagesSequenceYInstallation sequence numberMsiEmbeddedChainerCommandLineYFormatted + MsiEmbeddedChainerConditionYCondition + MsiEmbeddedChainerMsiEmbeddedChainerNIdentifier + MsiEmbeddedChainerSourceNCustomSource + MsiEmbeddedChainerTypeYInteger2;18;50 + MsiEmbeddedUIAttributesN03IntegerInformation about the data in the Data column.MsiEmbeddedUIDataYBinaryThis column contains binary information.MsiEmbeddedUIFileNameNFilenameThe name of the file that receives the binary information in the Data column.MsiEmbeddedUIISBuildSourcePathYText + MsiEmbeddedUIMessageFilterY0234913791IntegerSpecifies the types of messages that are sent to the user interface DLL. This column is only relevant for rows with the msidbEmbeddedUI attribute.MsiEmbeddedUIMsiEmbeddedUINIdentifierThe primary key for the table.MsiFileHashFile_NFile1IdentifierPrimary key, foreign key into File table referencing file with this hashMsiFileHashHashPart1NSize of file in bytes (long integer).MsiFileHashHashPart2NSize of file in bytes (long integer).MsiFileHashHashPart3NSize of file in bytes (long integer).MsiFileHashHashPart4NSize of file in bytes (long integer).MsiFileHashOptionsN032767Various options and attributes for this hash.MsiLockPermissionsExConditionYFormattedExpression which must evaluate to TRUE in order for this set of permissions to be appliedMsiLockPermissionsExLockObjectNIdentifierForeign key into Registry, File, CreateFolder, or ServiceInstall tableMsiLockPermissionsExMsiLockPermissionsExNIdentifierPrimary key, non-localized tokenMsiLockPermissionsExSDDLTextNFormattedSDDLTextString to indicate permissions to be applied to the LockObjectMsiLockPermissionsExTableNIdentifierCreateFolder;File;Registry;ServiceInstallReference to another table nameMsiPackageCertificateDigitalCertificate_NIdentifierA foreign key to the digital certificate tableMsiPackageCertificatePackageCertificateNIdentifierA unique identifier for the rowMsiPatchCertificateDigitalCertificate_NMsiDigitalCertificate1IdentifierA foreign key to the digital certificate tableMsiPatchCertificatePatchCertificateNIdentifierA unique identifier for the rowMsiPatchMetadataCompanyYTextOptional company nameMsiPatchMetadataPatchConfiguration_NISPatchConfiguration1TextForeign key to the ISPatchConfiguration tableMsiPatchMetadataPropertyNTextName of the metadataMsiPatchMetadataValueYTextValue of the metadataMsiPatchOldAssemblyFileAssembly_YMsiPatchOldAssemblyName1 + MsiPatchOldAssemblyFileFile_NFile1 + MsiPatchOldAssemblyNameAssemblyN + MsiPatchOldAssemblyNameNameN + MsiPatchOldAssemblyNameValueY + MsiPatchSequencePatchConfiguration_NISPatchConfiguration1TextForeign key to the patch configuration tableMsiPatchSequencePatchFamilyNTextName of the family to which this patch belongsMsiPatchSequenceSequenceNVersionThe version of this patch in this familyMsiPatchSequenceSupersedeNIntegerSupersedeMsiPatchSequenceTargetYTextTarget product codes for this patch familyMsiServiceConfigArgumentYTextArgument(s) for service configuration. Value depends on the content of the ConfigType fieldMsiServiceConfigComponent_NComponent1IdentifierRequired foreign key into the Component Table that controls the configuration of the serviceMsiServiceConfigConfigTypeN-21474836472147483647Service Configuration OptionMsiServiceConfigEventN07Bit field: 0x1 = Install, 0x2 = Uninstall, 0x4 = ReinstallMsiServiceConfigMsiServiceConfigNIdentifierPrimary key, non-localized token.MsiServiceConfigNameNFormattedName of a service. /, \, comma and space are invalidMsiServiceConfigFailureActionsActionsYTextA list of integer actions separated by [~] delimiters: 0 = SC_ACTION_NONE, 1 = SC_ACTION_RESTART, 2 = SC_ACTION_REBOOT, 3 = SC_ACTION_RUN_COMMAND. Terminate with [~][~]MsiServiceConfigFailureActionsCommandYFormattedCommand line of the process to CreateProcess function to executeMsiServiceConfigFailureActionsComponent_NComponent1IdentifierRequired foreign key into the Component Table that controls the configuration of the serviceMsiServiceConfigFailureActionsDelayActionsYTextA list of delays (time in milli-seconds), separated by [~] delmiters, to wait before taking the corresponding Action. Terminate with [~][~]MsiServiceConfigFailureActionsEventN07Bit field: 0x1 = Install, 0x2 = Uninstall, 0x4 = ReinstallMsiServiceConfigFailureActionsMsiServiceConfigFailureActionsNIdentifierPrimary key, non-localized tokenMsiServiceConfigFailureActionsNameNFormattedName of a service. /, \, comma and space are invalidMsiServiceConfigFailureActionsRebootMessageYFormattedMessage to be broadcast to server users before rebootingMsiServiceConfigFailureActionsResetPeriodY02147483647Time in seconds after which to reset the failure count to zero. Leave blank if it should never be resetMsiShortcutPropertyMsiShortcutPropertyNIdentifierPrimary key, non-localized tokenMsiShortcutPropertyPropVariantValueNFormattedString representation of the value in the propertyMsiShortcutPropertyPropertyKeyNFormattedCanonical string representation of the Property Key being setMsiShortcutPropertyShortcut_NShortcut1IdentifierForeign key into the Shortcut tableODBCAttributeAttributeNTextName of ODBC driver attributeODBCAttributeDriver_NODBCDriver1IdentifierReference to ODBC driver in ODBCDriver tableODBCAttributeValueYTextValue for ODBC driver attributeODBCDataSourceComponent_NComponent1IdentifierReference to associated componentODBCDataSourceDataSourceNIdentifierPrimary key, non-localized.internal token for data sourceODBCDataSourceDescriptionNTextText used as registered name for data sourceODBCDataSourceDriverDescriptionNTextReference to driver description, may be existing driverODBCDataSourceRegistrationN01Registration option: 0=machine, 1=user, others t.b.d.ODBCDriverComponent_NComponent1IdentifierReference to associated componentODBCDriverDescriptionNTextText used as registered name for driver, non-localizedODBCDriverDriverNIdentifierPrimary key, non-localized.internal token for driverODBCDriverFile_NFile1IdentifierReference to key driver fileODBCDriverFile_SetupYFile1IdentifierOptional reference to key driver setup DLLODBCSourceAttributeAttributeNTextName of ODBC data source attributeODBCSourceAttributeDataSource_NODBCDataSource1IdentifierReference to ODBC data source in ODBCDataSource tableODBCSourceAttributeValueYTextValue for ODBC data source attributeODBCTranslatorComponent_NComponent1IdentifierReference to associated componentODBCTranslatorDescriptionNTextText used as registered name for translatorODBCTranslatorFile_NFile1IdentifierReference to key translator fileODBCTranslatorFile_SetupYFile1IdentifierOptional reference to key translator setup DLLODBCTranslatorTranslatorNIdentifierPrimary key, non-localized.internal token for translatorPatchAttributesN032767Integer containing bit flags representing patch attributesPatchFile_NFile1IdentifierPrimary key, non-localized token, foreign key to File table, must match identifier in cabinet.PatchHeaderYBinaryBinary stream. The patch header, used for patch validation.PatchISBuildSourcePathYTextFull path to patch header.PatchPatchSizeN02147483647Size of patch in bytes (long integer).PatchSequenceN032767Primary key, sequence with respect to the media images; order must track cabinet order.PatchStreamRef_YIdentifierExternal key into the MsiPatchHeaders table specifying the row that contains the patch header stream.PatchPackageMedia_N032767Foreign key to DiskId column of Media table. Indicates the disk containing the patch package.PatchPackagePatchIdNGuidA unique string GUID representing this patch.ProgIdClass_YClass1GuidThe CLSID of an OLE factory corresponding to the ProgId.ProgIdDescriptionYTextLocalized description for the Program identifier.ProgIdISAttributesYThis is used to store Installshield custom properties of a component, like ExtractIcon, etc.ProgIdIconIndexY-3276732767Optional icon index.ProgIdIcon_YIcon1IdentifierOptional foreign key into the Icon Table, specifying the icon file associated with this ProgId. Will be written under the DefaultIcon key.ProgIdProgIdNTextThe Program Identifier. Primary key.ProgIdProgId_ParentYProgId1TextThe Parent Program Identifier. If specified, the ProgId column becomes a version independent prog id.PropertyISCommentsYTextUser Comments.PropertyPropertyNIdentifierName of property, uppercase if settable by launcher or loader.PropertyValueYTextString value for property.PublishComponentAppDataYTextThis is localisable Application specific data that can be associated with a Qualified Component.PublishComponentComponentIdNGuidA string GUID that represents the component id that will be requested by the alien product.PublishComponentComponent_NComponent1IdentifierForeign key into the Component table.PublishComponentFeature_NFeature1IdentifierForeign key into the Feature table.PublishComponentQualifierNTextThis is defined only when the ComponentId column is an Qualified Component Id. This is the Qualifier for ProvideComponentIndirect.RadioButtonHeightN032767The height of the button.RadioButtonHelpYTextThe help strings used with the button. The text is optional.RadioButtonISControlIdYA number used to represent the control ID of the Control, Used in Dialog exportRadioButtonOrderN132767A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive.RadioButtonPropertyNIdentifierA named property to be tied to this radio button. All the buttons tied to the same property become part of the same group.RadioButtonTextYTextThe visible title to be assigned to the radio button.RadioButtonValueNFormattedThe value string associated with this button. Selecting the button will set the associated property to this value.RadioButtonWidthN032767The width of the button.RadioButtonXN032767The horizontal coordinate of the upper left corner of the bounding rectangle of the radio button.RadioButtonYN032767The vertical coordinate of the upper left corner of the bounding rectangle of the radio button.RegLocatorKeyNRegPathThe key for the registry value.RegLocatorNameYFormattedThe registry value name.RegLocatorRootN03The predefined root key for the registry value, one of rrkEnum.RegLocatorSignature_NSignature1IdentifierThe table key. The Signature_ represents a unique file signature and is also the foreign key in the Signature table. If the type is 0, the registry values refers a directory, and _Signature is not a foreign key.RegLocatorTypeY018An integer value that determines if the registry value is a filename or a directory location or to be used as is w/o interpretation.RegistryComponent_NComponent1IdentifierForeign key into the Component table referencing component that controls the installing of the registry value.RegistryISAttributesYThis is used to store Installshield custom properties of a registry item. Currently the only one is Automatic.RegistryKeyNRegPathThe key for the registry value.RegistryNameYFormattedThe registry value name.RegistryRegistryNIdentifierPrimary key, non-localized token.RegistryRootN-13The predefined root key for the registry value, one of rrkEnum.RegistryValueYTextThe registry value.RemoveFileComponent_NComponent1IdentifierForeign key referencing Component that controls the file to be removed.RemoveFileDirPropertyNIdentifierName of a property whose value is assumed to resolve to the full pathname to the folder of the file to be removed.RemoveFileFileKeyNIdentifierPrimary key used to identify a particular file entryRemoveFileFileNameYTextName of the file to be removed.RemoveFileInstallModeN1;2;3Installation option, one of iimEnum.RemoveIniFileActionN2;4The type of modification to be made, one of iifEnum.RemoveIniFileComponent_NComponent1IdentifierForeign key into the Component table referencing component that controls the deletion of the .INI value.RemoveIniFileDirPropertyYIdentifierForeign key into the Directory table denoting the directory where the .INI file is.RemoveIniFileFileNameNTextThe .INI file name in which to delete the informationRemoveIniFileKeyNFormattedThe .INI file key below Section.RemoveIniFileRemoveIniFileNIdentifierPrimary key, non-localized token.RemoveIniFileSectionNFormattedThe .INI file Section.RemoveIniFileValueYFormattedThe value to be deleted. The value is required when Action is iifIniRemoveTagRemoveRegistryComponent_NComponent1IdentifierForeign key into the Component table referencing component that controls the deletion of the registry value.RemoveRegistryKeyNRegPathThe key for the registry value.RemoveRegistryNameYFormattedThe registry value name.RemoveRegistryRemoveRegistryNIdentifierPrimary key, non-localized token.RemoveRegistryRootN-13The predefined root key for the registry value, one of rrkEnumReserveCostComponent_NComponent1IdentifierReserve a specified amount of space if this component is to be installed.ReserveCostReserveFolderYIdentifierName of a property whose value is assumed to resolve to the full path to the destination directoryReserveCostReserveKeyNIdentifierPrimary key that uniquely identifies a particular ReserveCost recordReserveCostReserveLocalN02147483647Disk space to reserve if linked component is installed locally.ReserveCostReserveSourceN02147483647Disk space to reserve if linked component is installed to run from the source location.SFPCatalogCatalogYBinarySFP CatalogSFPCatalogDependencyYFormattedParent catalog - only used by SFPSFPCatalogSFPCatalogNFilenameFile name for the catalog.SelfRegCostY032767The cost of registering the module.SelfRegFile_NFile1IdentifierForeign key into the File table denoting the module that needs to be registered.ServiceControlArgumentsYFormattedArguments for the service. Separate by [~].ServiceControlComponent_NComponent1IdentifierRequired foreign key into the Component Table that controls the startup of the serviceServiceControlEventN0187Bit field: Install: 0x1 = Start, 0x2 = Stop, 0x8 = Delete, Uninstall: 0x10 = Start, 0x20 = Stop, 0x80 = DeleteServiceControlNameNFormattedName of a service. /, \, comma and space are invalidServiceControlServiceControlNIdentifierPrimary key, non-localized token.ServiceControlWaitY01Boolean for whether to wait for the service to fully startServiceInstallArgumentsYFormattedArguments to include in every start of the service, passed to WinMainServiceInstallComponent_NComponent1IdentifierRequired foreign key into the Component Table that controls the startup of the serviceServiceInstallDependenciesYFormattedOther services this depends on to start. Separate by [~], and end with [~][~]ServiceInstallDescriptionYTextDescription of service.ServiceInstallDisplayNameYFormattedExternal Name of the ServiceServiceInstallErrorControlN-21474836472147483647Severity of error if service fails to startServiceInstallLoadOrderGroupYFormattedLoadOrderGroupServiceInstallNameNFormattedInternal Name of the ServiceServiceInstallPasswordYFormattedpassword to run service with. (with StartName)ServiceInstallServiceInstallNIdentifierPrimary key, non-localized token.ServiceInstallServiceTypeN-21474836472147483647Type of the serviceServiceInstallStartNameYFormattedUser or object name to run service asServiceInstallStartTypeN04Type of the serviceShortcutArgumentsYFormattedThe command-line arguments for the shortcut.ShortcutComponent_NComponent1IdentifierForeign key into the Component table denoting the component whose selection gates the the shortcut creation/deletion.ShortcutDescriptionYTextThe description for the shortcut.ShortcutDescriptionResourceDLLYFormattedThis field contains a Formatted string value for the full path to the language neutral file that contains the MUI manifest.ShortcutDescriptionResourceIdY032767The description name index for the shortcut.ShortcutDirectory_NDirectory1IdentifierForeign key into the Directory table denoting the directory where the shortcut file is created.ShortcutDisplayResourceDLLYFormattedThis field contains a Formatted string value for the full path to the language neutral file that contains the MUI manifest.ShortcutDisplayResourceIdY032767The display name index for the shortcut.ShortcutHotkeyY032767The hotkey for the shortcut. It has the virtual-key code for the key in the low-order byte, and the modifier flags in the high-order byte.ShortcutISAttributesYThis is used to store Installshield custom properties of a shortcut. Mainly used in pro project types.ShortcutISCommentsYTextAuthor’s comments on this Shortcut.ShortcutISShortcutNameYTextA non-unique name for the shortcut. Mainly used by pro pro project types.ShortcutIconIndexY-3276732767The icon index for the shortcut.ShortcutIcon_YIcon1IdentifierForeign key into the File table denoting the external icon file for the shortcut.ShortcutNameNTextThe name of the shortcut to be created.ShortcutShortcutNIdentifierPrimary key, non-localized token.ShortcutShowCmdY1;3;7The show command for the application window.The following values may be used.ShortcutTargetNShortcutThe shortcut target. This is usually a property that is expanded to a file or a folder that the shortcut points to.ShortcutWkDirYIdentifierName of property defining location of working directory.SignatureFileNameNTextThe name of the file. This may contain a "short name|long name" pair.SignatureLanguagesYLanguageThe languages supported by the file.SignatureMaxDateY02147483647The maximum creation date of the file.SignatureMaxSizeY02147483647The maximum size of the file.SignatureMaxVersionYTextThe maximum version of the file.SignatureMinDateY02147483647The minimum creation date of the file.SignatureMinSizeY02147483647The minimum size of the file.SignatureMinVersionYTextThe minimum version of the file.SignatureSignatureNIdentifierThe table key. The Signature represents a unique file signature.TextStyleColorY016777215A long integer indicating the color of the string in the RGB format (Red, Green, Blue each 0-255, RGB = R + 256*G + 256^2*B).TextStyleFaceNameNTextA string indicating the name of the font used. Required. The string must be at most 31 characters long.TextStyleSizeN032767The size of the font used. This size is given in our units (1/12 of the system font height). Assuming that the system font is set to 12 point size, this is equivalent to the point size.TextStyleStyleBitsY015A combination of style bits.TextStyleTextStyleNIdentifierName of the style. The primary key of this table. This name is embedded in the texts to indicate a style change.TypeLibComponent_NComponent1IdentifierRequired foreign key into the Component Table, specifying the component for which to return a path when called through LocateComponent.TypeLibCostY02147483647The cost associated with the registration of the typelib. This column is currently optional.TypeLibDescriptionYText + TypeLibDirectory_YDirectory1IdentifierOptional. The foreign key into the Directory table denoting the path to the help file for the type library.TypeLibFeature_NFeature1IdentifierRequired foreign key into the Feature Table, specifying the feature to validate or install in order for the type library to be operational.TypeLibLanguageN032767The language of the library.TypeLibLibIDNGuidThe GUID that represents the library.TypeLibVersionY02147483647The version of the library. The major version is in the upper 8 bits of the short integer. The minor version is in the lower 8 bits.UITextKeyNIdentifierA unique key that identifies the particular string.UITextTextYTextThe localized version of the string.UpgradeActionPropertyNUpperCaseThe property to set when a product in this set is found.UpgradeAttributesN02147483647The attributes of this product set.UpgradeISDisplayNameYISUpgradeMsiItem1 + UpgradeLanguageYLanguageA comma-separated list of languages for either products in this set or products not in this set.UpgradeRemoveYFormattedThe list of features to remove when uninstalling a product from this set. The default is "ALL".UpgradeUpgradeCodeNGuidThe UpgradeCode GUID belonging to the products in this set.UpgradeVersionMaxYTextThe maximum ProductVersion of the products in this set. The set may or may not include products with this particular version.UpgradeVersionMinYTextThe minimum ProductVersion of the products in this set. The set may or may not include products with this particular version.VerbArgumentYFormattedOptional value for the command arguments.VerbCommandYFormattedThe command text.VerbExtension_NExtension1TextThe extension associated with the table row.VerbSequenceY032767Order within the verbs for a particular extension. Also used simply to specify the default verb.VerbVerbNTextThe verb for the command._ValidationCategoryY"Text";"Formatted";"Template";"Condition";"Guid";"Path";"Version";"Language";"Identifier";"Binary";"UpperCase";"LowerCase";"Filename";"Paths";"AnyPath";"WildCardFilename";"RegPath";"KeyFormatted";"CustomSource";"Property";"Cabinet";"Shortcut";"URL";"DefaultDir"String category_ValidationColumnNIdentifierName of column_ValidationDescriptionYTextDescription of column_ValidationKeyColumnY132Column to which foreign key connects_ValidationKeyTableYIdentifierFor foreign key, Name of table to which data must link_ValidationMaxValueY-21474836472147483647Maximum value allowed_ValidationMinValueY-21474836472147483647Minimum value allowed_ValidationNullableNY;N;@Whether the column is nullable_ValidationSetYTextSet of values that are permitted_ValidationTableNIdentifierName of table
+
diff --git a/odbc/README.md b/odbc/README.md index e0bc0e2..585b061 100644 --- a/odbc/README.md +++ b/odbc/README.md @@ -3,7 +3,7 @@ ODBC Driver to interactive with Kylin REST server -The projects is written as a Visual Studio 2012 project. The entry of the project is KylinODBC.sln. Mind the VS version. +The projects are organized as a Visual Studio 2012 solution. The entry of the solution is KylinODBC.sln. Mind the VS version. ## Contents in the folder @@ -13,7 +13,7 @@ KylinODBC - Root folder containing the workspace. All the proje KylinODBC\TestDll - Contains a simple ODBC client that can be used to test your driver as well as connect to any ODBC data source. -KylinODBC\Common - Shared data types, utiliy tools, etc. +KylinODBC\Common - Shared data types, utility tools, etc. KylinODBC\Driver - Contains code for Kylin ODBC driver. Note that the entire functionality has not been implemented but is enough to get you data into most standard ODBC clients like Tableau, provided you have set up a rest server to serve the query requests. Note that the header file is a very important starting point for understanding this driver. -- 2.3.8 (Apple Git-58)