ࡱ> (  ' !"#$%&)*+,-Root Entry FR)@HBExE(H @H FE2DA7CrD P@HDjEA(H  V !"#$%&'()*+,-./0123456789:X=>?@ABCDEFHIJKLMNOPQRSTUWYZ[\]^_`abcdefghijklmnopqrstuvwxyz|}~  "333!#+,3798AnyᖲU#Vɫb "EFGHIJKLMNPQTUVWXYZ[@HB'C$H @H C5BErE?@CDCDCCDcCDno (Doqrst Cvwxz{CD@HYEDhE7G  @HAEFAE(?(E8BA(H*@H?CAED1H@H?dA/B6H ${ 44qvvq4(z16CCCCdC(tCCMSCF,KL6<5Ua name$$$$$$$------444::::::BBB^^^aabbbddfffmmqqqqqqqqvvvvvvzz@H?;C8DE <@H??wElDj>D/HG@H??wElDj;E$H89 89@8;L:8;;;9C;:9K: H$ ;  %&'( )*./012456;<=>?@CDCDCCDcCDnoqorst( Dvw Cxz{CD&&@HHH&H@ HHHHHHHHH&HHHHH&HHHH       the name of that cabinet.The label attributed to the volume.The property defining the location of the cabinet file.Unique identifier for directory entry, primary key. If a property by this name is defined, it contains the full path to the directory.Reference 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.The default sub-path under parent's path.Primary key, foreign key into File table referencing file with this hashVarious options and attributes for this hash.Size of file in bytes (long integer).Name of action to invoke, either in the engine or the handler DLL.Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action._SummaryInformationPropertyIdExpression which must evaluate to TRUE in order for install to commence.Localizable text to display when condition fails and install must abort.Unique key identifying the binary data.The unformatted binary data.Foreign key into Feature table.Foreign key into Component table.Primary key, non-localized token, must match identifier in cabinet. For uncompressed files, this field is ignored.Foreign key referencing Component that controls the file.FilenameFile name used for installation, may be localized. This may contain a "short name|long name" pair.Version string for versioned files; Blank for unversioned files.List of decimal language Ids, comma-separated if more than one.Integer containing bit flags representing file attributes (with the decimal value of each bit position in parentheses)Sequence with respect to the media images; order must track cabinet order.Primary key used to identify a particular component record.A string GUID unique to this component, version, and language.Required key of a Directory table record. This is actually a property name whNameTableTypeFeatureFeature_ParentTitleDescriptionDisplayLevelDirectory_AttributesmainCustomActionActionSourceTargetDIRCA_TARGETDIRTARGETDIR[WindowsFolder]GetTargetDirActionsGetToolsDirSetupRegisterRegister[MPFToolsPath]\ProvNamespace.exe "[#namespacexml_f]"ExecuteCmdSetupRegisterRallbackRegisterRallback[MPFToolsPath]\ProvNamespace.exe /r \"WS Exchange Provider Adapter\"UnregisterRegisterErrorFailed to register namespaceUnregisterErrorFailed to unregister namespaceUpgradeUpgradeCodeVersionMinVersionMaxLanguageRemoveActionProperty{B210E939-12B0-41A6-B032-6900411D45D1}OTHER_VER_FOUNDMediaDiskIdLastSequenceDiskPromptCabinetVolumeLabel#_244C016016CC9026E3F1CF73D3B66B9BDirectoryDirectory_ParentDefaultDirINSTALLDIREProv|ExchangeProviderSourceDirMsiFileHashFile_OptionsHashPart1HashPart2HashPart3HashPart4namespacexml_fInstallExecuteSequenceConditionSequenceRemoveExistingProductsInstallValidateRemoveFilesCostInitializeUnpublishFeaturesProcessComponentsPublishProductInstallInitializeRegisterProductInstallFinalizeUNREGISTER = "0" AND InstalledRegisterUserCostFinalizeREGISTER = "0" AND NOT Installed(&main=3 AND NOT(!main=3)) OR REINSTALL><"main"FileCostPatchFilesLaunchConditionsFindRelatedProductsPublishFeaturesValidateProductIDInstallFilesMigrateFeatureStates&namespacexml_f=3(&main=2 AND !main=3) OR REINSTALL><"main"AdminUISequenceExecuteActionPrivilegedLaunchConditionAdminExecuteSequenceDataBinaryTARGETDIR=""InstallUISequenceFailed to obtaind MPF tools directory.MPFToolsPathThis namespace can only be installed if MPS with Exchange provider has been installed first.ExchangeProviderAdministrative privileges are required to install this product.InstallAdminPackageFeatureComponentsFeature_Component_namespacexml_cFileFileNameFileSizeVersionws_exprv.xml|ws_exchangeprovider_ns.xmlComponentComponentIdKeyPath{6B36ABED-F98F-4136-AA0C-22430322414A}PropertyValueManufacturerPositive SoftwareProductCode{FFCFE5AE-1A42-4B69-948A-BAD398BB9D4D}ProductLanguage1033ProductNameWS Exchange Provider NamespaceProductVersion1.0.0ALLUSERS2SecureCustomPropertiesAdvtExecuteSequence_ValidationColumnNullableMinValueMaxValueKeyTableKeyColumnCategorySetNIdentifierPrimary key used to identify a particular feature record.YOptional 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.TextShort text identifying a visible feature item.Longer descriptive text describing a visible feature item.Numeric sort order, used to force a specific display ordering.The install level at which record will be initially selected. An install level of 0 will disable an item and prevent its display.UpperCaseThe name of the Directory that can be configured by the UI. A non-null value will enable the browse button.0;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 attributesPrimary key, name of action, normally appears in sequence table unless private use.The numeric custom action type, consisting of source location, code type, entry, option flags.CustomSourceThe table reference of the source of the code.FormattedExcecution parameter, depends on the type of custom actionGuidThe UpgradeCode GUID belonging to the products in this set.The minimum ProductVersion of the products in this set. The set may or may not include products with this particular version.The maximum ProductVersion of the products in this set. The set may or may not include products with this particular version.A comma-separated list of languages for either products in this set or products not in this set.The attributes of this product set.The list of features to remove when uninstalling a product from this set. The default is "ALL".The property to set when a product in this set is found.Primary key, integer to determine sort order for table.File sequence number for the last file for this media.Disk name: the visible text actually printed on the disk. This will be used to prompt the user when this disk needs to be inserted.If some or all of the files stored on the media are compressed in a cabinet,ose value contains the actual path, set either by the AppSearch action or with the default setting obtained from the Directory table.Remote execution option, one of irsEnumA 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.File;Registry;ODBCDataSourceEither 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.Name of property, uppercase if settable by launcher or loader.String value for property. Never null or empty.Name of tableName of columnY;NWhether the column is nullableMinimum value allowedMaximum value allowedFor foreign key, Name of table to which data must linkColumn to which foreign key connectsText;Formatted;Template;Condition;Guid;Path;Version;Language;Identifier;Binary;UpperCase;LowerCase;Filename;Paths;AnyPath;WildCardFilename;RegPath;KeyFormatted;CustomSource;Property;Cabinet;Shortcut;URLString categorySet of values that are permittedDescription of column    4 D     &    "               /  *   & \? '  &  &   , 9' .:> kQS^ . :;~~`#`876f#7)H-%Bo HH'!s9cA?vJ;>'>0 6$ sCostInitializeUnpublishFeaturesProcessComponentsPub@w1Windows Installer XML v2.0.3719.0 (candle/light)spacexml_fqL6CK[n8}~6MN;E&N;$h%8тPcJD:"$ 6&k. ϥd,Cɨf)ZD/p}!f-5RM? y!`L Zۭ$Akдg7̋5˃+$`VsODp4!1dQ"hԇ L)q=4wBT䔹ؠNf$_Lө~/2@q:dq(↩'/ la%#{N<7O!#:8`" Cvzh²Fi|7u>:/~ٻAh\ B K>0˭7n9Q040}ոuܨ,:nM ϧxin>bLߗ W&Ʊ.MFl2 x^A4wm4l&@zk\'xo27R4r<-.Ʊ?&`se:г6W$H~?gE n{e c)RHК & 6yWQ=@B!F730~fEb&#r$fN#|spx&Bwր]l h쏿Hh|Lms+Dr0X>IWYW1ǘcIHlomՍ[l2ڂr}"ܬarbzm#NcUyl1#\\YR{vNlۻ캇[A% f}o-1o?5QK˕hfjXuacVr=pJ$|8<:8TЕ&1BpiW {#IDg[9YT鶺&.?N fcO_\;N.%y~1Ɣw(Bh~WzKk!@9jtfIOT`4 z?ĥlFcN4NKr2M#{Ԕ *< &WAHo #'ZO5 lZ} { 3O80w ElB9<_,ivtRUq^(b ڕ~pbdB;/Lɒ,s'y[hyÄ0VQwthuV)=[]U}n%!Xޮ( J 97N5S, n8 'œJɓ֑KDרZq`J.ҥ٣=Js݅/@>2Gc0{ .fPG}_G4@N0_j@ t,k߫ڟ[~ޓn0oU9,/////////////////// WS Exchange Provider Custom Actions ////////////////////////// function GetTargetDir() { Log("Getting Exchange Provider directory ..."); try { var installer = Session.Installer; var path = installer.ComponentPath("{8A50B758-3559-4940-AD28-A57355DA103C}", "{77CC08C1-7144-4F71-9521@H C1A5G  C1A5G:EDE{K -8CA64D23CBBD}"); var targetpath = path.substr(0, path.lastIndexOf("\\")); Session.Property("INSTALLDIR") = targetpath; Session.Property("ExchangeProvider") = "1"; Log("Target directory got: " + targetpath); } catch (error) { Log("Error: " + error.toString() + error.name + ": " + error.description); } } function GetToolsDir() { Log("Getting MPF tools directory..."); try { var installer = Session.Installer; var path = installer.ComponentPath("{450F69CF-9A86-494E-949A-B5C18DE5D46D}", "{B2955398-EE24-4FFB-91DC-AA4F667E81C5}"); var toolsPath = path.substr(0, path.lastIndexOf("\\")); Session.Property("MPFToolsPath") = toolsPath; Log("Tools directory got: " + toolsPath); } catch (error) { Log("Error: " + error.toString() + error.name + ": " + error.description); } } function ExecuteCmd() { command = Session.Property("CustomActionData"); Log("Command: " + command); var shell = new ActiveXObject("WScript.Shell"); var exec = shell.Exec(command); while (exec.Status == 0) { if (!exec.StdOut.AtEndOfStream) Log(exec.StdOut.ReadLine()); } if (exec.ExitCode != 0) throw Error("Returned exit code " + exec.ExitCode); } function Unregister() { Log("Unregistering namespace ..."); try { var installer = Session.Installer; var path = installer.ComponentPath("{450F69CF-9A86-494E-949A-B5C18DE5D46D}", "{B2955398-EE24-4FFB-91DC-AA4F667E81C5}"); var toolsPath = path.substr(0, path.lastIndexOf("\\")); Log("Tools directory got: " + toolsPath); var shell = new ActiveXObject("WScript.Shell"); var command = "\"" + toolsPath + "\\ProvNamespace.exe\" /r \"WS Exchange Provider Adapter\""; Log("Command: " + command); var exec = shell.Exec(command); while (exec.Status == 0) { if (!exec.StdOut.AtEndOfStream) Log(exec.StdOut.ReadLine()); } Session.Property("UNREGISTER") = "1"; } catch (error) { Log("Failed to register namespace; Error: " + error.toString() + error.name + ": " + error.description); Session.Property("UNREGISTER") = "0"; } } function Log(text) { var record = Installer.CreateRecord(1) record.stringdata(1) = text; record.stringdata(0) = "[1]"; record.FormatText(); Session.Message(0x04000000, record); }$-4:B^abdfmqvzlishProductInstallInitializeRegisterProductInstallFinalizeUNREGI