Large file — syntax highlighting disabled.
| 1 | //------------------------------------------------------------------------------ |
| 2 | // <auto-generated> |
| 3 | // This code was generated by a tool. |
| 4 | // Runtime Version:4.0.30319.42000 |
| 5 | // |
| 6 | // Changes to this file may cause incorrect behavior and will be lost if |
| 7 | // the code is regenerated. |
| 8 | // </auto-generated> |
| 9 | //------------------------------------------------------------------------------ |
| 10 | |
| 11 | #pragma warning disable 1591 // TODO: add documentation |
| 12 | namespace WixToolset.Harvesters.Serialize |
| 13 | { |
| 14 | using System; |
| 15 | using System.CodeDom.Compiler; |
| 16 | using System.Collections; |
| 17 | using System.Diagnostics.CodeAnalysis; |
| 18 | using System.Globalization; |
| 19 | using System.Xml; |
| 20 | |
| 21 | /// <summary> |
| 22 | /// Values of this type will either be "attached" or "detached". |
| 23 | /// </summary> |
| 24 | [GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")] |
| 25 | public enum BurnContainerType |
| 26 | { |
| 27 | |
| 28 | IllegalValue = int.MaxValue, |
| 29 | |
| 30 | NotSet = -1, |
| 31 | |
| 32 | attached, |
| 33 | |
| 34 | detached, |
| 35 | } |
| 36 | |
| 37 | [GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")] |
| 38 | public class Enums |
| 39 | { |
| 40 | |
| 41 | /// <summary> |
| 42 | /// Parses a BurnContainerType from a string. |
| 43 | /// </summary> |
| 44 | public static BurnContainerType ParseBurnContainerType(string value) |
| 45 | { |
| 46 | BurnContainerType parsedValue; |
| 47 | Enums.TryParseBurnContainerType(value, out parsedValue); |
| 48 | return parsedValue; |
| 49 | } |
| 50 | |
| 51 | /// <summary> |
| 52 | /// Tries to parse a BurnContainerType from a string. |
| 53 | /// </summary> |
| 54 | public static bool TryParseBurnContainerType(string value, out BurnContainerType parsedValue) |
| 55 | { |
| 56 | parsedValue = BurnContainerType.NotSet; |
| 57 | if (string.IsNullOrEmpty(value)) |
| 58 | { |
| 59 | return false; |
| 60 | } |
| 61 | if (("attached" == value)) |
| 62 | { |
| 63 | parsedValue = BurnContainerType.attached; |
| 64 | } |
| 65 | else |
| 66 | { |
| 67 | if (("detached" == value)) |
| 68 | { |
| 69 | parsedValue = BurnContainerType.detached; |
| 70 | } |
| 71 | else |
| 72 | { |
| 73 | parsedValue = BurnContainerType.IllegalValue; |
| 74 | return false; |
| 75 | } |
| 76 | } |
| 77 | return true; |
| 78 | } |
| 79 | |
| 80 | /// <summary> |
| 81 | /// Parses a BurnExeProtocolType from a string. |
| 82 | /// </summary> |
| 83 | public static BurnExeProtocolType ParseBurnExeProtocolType(string value) |
| 84 | { |
| 85 | BurnExeProtocolType parsedValue; |
| 86 | Enums.TryParseBurnExeProtocolType(value, out parsedValue); |
| 87 | return parsedValue; |
| 88 | } |
| 89 | |
| 90 | /// <summary> |
| 91 | /// Tries to parse a BurnExeProtocolType from a string. |
| 92 | /// </summary> |
| 93 | public static bool TryParseBurnExeProtocolType(string value, out BurnExeProtocolType parsedValue) |
| 94 | { |
| 95 | parsedValue = BurnExeProtocolType.NotSet; |
| 96 | if (string.IsNullOrEmpty(value)) |
| 97 | { |
| 98 | return false; |
| 99 | } |
| 100 | if (("none" == value)) |
| 101 | { |
| 102 | parsedValue = BurnExeProtocolType.none; |
| 103 | } |
| 104 | else |
| 105 | { |
| 106 | if (("burn" == value)) |
| 107 | { |
| 108 | parsedValue = BurnExeProtocolType.burn; |
| 109 | } |
| 110 | else |
| 111 | { |
| 112 | if (("netfx4" == value)) |
| 113 | { |
| 114 | parsedValue = BurnExeProtocolType.netfx4; |
| 115 | } |
| 116 | else |
| 117 | { |
| 118 | parsedValue = BurnExeProtocolType.IllegalValue; |
| 119 | return false; |
| 120 | } |
| 121 | } |
| 122 | } |
| 123 | return true; |
| 124 | } |
| 125 | |
| 126 | /// <summary> |
| 127 | /// Parses a YesNoType from a string. |
| 128 | /// </summary> |
| 129 | public static YesNoType ParseYesNoType(string value) |
| 130 | { |
| 131 | YesNoType parsedValue; |
| 132 | Enums.TryParseYesNoType(value, out parsedValue); |
| 133 | return parsedValue; |
| 134 | } |
| 135 | |
| 136 | /// <summary> |
| 137 | /// Tries to parse a YesNoType from a string. |
| 138 | /// </summary> |
| 139 | public static bool TryParseYesNoType(string value, out YesNoType parsedValue) |
| 140 | { |
| 141 | parsedValue = YesNoType.NotSet; |
| 142 | if (string.IsNullOrEmpty(value)) |
| 143 | { |
| 144 | return false; |
| 145 | } |
| 146 | if (("no" == value)) |
| 147 | { |
| 148 | parsedValue = YesNoType.no; |
| 149 | } |
| 150 | else |
| 151 | { |
| 152 | if (("yes" == value)) |
| 153 | { |
| 154 | parsedValue = YesNoType.yes; |
| 155 | } |
| 156 | else |
| 157 | { |
| 158 | parsedValue = YesNoType.IllegalValue; |
| 159 | return false; |
| 160 | } |
| 161 | } |
| 162 | return true; |
| 163 | } |
| 164 | |
| 165 | /// <summary> |
| 166 | /// Parses a YesNoButtonType from a string. |
| 167 | /// </summary> |
| 168 | public static YesNoButtonType ParseYesNoButtonType(string value) |
| 169 | { |
| 170 | YesNoButtonType parsedValue; |
| 171 | Enums.TryParseYesNoButtonType(value, out parsedValue); |
| 172 | return parsedValue; |
| 173 | } |
| 174 | |
| 175 | /// <summary> |
| 176 | /// Tries to parse a YesNoButtonType from a string. |
| 177 | /// </summary> |
| 178 | public static bool TryParseYesNoButtonType(string value, out YesNoButtonType parsedValue) |
| 179 | { |
| 180 | parsedValue = YesNoButtonType.NotSet; |
| 181 | if (string.IsNullOrEmpty(value)) |
| 182 | { |
| 183 | return false; |
| 184 | } |
| 185 | if (("no" == value)) |
| 186 | { |
| 187 | parsedValue = YesNoButtonType.no; |
| 188 | } |
| 189 | else |
| 190 | { |
| 191 | if (("yes" == value)) |
| 192 | { |
| 193 | parsedValue = YesNoButtonType.yes; |
| 194 | } |
| 195 | else |
| 196 | { |
| 197 | if (("button" == value)) |
| 198 | { |
| 199 | parsedValue = YesNoButtonType.button; |
| 200 | } |
| 201 | else |
| 202 | { |
| 203 | parsedValue = YesNoButtonType.IllegalValue; |
| 204 | return false; |
| 205 | } |
| 206 | } |
| 207 | } |
| 208 | return true; |
| 209 | } |
| 210 | |
| 211 | /// <summary> |
| 212 | /// Parses a YesNoDefaultType from a string. |
| 213 | /// </summary> |
| 214 | public static YesNoDefaultType ParseYesNoDefaultType(string value) |
| 215 | { |
| 216 | YesNoDefaultType parsedValue; |
| 217 | Enums.TryParseYesNoDefaultType(value, out parsedValue); |
| 218 | return parsedValue; |
| 219 | } |
| 220 | |
| 221 | /// <summary> |
| 222 | /// Tries to parse a YesNoDefaultType from a string. |
| 223 | /// </summary> |
| 224 | public static bool TryParseYesNoDefaultType(string value, out YesNoDefaultType parsedValue) |
| 225 | { |
| 226 | parsedValue = YesNoDefaultType.NotSet; |
| 227 | if (string.IsNullOrEmpty(value)) |
| 228 | { |
| 229 | return false; |
| 230 | } |
| 231 | if (("default" == value)) |
| 232 | { |
| 233 | parsedValue = YesNoDefaultType.@default; |
| 234 | } |
| 235 | else |
| 236 | { |
| 237 | if (("no" == value)) |
| 238 | { |
| 239 | parsedValue = YesNoDefaultType.no; |
| 240 | } |
| 241 | else |
| 242 | { |
| 243 | if (("yes" == value)) |
| 244 | { |
| 245 | parsedValue = YesNoDefaultType.yes; |
| 246 | } |
| 247 | else |
| 248 | { |
| 249 | parsedValue = YesNoDefaultType.IllegalValue; |
| 250 | return false; |
| 251 | } |
| 252 | } |
| 253 | } |
| 254 | return true; |
| 255 | } |
| 256 | |
| 257 | /// <summary> |
| 258 | /// Parses a BundleCacheType from a string. |
| 259 | /// </summary> |
| 260 | public static BundleCacheType ParseBundleCacheType(string value) |
| 261 | { |
| 262 | Enums.TryBundleCacheType(value, out var parsedValue); |
| 263 | return parsedValue; |
| 264 | } |
| 265 | |
| 266 | /// <summary> |
| 267 | /// Tries to parse a YesNoAlwaysType from a string. |
| 268 | /// </summary> |
| 269 | public static bool TryBundleCacheType(string value, out BundleCacheType parsedValue) |
| 270 | { |
| 271 | parsedValue = BundleCacheType.NotSet; |
| 272 | if (string.IsNullOrEmpty(value)) |
| 273 | { |
| 274 | return false; |
| 275 | } |
| 276 | |
| 277 | if (("force" == value)) |
| 278 | { |
| 279 | parsedValue = BundleCacheType.force; |
| 280 | } |
| 281 | else |
| 282 | { |
| 283 | if (("remove" == value)) |
| 284 | { |
| 285 | parsedValue = BundleCacheType.remove; |
| 286 | } |
| 287 | else |
| 288 | { |
| 289 | if (("keep" == value)) |
| 290 | { |
| 291 | parsedValue = BundleCacheType.keep; |
| 292 | } |
| 293 | else |
| 294 | { |
| 295 | return false; |
| 296 | } |
| 297 | } |
| 298 | } |
| 299 | return true; |
| 300 | } |
| 301 | |
| 302 | /// <summary> |
| 303 | /// Parses a RegistryRootType from a string. |
| 304 | /// </summary> |
| 305 | public static RegistryRootType ParseRegistryRootType(string value) |
| 306 | { |
| 307 | RegistryRootType parsedValue; |
| 308 | Enums.TryParseRegistryRootType(value, out parsedValue); |
| 309 | return parsedValue; |
| 310 | } |
| 311 | |
| 312 | /// <summary> |
| 313 | /// Tries to parse a RegistryRootType from a string. |
| 314 | /// </summary> |
| 315 | public static bool TryParseRegistryRootType(string value, out RegistryRootType parsedValue) |
| 316 | { |
| 317 | parsedValue = RegistryRootType.NotSet; |
| 318 | if (string.IsNullOrEmpty(value)) |
| 319 | { |
| 320 | return false; |
| 321 | } |
| 322 | if (("HKMU" == value)) |
| 323 | { |
| 324 | parsedValue = RegistryRootType.HKMU; |
| 325 | } |
| 326 | else |
| 327 | { |
| 328 | if (("HKCR" == value)) |
| 329 | { |
| 330 | parsedValue = RegistryRootType.HKCR; |
| 331 | } |
| 332 | else |
| 333 | { |
| 334 | if (("HKCU" == value)) |
| 335 | { |
| 336 | parsedValue = RegistryRootType.HKCU; |
| 337 | } |
| 338 | else |
| 339 | { |
| 340 | if (("HKLM" == value)) |
| 341 | { |
| 342 | parsedValue = RegistryRootType.HKLM; |
| 343 | } |
| 344 | else |
| 345 | { |
| 346 | if (("HKU" == value)) |
| 347 | { |
| 348 | parsedValue = RegistryRootType.HKU; |
| 349 | } |
| 350 | else |
| 351 | { |
| 352 | parsedValue = RegistryRootType.IllegalValue; |
| 353 | return false; |
| 354 | } |
| 355 | } |
| 356 | } |
| 357 | } |
| 358 | } |
| 359 | return true; |
| 360 | } |
| 361 | |
| 362 | /// <summary> |
| 363 | /// Parses a ExitType from a string. |
| 364 | /// </summary> |
| 365 | public static ExitType ParseExitType(string value) |
| 366 | { |
| 367 | ExitType parsedValue; |
| 368 | Enums.TryParseExitType(value, out parsedValue); |
| 369 | return parsedValue; |
| 370 | } |
| 371 | |
| 372 | /// <summary> |
| 373 | /// Tries to parse a ExitType from a string. |
| 374 | /// </summary> |
| 375 | public static bool TryParseExitType(string value, out ExitType parsedValue) |
| 376 | { |
| 377 | parsedValue = ExitType.NotSet; |
| 378 | if (string.IsNullOrEmpty(value)) |
| 379 | { |
| 380 | return false; |
| 381 | } |
| 382 | if (("success" == value)) |
| 383 | { |
| 384 | parsedValue = ExitType.success; |
| 385 | } |
| 386 | else |
| 387 | { |
| 388 | if (("cancel" == value)) |
| 389 | { |
| 390 | parsedValue = ExitType.cancel; |
| 391 | } |
| 392 | else |
| 393 | { |
| 394 | if (("error" == value)) |
| 395 | { |
| 396 | parsedValue = ExitType.error; |
| 397 | } |
| 398 | else |
| 399 | { |
| 400 | if (("suspend" == value)) |
| 401 | { |
| 402 | parsedValue = ExitType.suspend; |
| 403 | } |
| 404 | else |
| 405 | { |
| 406 | parsedValue = ExitType.IllegalValue; |
| 407 | return false; |
| 408 | } |
| 409 | } |
| 410 | } |
| 411 | } |
| 412 | return true; |
| 413 | } |
| 414 | |
| 415 | /// <summary> |
| 416 | /// Parses a InstallUninstallType from a string. |
| 417 | /// </summary> |
| 418 | public static InstallUninstallType ParseInstallUninstallType(string value) |
| 419 | { |
| 420 | InstallUninstallType parsedValue; |
| 421 | Enums.TryParseInstallUninstallType(value, out parsedValue); |
| 422 | return parsedValue; |
| 423 | } |
| 424 | |
| 425 | /// <summary> |
| 426 | /// Tries to parse a InstallUninstallType from a string. |
| 427 | /// </summary> |
| 428 | public static bool TryParseInstallUninstallType(string value, out InstallUninstallType parsedValue) |
| 429 | { |
| 430 | parsedValue = InstallUninstallType.NotSet; |
| 431 | if (string.IsNullOrEmpty(value)) |
| 432 | { |
| 433 | return false; |
| 434 | } |
| 435 | if (("install" == value)) |
| 436 | { |
| 437 | parsedValue = InstallUninstallType.install; |
| 438 | } |
| 439 | else |
| 440 | { |
| 441 | if (("uninstall" == value)) |
| 442 | { |
| 443 | parsedValue = InstallUninstallType.uninstall; |
| 444 | } |
| 445 | else |
| 446 | { |
| 447 | if (("both" == value)) |
| 448 | { |
| 449 | parsedValue = InstallUninstallType.both; |
| 450 | } |
| 451 | else |
| 452 | { |
| 453 | parsedValue = InstallUninstallType.IllegalValue; |
| 454 | return false; |
| 455 | } |
| 456 | } |
| 457 | } |
| 458 | return true; |
| 459 | } |
| 460 | |
| 461 | /// <summary> |
| 462 | /// Parses a SequenceType from a string. |
| 463 | /// </summary> |
| 464 | public static SequenceType ParseSequenceType(string value) |
| 465 | { |
| 466 | SequenceType parsedValue; |
| 467 | Enums.TryParseSequenceType(value, out parsedValue); |
| 468 | return parsedValue; |
| 469 | } |
| 470 | |
| 471 | /// <summary> |
| 472 | /// Tries to parse a SequenceType from a string. |
| 473 | /// </summary> |
| 474 | public static bool TryParseSequenceType(string value, out SequenceType parsedValue) |
| 475 | { |
| 476 | parsedValue = SequenceType.NotSet; |
| 477 | if (string.IsNullOrEmpty(value)) |
| 478 | { |
| 479 | return false; |
| 480 | } |
| 481 | if (("both" == value)) |
| 482 | { |
| 483 | parsedValue = SequenceType.both; |
| 484 | } |
| 485 | else |
| 486 | { |
| 487 | if (("first" == value)) |
| 488 | { |
| 489 | parsedValue = SequenceType.first; |
| 490 | } |
| 491 | else |
| 492 | { |
| 493 | if (("execute" == value)) |
| 494 | { |
| 495 | parsedValue = SequenceType.execute; |
| 496 | } |
| 497 | else |
| 498 | { |
| 499 | if (("ui" == value)) |
| 500 | { |
| 501 | parsedValue = SequenceType.ui; |
| 502 | } |
| 503 | else |
| 504 | { |
| 505 | parsedValue = SequenceType.IllegalValue; |
| 506 | return false; |
| 507 | } |
| 508 | } |
| 509 | } |
| 510 | } |
| 511 | return true; |
| 512 | } |
| 513 | |
| 514 | /// <summary> |
| 515 | /// Parses a CompressionLevelType from a string. |
| 516 | /// </summary> |
| 517 | public static CompressionLevelType ParseCompressionLevelType(string value) |
| 518 | { |
| 519 | CompressionLevelType parsedValue; |
| 520 | Enums.TryParseCompressionLevelType(value, out parsedValue); |
| 521 | return parsedValue; |
| 522 | } |
| 523 | |
| 524 | /// <summary> |
| 525 | /// Tries to parse a CompressionLevelType from a string. |
| 526 | /// </summary> |
| 527 | public static bool TryParseCompressionLevelType(string value, out CompressionLevelType parsedValue) |
| 528 | { |
| 529 | parsedValue = CompressionLevelType.NotSet; |
| 530 | if (string.IsNullOrEmpty(value)) |
| 531 | { |
| 532 | return false; |
| 533 | } |
| 534 | if (("high" == value)) |
| 535 | { |
| 536 | parsedValue = CompressionLevelType.high; |
| 537 | } |
| 538 | else |
| 539 | { |
| 540 | if (("low" == value)) |
| 541 | { |
| 542 | parsedValue = CompressionLevelType.low; |
| 543 | } |
| 544 | else |
| 545 | { |
| 546 | if (("medium" == value)) |
| 547 | { |
| 548 | parsedValue = CompressionLevelType.medium; |
| 549 | } |
| 550 | else |
| 551 | { |
| 552 | if (("mszip" == value)) |
| 553 | { |
| 554 | parsedValue = CompressionLevelType.mszip; |
| 555 | } |
| 556 | else |
| 557 | { |
| 558 | if (("none" == value)) |
| 559 | { |
| 560 | parsedValue = CompressionLevelType.none; |
| 561 | } |
| 562 | else |
| 563 | { |
| 564 | parsedValue = CompressionLevelType.IllegalValue; |
| 565 | return false; |
| 566 | } |
| 567 | } |
| 568 | } |
| 569 | } |
| 570 | } |
| 571 | return true; |
| 572 | } |
| 573 | } |
| 574 | |
| 575 | /// <summary> |
| 576 | /// The list of communcation protocols with executable packages Burn supports. |
| 577 | /// </summary> |
| 578 | [GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")] |
| 579 | public enum BurnExeProtocolType |
| 580 | { |
| 581 | |
| 582 | IllegalValue = int.MaxValue, |
| 583 | |
| 584 | NotSet = -1, |
| 585 | |
| 586 | /// <summary> |
| 587 | /// The executable package does not support a communication protocol. |
| 588 | /// </summary> |
| 589 | none, |
| 590 | |
| 591 | /// <summary> |
| 592 | /// The executable package is another Burn bundle and supports the Burn communication protocol. |
| 593 | /// </summary> |
| 594 | burn, |
| 595 | |
| 596 | /// <summary> |
| 597 | /// The executable package implements the .NET Framework v4.0 communication protocol. |
| 598 | /// </summary> |
| 599 | netfx4, |
| 600 | } |
| 601 | |
| 602 | /// <summary> |
| 603 | /// Values of this type will either be "yes" or "no". |
| 604 | /// </summary> |
| 605 | [GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")] |
| 606 | public enum YesNoType |
| 607 | { |
| 608 | |
| 609 | IllegalValue = int.MaxValue, |
| 610 | |
| 611 | NotSet = -1, |
| 612 | |
| 613 | no, |
| 614 | |
| 615 | yes, |
| 616 | } |
| 617 | |
| 618 | /// <summary> |
| 619 | /// Values of this type will either be "button", "yes" or "no". |
| 620 | /// </summary> |
| 621 | [GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")] |
| 622 | public enum YesNoButtonType |
| 623 | { |
| 624 | |
| 625 | IllegalValue = int.MaxValue, |
| 626 | |
| 627 | NotSet = -1, |
| 628 | |
| 629 | no, |
| 630 | |
| 631 | yes, |
| 632 | |
| 633 | button, |
| 634 | } |
| 635 | |
| 636 | /// <summary> |
| 637 | /// Values of this type will either be "default", "yes", or "no". |
| 638 | /// </summary> |
| 639 | [GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")] |
| 640 | public enum YesNoDefaultType |
| 641 | { |
| 642 | |
| 643 | IllegalValue = int.MaxValue, |
| 644 | |
| 645 | NotSet = -1, |
| 646 | |
| 647 | @default, |
| 648 | |
| 649 | no, |
| 650 | |
| 651 | yes, |
| 652 | } |
| 653 | |
| 654 | /// <summary> |
| 655 | /// Values of this type will either be "always", "yes", or "no". |
| 656 | /// </summary> |
| 657 | [GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")] |
| 658 | public enum BundleCacheType |
| 659 | { |
| 660 | NotSet = -1, |
| 661 | |
| 662 | force, |
| 663 | |
| 664 | remove, |
| 665 | |
| 666 | keep, |
| 667 | } |
| 668 | |
| 669 | /// <summary> |
| 670 | /// Values of this type represent possible registry roots. |
| 671 | /// </summary> |
| 672 | [GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")] |
| 673 | public enum RegistryRootType |
| 674 | { |
| 675 | |
| 676 | IllegalValue = int.MaxValue, |
| 677 | |
| 678 | NotSet = -1, |
| 679 | |
| 680 | /// <summary> |
| 681 | /// A per-user installation will make the operation occur under HKEY_CURRENT_USER. |
| 682 | /// A per-machine installation will make the operation occur under HKEY_LOCAL_MACHINE. |
| 683 | /// </summary> |
| 684 | HKMU, |
| 685 | |
| 686 | /// <summary> |
| 687 | /// Operation occurs under HKEY_CLASSES_ROOT. When using Windows 2000 or later, the installer writes or removes the value |
| 688 | /// from the HKCU\Software\Classes hive during per-user installations. When using Windows 2000 or later operating systems, |
| 689 | /// the installer writes or removes the value from the HKLM\Software\Classes hive during per-machine installations. |
| 690 | /// </summary> |
| 691 | HKCR, |
| 692 | |
| 693 | /// <summary> |
| 694 | /// Operation occurs under HKEY_CURRENT_USER. It is recommended to set the KeyPath='yes' attribute when setting this value for writing values |
| 695 | /// in order to ensure that the installer writes the necessary registry entries when there are multiple users on the same computer. |
| 696 | /// </summary> |
| 697 | HKCU, |
| 698 | |
| 699 | /// <summary> |
| 700 | /// Operation occurs under HKEY_LOCAL_MACHINE. |
| 701 | /// </summary> |
| 702 | HKLM, |
| 703 | |
| 704 | /// <summary> |
| 705 | /// Operation occurs under HKEY_USERS. |
| 706 | /// </summary> |
| 707 | HKU, |
| 708 | } |
| 709 | |
| 710 | /// <summary> |
| 711 | /// Value indicates that this action is executed if the installer returns the associated exit type. Each exit type can be used with no more than one action. |
| 712 | /// Multiple actions can have exit types assigned, but every action and exit type must be different. Exit types are typically used with dialog boxes. |
| 713 | /// </summary> |
| 714 | [GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")] |
| 715 | public enum ExitType |
| 716 | { |
| 717 | |
| 718 | IllegalValue = int.MaxValue, |
| 719 | |
| 720 | NotSet = -1, |
| 721 | |
| 722 | success, |
| 723 | |
| 724 | cancel, |
| 725 | |
| 726 | error, |
| 727 | |
| 728 | suspend, |
| 729 | } |
| 730 | |
| 731 | /// <summary> |
| 732 | /// Specifies whether an action occur on install, uninstall or both. |
| 733 | /// </summary> |
| 734 | [GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")] |
| 735 | public enum InstallUninstallType |
| 736 | { |
| 737 | |
| 738 | IllegalValue = int.MaxValue, |
| 739 | |
| 740 | NotSet = -1, |
| 741 | |
| 742 | /// <summary> |
| 743 | /// The action should happen during install (msiInstallStateLocal or msiInstallStateSource). |
| 744 | /// </summary> |
| 745 | install, |
| 746 | |
| 747 | /// <summary> |
| 748 | /// The action should happen during uninstall (msiInstallStateAbsent). |
| 749 | /// </summary> |
| 750 | uninstall, |
| 751 | |
| 752 | /// <summary> |
| 753 | /// The action should happen during both install and uninstall. |
| 754 | /// </summary> |
| 755 | both, |
| 756 | } |
| 757 | |
| 758 | /// <summary> |
| 759 | /// Controls which sequences the item assignment is sequenced in. |
| 760 | /// </summary> |
| 761 | [GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")] |
| 762 | public enum SequenceType |
| 763 | { |
| 764 | |
| 765 | IllegalValue = int.MaxValue, |
| 766 | |
| 767 | NotSet = -1, |
| 768 | |
| 769 | /// <summary> |
| 770 | /// Schedules the assignment in the InstallUISequence and the InstallExecuteSequence. |
| 771 | /// </summary> |
| 772 | both, |
| 773 | |
| 774 | /// <summary> |
| 775 | /// Schedules the assignment to run in the InstallUISequence or the InstallExecuteSequence if the InstallUISequence is skipped. |
| 776 | /// </summary> |
| 777 | first, |
| 778 | |
| 779 | /// <summary> |
| 780 | /// Schedules the assignment only in the the InstallExecuteSequence. |
| 781 | /// </summary> |
| 782 | execute, |
| 783 | |
| 784 | /// <summary> |
| 785 | /// Schedules the assignment only in the the InstallUISequence. |
| 786 | /// </summary> |
| 787 | ui, |
| 788 | } |
| 789 | |
| 790 | /// <summary> |
| 791 | /// Indicates the compression level for a cabinet. |
| 792 | /// </summary> |
| 793 | [GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")] |
| 794 | public enum CompressionLevelType |
| 795 | { |
| 796 | |
| 797 | IllegalValue = int.MaxValue, |
| 798 | |
| 799 | NotSet = -1, |
| 800 | |
| 801 | high, |
| 802 | |
| 803 | low, |
| 804 | |
| 805 | medium, |
| 806 | |
| 807 | mszip, |
| 808 | |
| 809 | none, |
| 810 | } |
| 811 | |
| 812 | [GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")] |
| 813 | public abstract class ActionModuleSequenceType : ISchemaElement, ISetAttributes |
| 814 | { |
| 815 | |
| 816 | private string afterField; |
| 817 | |
| 818 | private bool afterFieldSet; |
| 819 | |
| 820 | private string beforeField; |
| 821 | |
| 822 | private bool beforeFieldSet; |
| 823 | |
| 824 | private YesNoType overridableField; |
| 825 | |
| 826 | private bool overridableFieldSet; |
| 827 | |
| 828 | private int sequenceField; |
| 829 | |
| 830 | private bool sequenceFieldSet; |
| 831 | |
| 832 | private YesNoType suppressField; |
| 833 | |
| 834 | private bool suppressFieldSet; |
| 835 | |
| 836 | private string contentField; |
| 837 | |
| 838 | private bool contentFieldSet; |
| 839 | |
| 840 | private ISchemaElement parentElement; |
| 841 | |
| 842 | /// <summary> |
| 843 | /// The name of an action that this action should come after. |
| 844 | /// </summary> |
| 845 | public string After |
| 846 | { |
| 847 | get |
| 848 | { |
| 849 | return this.afterField; |
| 850 | } |
| 851 | set |
| 852 | { |
| 853 | this.afterFieldSet = true; |
| 854 | this.afterField = value; |
| 855 | } |
| 856 | } |
| 857 | |
| 858 | /// <summary> |
| 859 | /// The name of an action that this action should come before. |
| 860 | /// </summary> |
| 861 | public string Before |
| 862 | { |
| 863 | get |
| 864 | { |
| 865 | return this.beforeField; |
| 866 | } |
| 867 | set |
| 868 | { |
| 869 | this.beforeFieldSet = true; |
| 870 | this.beforeField = value; |
| 871 | } |
| 872 | } |
| 873 | |
| 874 | /// <summary> |
| 875 | /// If "yes", the sequencing of this action may be overridden by sequencing elsewhere. |
| 876 | /// </summary> |
| 877 | public YesNoType Overridable |
| 878 | { |
| 879 | get |
| 880 | { |
| 881 | return this.overridableField; |
| 882 | } |
| 883 | set |
| 884 | { |
| 885 | this.overridableFieldSet = true; |
| 886 | this.overridableField = value; |
| 887 | } |
| 888 | } |
| 889 | |
| 890 | /// <summary> |
| 891 | /// A value used to indicate the position of this action in a sequence. |
| 892 | /// </summary> |
| 893 | public int Sequence |
| 894 | { |
| 895 | get |
| 896 | { |
| 897 | return this.sequenceField; |
| 898 | } |
| 899 | set |
| 900 | { |
| 901 | this.sequenceFieldSet = true; |
| 902 | this.sequenceField = value; |
| 903 | } |
| 904 | } |
| 905 | |
| 906 | /// <summary> |
| 907 | /// If yes, this action will not occur. |
| 908 | /// </summary> |
| 909 | public YesNoType Suppress |
| 910 | { |
| 911 | get |
| 912 | { |
| 913 | return this.suppressField; |
| 914 | } |
| 915 | set |
| 916 | { |
| 917 | this.suppressFieldSet = true; |
| 918 | this.suppressField = value; |
| 919 | } |
| 920 | } |
| 921 | |
| 922 | /// <summary> |
| 923 | /// Text node specifies the condition of the action. |
| 924 | /// </summary> |
| 925 | public string Content |
| 926 | { |
| 927 | get |
| 928 | { |
| 929 | return this.contentField; |
| 930 | } |
| 931 | set |
| 932 | { |
| 933 | this.contentFieldSet = true; |
| 934 | this.contentField = value; |
| 935 | } |
| 936 | } |
| 937 | |
| 938 | public virtual ISchemaElement ParentElement |
| 939 | { |
| 940 | get |
| 941 | { |
| 942 | return this.parentElement; |
| 943 | } |
| 944 | set |
| 945 | { |
| 946 | this.parentElement = value; |
| 947 | } |
| 948 | } |
| 949 | |
| 950 | /// <summary> |
| 951 | /// Processes this element and all child elements into an XmlWriter. |
| 952 | /// </summary> |
| 953 | public virtual void OutputXml(XmlWriter writer) |
| 954 | { |
| 955 | if ((null == writer)) |
| 956 | { |
| 957 | throw new ArgumentNullException("writer"); |
| 958 | } |
| 959 | if (this.afterFieldSet) |
| 960 | { |
| 961 | writer.WriteAttributeString("After", this.afterField); |
| 962 | } |
| 963 | if (this.beforeFieldSet) |
| 964 | { |
| 965 | writer.WriteAttributeString("Before", this.beforeField); |
| 966 | } |
| 967 | if (this.overridableFieldSet) |
| 968 | { |
| 969 | if ((this.overridableField == YesNoType.no)) |
| 970 | { |
| 971 | writer.WriteAttributeString("Overridable", "no"); |
| 972 | } |
| 973 | if ((this.overridableField == YesNoType.yes)) |
| 974 | { |
| 975 | writer.WriteAttributeString("Overridable", "yes"); |
| 976 | } |
| 977 | } |
| 978 | if (this.sequenceFieldSet) |
| 979 | { |
| 980 | writer.WriteAttributeString("Sequence", this.sequenceField.ToString(CultureInfo.InvariantCulture)); |
| 981 | } |
| 982 | if (this.suppressFieldSet) |
| 983 | { |
| 984 | if ((this.suppressField == YesNoType.no)) |
| 985 | { |
| 986 | writer.WriteAttributeString("Suppress", "no"); |
| 987 | } |
| 988 | if ((this.suppressField == YesNoType.yes)) |
| 989 | { |
| 990 | writer.WriteAttributeString("Suppress", "yes"); |
| 991 | } |
| 992 | } |
| 993 | if (this.contentFieldSet) |
| 994 | { |
| 995 | writer.WriteString(this.contentField); |
| 996 | } |
| 997 | } |
| 998 | |
| 999 | [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] |
| 1000 | void ISetAttributes.SetAttribute(string name, string value) |
| 1001 | { |
| 1002 | if (String.IsNullOrEmpty(name)) |
| 1003 | { |
| 1004 | throw new ArgumentNullException("name"); |
| 1005 | } |
| 1006 | if (("After" == name)) |
| 1007 | { |
| 1008 | this.afterField = value; |
| 1009 | this.afterFieldSet = true; |
| 1010 | } |
| 1011 | if (("Before" == name)) |
| 1012 | { |
| 1013 | this.beforeField = value; |
| 1014 | this.beforeFieldSet = true; |
| 1015 | } |
| 1016 | if (("Overridable" == name)) |
| 1017 | { |
| 1018 | this.overridableField = Enums.ParseYesNoType(value); |
| 1019 | this.overridableFieldSet = true; |
| 1020 | } |
| 1021 | if (("Sequence" == name)) |
| 1022 | { |
| 1023 | this.sequenceField = Convert.ToInt32(value, CultureInfo.InvariantCulture); |
| 1024 | this.sequenceFieldSet = true; |
| 1025 | } |
| 1026 | if (("Suppress" == name)) |
| 1027 | { |
| 1028 | this.suppressField = Enums.ParseYesNoType(value); |
| 1029 | this.suppressFieldSet = true; |
| 1030 | } |
| 1031 | if (("Content" == name)) |
| 1032 | { |
| 1033 | this.contentField = value; |
| 1034 | this.contentFieldSet = true; |
| 1035 | } |
| 1036 | } |
| 1037 | } |
| 1038 | |
| 1039 | [GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")] |
| 1040 | public abstract class ActionSequenceType : ISchemaElement, ISetAttributes |
| 1041 | { |
| 1042 | |
| 1043 | private int sequenceField; |
| 1044 | |
| 1045 | private bool sequenceFieldSet; |
| 1046 | |
| 1047 | private YesNoType suppressField; |
| 1048 | |
| 1049 | private bool suppressFieldSet; |
| 1050 | |
| 1051 | private string contentField; |
| 1052 | |
| 1053 | private bool contentFieldSet; |
| 1054 | |
| 1055 | private ISchemaElement parentElement; |
| 1056 | |
| 1057 | /// <summary> |
| 1058 | /// A value used to indicate the position of this action in a sequence. |
| 1059 | /// </summary> |
| 1060 | public int Sequence |
| 1061 | { |
| 1062 | get |
| 1063 | { |
| 1064 | return this.sequenceField; |
| 1065 | } |
| 1066 | set |
| 1067 | { |
| 1068 | this.sequenceFieldSet = true; |
| 1069 | this.sequenceField = value; |
| 1070 | } |
| 1071 | } |
| 1072 | |
| 1073 | /// <summary> |
| 1074 | /// If yes, this action will not occur. |
| 1075 | /// </summary> |
| 1076 | public YesNoType Suppress |
| 1077 | { |
| 1078 | get |
| 1079 | { |
| 1080 | return this.suppressField; |
| 1081 | } |
| 1082 | set |
| 1083 | { |
| 1084 | this.suppressFieldSet = true; |
| 1085 | this.suppressField = value; |
| 1086 | } |
| 1087 | } |
| 1088 | |
| 1089 | public string Content |
| 1090 | { |
| 1091 | get |
| 1092 | { |
| 1093 | return this.contentField; |
| 1094 | } |
| 1095 | set |
| 1096 | { |
| 1097 | this.contentFieldSet = true; |
| 1098 | this.contentField = value; |
| 1099 | } |
| 1100 | } |
| 1101 | |
| 1102 | public virtual ISchemaElement ParentElement |
| 1103 | { |
| 1104 | get |
| 1105 | { |
| 1106 | return this.parentElement; |
| 1107 | } |
| 1108 | set |
| 1109 | { |
| 1110 | this.parentElement = value; |
| 1111 | } |
| 1112 | } |
| 1113 | |
| 1114 | /// <summary> |
| 1115 | /// Processes this element and all child elements into an XmlWriter. |
| 1116 | /// </summary> |
| 1117 | public virtual void OutputXml(XmlWriter writer) |
| 1118 | { |
| 1119 | if ((null == writer)) |
| 1120 | { |
| 1121 | throw new ArgumentNullException("writer"); |
| 1122 | } |
| 1123 | if (this.sequenceFieldSet) |
| 1124 | { |
| 1125 | writer.WriteAttributeString("Sequence", this.sequenceField.ToString(CultureInfo.InvariantCulture)); |
| 1126 | } |
| 1127 | if (this.suppressFieldSet) |
| 1128 | { |
| 1129 | if ((this.suppressField == YesNoType.no)) |
| 1130 | { |
| 1131 | writer.WriteAttributeString("Suppress", "no"); |
| 1132 | } |
| 1133 | if ((this.suppressField == YesNoType.yes)) |
| 1134 | { |
| 1135 | writer.WriteAttributeString("Suppress", "yes"); |
| 1136 | } |
| 1137 | } |
| 1138 | if (this.contentFieldSet) |
| 1139 | { |
| 1140 | writer.WriteString(this.contentField); |
| 1141 | } |
| 1142 | } |
| 1143 | |
| 1144 | [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] |
| 1145 | void ISetAttributes.SetAttribute(string name, string value) |
| 1146 | { |
| 1147 | if (String.IsNullOrEmpty(name)) |
| 1148 | { |
| 1149 | throw new ArgumentNullException("name"); |
| 1150 | } |
| 1151 | if (("Sequence" == name)) |
| 1152 | { |
| 1153 | this.sequenceField = Convert.ToInt32(value, CultureInfo.InvariantCulture); |
| 1154 | this.sequenceFieldSet = true; |
| 1155 | } |
| 1156 | if (("Suppress" == name)) |
| 1157 | { |
| 1158 | this.suppressField = Enums.ParseYesNoType(value); |
| 1159 | this.suppressFieldSet = true; |
| 1160 | } |
| 1161 | if (("Content" == name)) |
| 1162 | { |
| 1163 | this.contentField = value; |
| 1164 | this.contentFieldSet = true; |
| 1165 | } |
| 1166 | } |
| 1167 | } |
| 1168 | |
| 1169 | /// <summary> |
| 1170 | /// This is the top-level container element for every wxs file. Among the possible children, |
| 1171 | /// the Bundle, Package, Module, Patch, and PatchCreation elements are analogous to the main function in a C program. |
| 1172 | /// There can only be one of these present when linking occurs. Package compiles into an msi file, |
| 1173 | /// Module compiles into an msm file, PatchCreation compiles into a pcp file. The Fragment element |
| 1174 | /// is an atomic unit which ultimately links into either a Package, Module, or PatchCreation. The |
| 1175 | /// Fragment can either be completely included or excluded during linking. |
| 1176 | /// </summary> |
| 1177 | [GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")] |
| 1178 | public class Wix : IParentElement, ICreateChildren, ISchemaElement, ISetAttributes |
| 1179 | { |
| 1180 | |
| 1181 | private ElementCollection children; |
| 1182 | |
| 1183 | private string requiredVersionField; |
| 1184 | |
| 1185 | private bool requiredVersionFieldSet; |
| 1186 | |
| 1187 | private ISchemaElement parentElement; |
| 1188 | |
| 1189 | public Wix() |
| 1190 | { |
| 1191 | ElementCollection childCollection0 = new ElementCollection(ElementCollection.CollectionType.Choice); |
| 1192 | ElementCollection childCollection1 = new ElementCollection(ElementCollection.CollectionType.Sequence); |
| 1193 | ElementCollection childCollection2 = new ElementCollection(ElementCollection.CollectionType.Choice); |
| 1194 | childCollection2.AddItem(new ElementCollection.ChoiceItem(typeof(Bundle))); |
| 1195 | childCollection2.AddItem(new ElementCollection.ChoiceItem(typeof(Package))); |
| 1196 | childCollection2.AddItem(new ElementCollection.ChoiceItem(typeof(Module))); |
| 1197 | childCollection2.AddItem(new ElementCollection.ChoiceItem(typeof(Patch))); |
| 1198 | childCollection1.AddCollection(childCollection2); |
| 1199 | childCollection1.AddItem(new ElementCollection.SequenceItem(typeof(Fragment))); |
| 1200 | childCollection0.AddCollection(childCollection1); |
| 1201 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(PatchCreation))); |
| 1202 | this.children = childCollection0; |
| 1203 | } |
| 1204 | |
| 1205 | public virtual IEnumerable Children |
| 1206 | { |
| 1207 | get |
| 1208 | { |
| 1209 | return this.children; |
| 1210 | } |
| 1211 | } |
| 1212 | |
| 1213 | [SuppressMessage("Microsoft.Design", "CA1043:UseIntegralOrStringArgumentForIndexers")] |
| 1214 | public virtual IEnumerable this[System.Type childType] |
| 1215 | { |
| 1216 | get |
| 1217 | { |
| 1218 | return this.children.Filter(childType); |
| 1219 | } |
| 1220 | } |
| 1221 | |
| 1222 | /// <summary> |
| 1223 | /// Required version of the WiX toolset to compile this input file. |
| 1224 | /// </summary> |
| 1225 | public string RequiredVersion |
| 1226 | { |
| 1227 | get |
| 1228 | { |
| 1229 | return this.requiredVersionField; |
| 1230 | } |
| 1231 | set |
| 1232 | { |
| 1233 | this.requiredVersionFieldSet = true; |
| 1234 | this.requiredVersionField = value; |
| 1235 | } |
| 1236 | } |
| 1237 | |
| 1238 | public virtual ISchemaElement ParentElement |
| 1239 | { |
| 1240 | get |
| 1241 | { |
| 1242 | return this.parentElement; |
| 1243 | } |
| 1244 | set |
| 1245 | { |
| 1246 | this.parentElement = value; |
| 1247 | } |
| 1248 | } |
| 1249 | |
| 1250 | public virtual void AddChild(ISchemaElement child) |
| 1251 | { |
| 1252 | if ((null == child)) |
| 1253 | { |
| 1254 | throw new ArgumentNullException("child"); |
| 1255 | } |
| 1256 | this.children.AddElement(child); |
| 1257 | child.ParentElement = this; |
| 1258 | } |
| 1259 | |
| 1260 | public virtual void RemoveChild(ISchemaElement child) |
| 1261 | { |
| 1262 | if ((null == child)) |
| 1263 | { |
| 1264 | throw new ArgumentNullException("child"); |
| 1265 | } |
| 1266 | this.children.RemoveElement(child); |
| 1267 | child.ParentElement = null; |
| 1268 | } |
| 1269 | |
| 1270 | [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] |
| 1271 | [SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] |
| 1272 | ISchemaElement ICreateChildren.CreateChild(string childName) |
| 1273 | { |
| 1274 | if (String.IsNullOrEmpty(childName)) |
| 1275 | { |
| 1276 | throw new ArgumentNullException("childName"); |
| 1277 | } |
| 1278 | ISchemaElement childValue = null; |
| 1279 | if (("Bundle" == childName)) |
| 1280 | { |
| 1281 | childValue = new Bundle(); |
| 1282 | } |
| 1283 | if (("Package" == childName)) |
| 1284 | { |
| 1285 | childValue = new Package(); |
| 1286 | } |
| 1287 | if (("Module" == childName)) |
| 1288 | { |
| 1289 | childValue = new Module(); |
| 1290 | } |
| 1291 | if (("Patch" == childName)) |
| 1292 | { |
| 1293 | childValue = new Patch(); |
| 1294 | } |
| 1295 | if (("Fragment" == childName)) |
| 1296 | { |
| 1297 | childValue = new Fragment(); |
| 1298 | } |
| 1299 | if (("PatchCreation" == childName)) |
| 1300 | { |
| 1301 | childValue = new PatchCreation(); |
| 1302 | } |
| 1303 | if ((null == childValue)) |
| 1304 | { |
| 1305 | throw new InvalidOperationException(String.Concat(childName, " is not a valid child name.")); |
| 1306 | } |
| 1307 | return childValue; |
| 1308 | } |
| 1309 | |
| 1310 | /// <summary> |
| 1311 | /// Processes this element and all child elements into an XmlWriter. |
| 1312 | /// </summary> |
| 1313 | public virtual void OutputXml(XmlWriter writer) |
| 1314 | { |
| 1315 | if ((null == writer)) |
| 1316 | { |
| 1317 | throw new ArgumentNullException("writer"); |
| 1318 | } |
| 1319 | writer.WriteStartElement("Wix", "http://wixtoolset.org/schemas/v4/wxs"); |
| 1320 | if (this.requiredVersionFieldSet) |
| 1321 | { |
| 1322 | writer.WriteAttributeString("RequiredVersion", this.requiredVersionField); |
| 1323 | } |
| 1324 | for (IEnumerator enumerator = this.children.GetEnumerator(); enumerator.MoveNext();) |
| 1325 | { |
| 1326 | ISchemaElement childElement = ((ISchemaElement)(enumerator.Current)); |
| 1327 | childElement.OutputXml(writer); |
| 1328 | } |
| 1329 | writer.WriteEndElement(); |
| 1330 | } |
| 1331 | |
| 1332 | [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] |
| 1333 | void ISetAttributes.SetAttribute(string name, string value) |
| 1334 | { |
| 1335 | if (String.IsNullOrEmpty(name)) |
| 1336 | { |
| 1337 | throw new ArgumentNullException("name"); |
| 1338 | } |
| 1339 | if (("RequiredVersion" == name)) |
| 1340 | { |
| 1341 | this.requiredVersionField = value; |
| 1342 | this.requiredVersionFieldSet = true; |
| 1343 | } |
| 1344 | } |
| 1345 | } |
| 1346 | |
| 1347 | /// <summary> |
| 1348 | /// This is the top-level container element for every wxi file. |
| 1349 | /// </summary> |
| 1350 | [GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")] |
| 1351 | public class Include : IParentElement, ICreateChildren, ISchemaElement, ISetAttributes |
| 1352 | { |
| 1353 | |
| 1354 | private ElementCollection children; |
| 1355 | |
| 1356 | private ISchemaElement parentElement; |
| 1357 | |
| 1358 | public Include() |
| 1359 | { |
| 1360 | ElementCollection childCollection0 = new ElementCollection(ElementCollection.CollectionType.Choice); |
| 1361 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(ISchemaElement))); |
| 1362 | this.children = childCollection0; |
| 1363 | } |
| 1364 | |
| 1365 | public virtual IEnumerable Children |
| 1366 | { |
| 1367 | get |
| 1368 | { |
| 1369 | return this.children; |
| 1370 | } |
| 1371 | } |
| 1372 | |
| 1373 | [SuppressMessage("Microsoft.Design", "CA1043:UseIntegralOrStringArgumentForIndexers")] |
| 1374 | public virtual IEnumerable this[System.Type childType] |
| 1375 | { |
| 1376 | get |
| 1377 | { |
| 1378 | return this.children.Filter(childType); |
| 1379 | } |
| 1380 | } |
| 1381 | |
| 1382 | public virtual ISchemaElement ParentElement |
| 1383 | { |
| 1384 | get |
| 1385 | { |
| 1386 | return this.parentElement; |
| 1387 | } |
| 1388 | set |
| 1389 | { |
| 1390 | this.parentElement = value; |
| 1391 | } |
| 1392 | } |
| 1393 | |
| 1394 | public virtual void AddChild(ISchemaElement child) |
| 1395 | { |
| 1396 | if ((null == child)) |
| 1397 | { |
| 1398 | throw new ArgumentNullException("child"); |
| 1399 | } |
| 1400 | this.children.AddElement(child); |
| 1401 | child.ParentElement = this; |
| 1402 | } |
| 1403 | |
| 1404 | public virtual void RemoveChild(ISchemaElement child) |
| 1405 | { |
| 1406 | if ((null == child)) |
| 1407 | { |
| 1408 | throw new ArgumentNullException("child"); |
| 1409 | } |
| 1410 | this.children.RemoveElement(child); |
| 1411 | child.ParentElement = null; |
| 1412 | } |
| 1413 | |
| 1414 | [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] |
| 1415 | ISchemaElement ICreateChildren.CreateChild(string childName) |
| 1416 | { |
| 1417 | if (String.IsNullOrEmpty(childName)) |
| 1418 | { |
| 1419 | throw new ArgumentNullException("childName"); |
| 1420 | } |
| 1421 | ISchemaElement childValue = null; |
| 1422 | if ((null == childValue)) |
| 1423 | { |
| 1424 | throw new InvalidOperationException(String.Concat(childName, " is not a valid child name.")); |
| 1425 | } |
| 1426 | return childValue; |
| 1427 | } |
| 1428 | |
| 1429 | /// <summary> |
| 1430 | /// Processes this element and all child elements into an XmlWriter. |
| 1431 | /// </summary> |
| 1432 | public virtual void OutputXml(XmlWriter writer) |
| 1433 | { |
| 1434 | if ((null == writer)) |
| 1435 | { |
| 1436 | throw new ArgumentNullException("writer"); |
| 1437 | } |
| 1438 | writer.WriteStartElement("Include", "http://wixtoolset.org/schemas/v4/wxs"); |
| 1439 | for (IEnumerator enumerator = this.children.GetEnumerator(); enumerator.MoveNext();) |
| 1440 | { |
| 1441 | ISchemaElement childElement = ((ISchemaElement)(enumerator.Current)); |
| 1442 | childElement.OutputXml(writer); |
| 1443 | } |
| 1444 | writer.WriteEndElement(); |
| 1445 | } |
| 1446 | |
| 1447 | [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] |
| 1448 | void ISetAttributes.SetAttribute(string name, string value) |
| 1449 | { |
| 1450 | if (String.IsNullOrEmpty(name)) |
| 1451 | { |
| 1452 | throw new ArgumentNullException("name"); |
| 1453 | } |
| 1454 | } |
| 1455 | } |
| 1456 | |
| 1457 | /// <summary> |
| 1458 | /// The root element for creating bundled packages. |
| 1459 | /// </summary> |
| 1460 | [GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")] |
| 1461 | public class Bundle : IParentElement, ICreateChildren, ISchemaElement, ISetAttributes |
| 1462 | { |
| 1463 | |
| 1464 | private ElementCollection children; |
| 1465 | |
| 1466 | private string aboutUrlField; |
| 1467 | |
| 1468 | private bool aboutUrlFieldSet; |
| 1469 | |
| 1470 | private string copyrightField; |
| 1471 | |
| 1472 | private bool copyrightFieldSet; |
| 1473 | |
| 1474 | private YesNoDefaultType compressedField; |
| 1475 | |
| 1476 | private bool compressedFieldSet; |
| 1477 | |
| 1478 | private YesNoButtonType disableModifyField; |
| 1479 | |
| 1480 | private bool disableModifyFieldSet; |
| 1481 | |
| 1482 | private YesNoType disableRemoveField; |
| 1483 | |
| 1484 | private bool disableRemoveFieldSet; |
| 1485 | |
| 1486 | private YesNoType disableRepairField; |
| 1487 | |
| 1488 | private bool disableRepairFieldSet; |
| 1489 | |
| 1490 | private string helpTelephoneField; |
| 1491 | |
| 1492 | private bool helpTelephoneFieldSet; |
| 1493 | |
| 1494 | private string helpUrlField; |
| 1495 | |
| 1496 | private bool helpUrlFieldSet; |
| 1497 | |
| 1498 | private string iconSourceFileField; |
| 1499 | |
| 1500 | private bool iconSourceFileFieldSet; |
| 1501 | |
| 1502 | private string manufacturerField; |
| 1503 | |
| 1504 | private bool manufacturerFieldSet; |
| 1505 | |
| 1506 | private string nameField; |
| 1507 | |
| 1508 | private bool nameFieldSet; |
| 1509 | |
| 1510 | private string parentNameField; |
| 1511 | |
| 1512 | private bool parentNameFieldSet; |
| 1513 | |
| 1514 | private string splashScreenSourceFileField; |
| 1515 | |
| 1516 | private bool splashScreenSourceFileFieldSet; |
| 1517 | |
| 1518 | private string tagField; |
| 1519 | |
| 1520 | private bool tagFieldSet; |
| 1521 | |
| 1522 | private string updateUrlField; |
| 1523 | |
| 1524 | private bool updateUrlFieldSet; |
| 1525 | |
| 1526 | private string upgradeCodeField; |
| 1527 | |
| 1528 | private bool upgradeCodeFieldSet; |
| 1529 | |
| 1530 | private string versionField; |
| 1531 | |
| 1532 | private bool versionFieldSet; |
| 1533 | |
| 1534 | private string conditionField; |
| 1535 | |
| 1536 | private bool conditionFieldSet; |
| 1537 | |
| 1538 | private ISchemaElement parentElement; |
| 1539 | |
| 1540 | public Bundle() |
| 1541 | { |
| 1542 | ElementCollection childCollection0 = new ElementCollection(ElementCollection.CollectionType.Choice); |
| 1543 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(ApprovedExeForElevation))); |
| 1544 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(Log))); |
| 1545 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(Catalog))); |
| 1546 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(BootstrapperApplication))); |
| 1547 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(BootstrapperApplicationRef))); |
| 1548 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(OptionalUpdateRegistration))); |
| 1549 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(Chain))); |
| 1550 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(Container))); |
| 1551 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(ContainerRef))); |
| 1552 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(PayloadGroup))); |
| 1553 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(PayloadGroupRef))); |
| 1554 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(RelatedBundle))); |
| 1555 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(Update))); |
| 1556 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(Variable))); |
| 1557 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(WixVariable))); |
| 1558 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(ISchemaElement))); |
| 1559 | this.children = childCollection0; |
| 1560 | } |
| 1561 | |
| 1562 | public virtual IEnumerable Children |
| 1563 | { |
| 1564 | get |
| 1565 | { |
| 1566 | return this.children; |
| 1567 | } |
| 1568 | } |
| 1569 | |
| 1570 | [SuppressMessage("Microsoft.Design", "CA1043:UseIntegralOrStringArgumentForIndexers")] |
| 1571 | public virtual IEnumerable this[System.Type childType] |
| 1572 | { |
| 1573 | get |
| 1574 | { |
| 1575 | return this.children.Filter(childType); |
| 1576 | } |
| 1577 | } |
| 1578 | |
| 1579 | /// <summary> |
| 1580 | /// A URL for more information about the bundle to display in Programs and Features (also |
| 1581 | /// known as Add/Remove Programs). |
| 1582 | /// </summary> |
| 1583 | public string AboutUrl |
| 1584 | { |
| 1585 | get |
| 1586 | { |
| 1587 | return this.aboutUrlField; |
| 1588 | } |
| 1589 | set |
| 1590 | { |
| 1591 | this.aboutUrlFieldSet = true; |
| 1592 | this.aboutUrlField = value; |
| 1593 | } |
| 1594 | } |
| 1595 | |
| 1596 | /// <summary> |
| 1597 | /// The legal copyright found in the version resources of final bundle executable. If |
| 1598 | /// this attribute is not provided the copyright will be set to "Copyright (c) [Bundle/@Manufacturer]. All rights reserved.". |
| 1599 | /// </summary> |
| 1600 | public string Copyright |
| 1601 | { |
| 1602 | get |
| 1603 | { |
| 1604 | return this.copyrightField; |
| 1605 | } |
| 1606 | set |
| 1607 | { |
| 1608 | this.copyrightFieldSet = true; |
| 1609 | this.copyrightField = value; |
| 1610 | } |
| 1611 | } |
| 1612 | |
| 1613 | /// <summary> |
| 1614 | /// Whether Packages and Payloads not assigned to a container should be added to the default attached container or if they should be external. The default is yes. |
| 1615 | /// </summary> |
| 1616 | public YesNoDefaultType Compressed |
| 1617 | { |
| 1618 | get |
| 1619 | { |
| 1620 | return this.compressedField; |
| 1621 | } |
| 1622 | set |
| 1623 | { |
| 1624 | this.compressedFieldSet = true; |
| 1625 | this.compressedField = value; |
| 1626 | } |
| 1627 | } |
| 1628 | |
| 1629 | /// <summary> |
| 1630 | /// Determines whether the bundle can be modified via the Programs and Features (also known as |
| 1631 | /// Add/Remove Programs). If the value is "button" then Programs and Features will show a single |
| 1632 | /// "Uninstall/Change" button. If the value is "yes" then Programs and Features will only show |
| 1633 | /// the "Uninstall" button". If the value is "no", the default, then a "Change" button is shown. |
| 1634 | /// See the DisableRemove attribute for information how to not display the bundle in Programs |
| 1635 | /// and Features. |
| 1636 | /// </summary> |
| 1637 | public YesNoButtonType DisableModify |
| 1638 | { |
| 1639 | get |
| 1640 | { |
| 1641 | return this.disableModifyField; |
| 1642 | } |
| 1643 | set |
| 1644 | { |
| 1645 | this.disableModifyFieldSet = true; |
| 1646 | this.disableModifyField = value; |
| 1647 | } |
| 1648 | } |
| 1649 | |
| 1650 | /// <summary> |
| 1651 | /// Determines whether the bundle can be removed via the Programs and Features (also |
| 1652 | /// known as Add/Remove Programs). If the value is "yes" then the "Uninstall" button will |
| 1653 | /// not be displayed. The default is "no" which ensures there is an "Uninstall" button to |
| 1654 | /// remove the bundle. If the "DisableModify" attribute is also "yes" or "button" then the |
| 1655 | /// bundle will not be displayed in Progams and Features and another mechanism (such as |
| 1656 | /// registering as a related bundle addon) must be used to ensure the bundle can be removed. |
| 1657 | /// </summary> |
| 1658 | public YesNoType DisableRemove |
| 1659 | { |
| 1660 | get |
| 1661 | { |
| 1662 | return this.disableRemoveField; |
| 1663 | } |
| 1664 | set |
| 1665 | { |
| 1666 | this.disableRemoveFieldSet = true; |
| 1667 | this.disableRemoveField = value; |
| 1668 | } |
| 1669 | } |
| 1670 | |
| 1671 | public YesNoType DisableRepair |
| 1672 | { |
| 1673 | get |
| 1674 | { |
| 1675 | return this.disableRepairField; |
| 1676 | } |
| 1677 | set |
| 1678 | { |
| 1679 | this.disableRepairFieldSet = true; |
| 1680 | this.disableRepairField = value; |
| 1681 | } |
| 1682 | } |
| 1683 | |
| 1684 | /// <summary> |
| 1685 | /// A telephone number for help to display in Programs and Features (also known as |
| 1686 | /// Add/Remove Programs). |
| 1687 | /// </summary> |
| 1688 | public string HelpTelephone |
| 1689 | { |
| 1690 | get |
| 1691 | { |
| 1692 | return this.helpTelephoneField; |
| 1693 | } |
| 1694 | set |
| 1695 | { |
| 1696 | this.helpTelephoneFieldSet = true; |
| 1697 | this.helpTelephoneField = value; |
| 1698 | } |
| 1699 | } |
| 1700 | |
| 1701 | /// <summary> |
| 1702 | /// A URL to the help for the bundle to display in Programs and Features (also known as |
| 1703 | /// Add/Remove Programs). |
| 1704 | /// </summary> |
| 1705 | public string HelpUrl |
| 1706 | { |
| 1707 | get |
| 1708 | { |
| 1709 | return this.helpUrlField; |
| 1710 | } |
| 1711 | set |
| 1712 | { |
| 1713 | this.helpUrlFieldSet = true; |
| 1714 | this.helpUrlField = value; |
| 1715 | } |
| 1716 | } |
| 1717 | |
| 1718 | /// <summary> |
| 1719 | /// Path to an icon that will replace the default icon in the final Bundle executable. |
| 1720 | /// This icon will also be displayed in Programs and Features (also known as Add/Remove |
| 1721 | /// Programs). |
| 1722 | /// </summary> |
| 1723 | public string IconSourceFile |
| 1724 | { |
| 1725 | get |
| 1726 | { |
| 1727 | return this.iconSourceFileField; |
| 1728 | } |
| 1729 | set |
| 1730 | { |
| 1731 | this.iconSourceFileFieldSet = true; |
| 1732 | this.iconSourceFileField = value; |
| 1733 | } |
| 1734 | } |
| 1735 | |
| 1736 | /// <summary> |
| 1737 | /// The publisher of the bundle to display in Programs and Features (also known as |
| 1738 | /// Add/Remove Programs). |
| 1739 | /// </summary> |
| 1740 | public string Manufacturer |
| 1741 | { |
| 1742 | get |
| 1743 | { |
| 1744 | return this.manufacturerField; |
| 1745 | } |
| 1746 | set |
| 1747 | { |
| 1748 | this.manufacturerFieldSet = true; |
| 1749 | this.manufacturerField = value; |
| 1750 | } |
| 1751 | } |
| 1752 | |
| 1753 | /// <summary> |
| 1754 | /// The name of the bundle to display in Programs and Features (also known as Add/Remove |
| 1755 | /// Programs). This name can be accessed and overwritten by a BootstrapperApplication |
| 1756 | /// using the WixBundleName bundle variable. |
| 1757 | /// </summary> |
| 1758 | public string Name |
| 1759 | { |
| 1760 | get |
| 1761 | { |
| 1762 | return this.nameField; |
| 1763 | } |
| 1764 | set |
| 1765 | { |
| 1766 | this.nameFieldSet = true; |
| 1767 | this.nameField = value; |
| 1768 | } |
| 1769 | } |
| 1770 | |
| 1771 | /// <summary> |
| 1772 | /// The name of the parent bundle to display in Installed Updates (also known as Add/Remove |
| 1773 | /// Programs). This name is used to nest or group bundles that will appear as updates. |
| 1774 | /// If the parent name does not actually exist, a virtual parent is created automatically. |
| 1775 | /// </summary> |
| 1776 | public string ParentName |
| 1777 | { |
| 1778 | get |
| 1779 | { |
| 1780 | return this.parentNameField; |
| 1781 | } |
| 1782 | set |
| 1783 | { |
| 1784 | this.parentNameFieldSet = true; |
| 1785 | this.parentNameField = value; |
| 1786 | } |
| 1787 | } |
| 1788 | |
| 1789 | /// <summary> |
| 1790 | /// Path to a bitmap that will be shown as the bootstrapper application is being loaded. If this attribute is not specified, no splash screen will be displayed. |
| 1791 | /// </summary> |
| 1792 | public string SplashScreenSourceFile |
| 1793 | { |
| 1794 | get |
| 1795 | { |
| 1796 | return this.splashScreenSourceFileField; |
| 1797 | } |
| 1798 | set |
| 1799 | { |
| 1800 | this.splashScreenSourceFileFieldSet = true; |
| 1801 | this.splashScreenSourceFileField = value; |
| 1802 | } |
| 1803 | } |
| 1804 | |
| 1805 | /// <summary> |
| 1806 | /// Set this string to uniquely identify this bundle to its own BA, and to related bundles. The value of this string only matters to the BA, and its value has no direct effect on engine functionality. |
| 1807 | /// </summary> |
| 1808 | public string Tag |
| 1809 | { |
| 1810 | get |
| 1811 | { |
| 1812 | return this.tagField; |
| 1813 | } |
| 1814 | set |
| 1815 | { |
| 1816 | this.tagFieldSet = true; |
| 1817 | this.tagField = value; |
| 1818 | } |
| 1819 | } |
| 1820 | |
| 1821 | /// <summary> |
| 1822 | /// A URL for updates of the bundle to display in Programs and Features (also |
| 1823 | /// known as Add/Remove Programs). |
| 1824 | /// </summary> |
| 1825 | public string UpdateUrl |
| 1826 | { |
| 1827 | get |
| 1828 | { |
| 1829 | return this.updateUrlField; |
| 1830 | } |
| 1831 | set |
| 1832 | { |
| 1833 | this.updateUrlFieldSet = true; |
| 1834 | this.updateUrlField = value; |
| 1835 | } |
| 1836 | } |
| 1837 | |
| 1838 | /// <summary> |
| 1839 | /// Unique identifier for a family of bundles. If two bundles have the same UpgradeCode the |
| 1840 | /// bundle with the highest version will be installed. |
| 1841 | /// </summary> |
| 1842 | public string UpgradeCode |
| 1843 | { |
| 1844 | get |
| 1845 | { |
| 1846 | return this.upgradeCodeField; |
| 1847 | } |
| 1848 | set |
| 1849 | { |
| 1850 | this.upgradeCodeFieldSet = true; |
| 1851 | this.upgradeCodeField = value; |
| 1852 | } |
| 1853 | } |
| 1854 | |
| 1855 | /// <summary> |
| 1856 | /// The version of the bundle. Newer versions upgrade earlier versions of the bundles |
| 1857 | /// with matching UpgradeCodes. If the bundle is registered in Programs and Features |
| 1858 | /// then this attribute will be displayed in the Programs and Features user interface. |
| 1859 | /// </summary> |
| 1860 | public string Version |
| 1861 | { |
| 1862 | get |
| 1863 | { |
| 1864 | return this.versionField; |
| 1865 | } |
| 1866 | set |
| 1867 | { |
| 1868 | this.versionFieldSet = true; |
| 1869 | this.versionField = value; |
| 1870 | } |
| 1871 | } |
| 1872 | |
| 1873 | /// <summary> |
| 1874 | /// The condition of the bundle. If the condition is not met, the bundle will |
| 1875 | /// refuse to run. Conditions are checked before the bootstrapper application is loaded |
| 1876 | /// (before detect), and thus can only reference built-in variables such as |
| 1877 | /// variables which indicate the version of the OS. |
| 1878 | /// </summary> |
| 1879 | public string Condition |
| 1880 | { |
| 1881 | get |
| 1882 | { |
| 1883 | return this.conditionField; |
| 1884 | } |
| 1885 | set |
| 1886 | { |
| 1887 | this.conditionFieldSet = true; |
| 1888 | this.conditionField = value; |
| 1889 | } |
| 1890 | } |
| 1891 | |
| 1892 | public virtual ISchemaElement ParentElement |
| 1893 | { |
| 1894 | get |
| 1895 | { |
| 1896 | return this.parentElement; |
| 1897 | } |
| 1898 | set |
| 1899 | { |
| 1900 | this.parentElement = value; |
| 1901 | } |
| 1902 | } |
| 1903 | |
| 1904 | public virtual void AddChild(ISchemaElement child) |
| 1905 | { |
| 1906 | if ((null == child)) |
| 1907 | { |
| 1908 | throw new ArgumentNullException("child"); |
| 1909 | } |
| 1910 | this.children.AddElement(child); |
| 1911 | child.ParentElement = this; |
| 1912 | } |
| 1913 | |
| 1914 | public virtual void RemoveChild(ISchemaElement child) |
| 1915 | { |
| 1916 | if ((null == child)) |
| 1917 | { |
| 1918 | throw new ArgumentNullException("child"); |
| 1919 | } |
| 1920 | this.children.RemoveElement(child); |
| 1921 | child.ParentElement = null; |
| 1922 | } |
| 1923 | |
| 1924 | [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] |
| 1925 | [SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] |
| 1926 | ISchemaElement ICreateChildren.CreateChild(string childName) |
| 1927 | { |
| 1928 | if (String.IsNullOrEmpty(childName)) |
| 1929 | { |
| 1930 | throw new ArgumentNullException("childName"); |
| 1931 | } |
| 1932 | ISchemaElement childValue = null; |
| 1933 | if (("ApprovedExeForElevation" == childName)) |
| 1934 | { |
| 1935 | childValue = new ApprovedExeForElevation(); |
| 1936 | } |
| 1937 | if (("Log" == childName)) |
| 1938 | { |
| 1939 | childValue = new Log(); |
| 1940 | } |
| 1941 | if (("Catalog" == childName)) |
| 1942 | { |
| 1943 | childValue = new Catalog(); |
| 1944 | } |
| 1945 | if (("BootstrapperApplication" == childName)) |
| 1946 | { |
| 1947 | childValue = new BootstrapperApplication(); |
| 1948 | } |
| 1949 | if (("BootstrapperApplicationRef" == childName)) |
| 1950 | { |
| 1951 | childValue = new BootstrapperApplicationRef(); |
| 1952 | } |
| 1953 | if (("OptionalUpdateRegistration" == childName)) |
| 1954 | { |
| 1955 | childValue = new OptionalUpdateRegistration(); |
| 1956 | } |
| 1957 | if (("Chain" == childName)) |
| 1958 | { |
| 1959 | childValue = new Chain(); |
| 1960 | } |
| 1961 | if (("Container" == childName)) |
| 1962 | { |
| 1963 | childValue = new Container(); |
| 1964 | } |
| 1965 | if (("ContainerRef" == childName)) |
| 1966 | { |
| 1967 | childValue = new ContainerRef(); |
| 1968 | } |
| 1969 | if (("PayloadGroup" == childName)) |
| 1970 | { |
| 1971 | childValue = new PayloadGroup(); |
| 1972 | } |
| 1973 | if (("PayloadGroupRef" == childName)) |
| 1974 | { |
| 1975 | childValue = new PayloadGroupRef(); |
| 1976 | } |
| 1977 | if (("RelatedBundle" == childName)) |
| 1978 | { |
| 1979 | childValue = new RelatedBundle(); |
| 1980 | } |
| 1981 | if (("Update" == childName)) |
| 1982 | { |
| 1983 | childValue = new Update(); |
| 1984 | } |
| 1985 | if (("Variable" == childName)) |
| 1986 | { |
| 1987 | childValue = new Variable(); |
| 1988 | } |
| 1989 | if (("WixVariable" == childName)) |
| 1990 | { |
| 1991 | childValue = new WixVariable(); |
| 1992 | } |
| 1993 | if ((null == childValue)) |
| 1994 | { |
| 1995 | throw new InvalidOperationException(String.Concat(childName, " is not a valid child name.")); |
| 1996 | } |
| 1997 | return childValue; |
| 1998 | } |
| 1999 | |
| 2000 | /// <summary> |
| 2001 | /// Processes this element and all child elements into an XmlWriter. |
| 2002 | /// </summary> |
| 2003 | [SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] |
| 2004 | public virtual void OutputXml(XmlWriter writer) |
| 2005 | { |
| 2006 | if ((null == writer)) |
| 2007 | { |
| 2008 | throw new ArgumentNullException("writer"); |
| 2009 | } |
| 2010 | writer.WriteStartElement("Bundle", "http://wixtoolset.org/schemas/v4/wxs"); |
| 2011 | if (this.aboutUrlFieldSet) |
| 2012 | { |
| 2013 | writer.WriteAttributeString("AboutUrl", this.aboutUrlField); |
| 2014 | } |
| 2015 | if (this.copyrightFieldSet) |
| 2016 | { |
| 2017 | writer.WriteAttributeString("Copyright", this.copyrightField); |
| 2018 | } |
| 2019 | if (this.compressedFieldSet) |
| 2020 | { |
| 2021 | if ((this.compressedField == YesNoDefaultType.@default)) |
| 2022 | { |
| 2023 | writer.WriteAttributeString("Compressed", "default"); |
| 2024 | } |
| 2025 | if ((this.compressedField == YesNoDefaultType.no)) |
| 2026 | { |
| 2027 | writer.WriteAttributeString("Compressed", "no"); |
| 2028 | } |
| 2029 | if ((this.compressedField == YesNoDefaultType.yes)) |
| 2030 | { |
| 2031 | writer.WriteAttributeString("Compressed", "yes"); |
| 2032 | } |
| 2033 | } |
| 2034 | if (this.disableModifyFieldSet) |
| 2035 | { |
| 2036 | if ((this.disableModifyField == YesNoButtonType.no)) |
| 2037 | { |
| 2038 | writer.WriteAttributeString("DisableModify", "no"); |
| 2039 | } |
| 2040 | if ((this.disableModifyField == YesNoButtonType.yes)) |
| 2041 | { |
| 2042 | writer.WriteAttributeString("DisableModify", "yes"); |
| 2043 | } |
| 2044 | if ((this.disableModifyField == YesNoButtonType.button)) |
| 2045 | { |
| 2046 | writer.WriteAttributeString("DisableModify", "button"); |
| 2047 | } |
| 2048 | } |
| 2049 | if (this.disableRemoveFieldSet) |
| 2050 | { |
| 2051 | if ((this.disableRemoveField == YesNoType.no)) |
| 2052 | { |
| 2053 | writer.WriteAttributeString("DisableRemove", "no"); |
| 2054 | } |
| 2055 | if ((this.disableRemoveField == YesNoType.yes)) |
| 2056 | { |
| 2057 | writer.WriteAttributeString("DisableRemove", "yes"); |
| 2058 | } |
| 2059 | } |
| 2060 | if (this.disableRepairFieldSet) |
| 2061 | { |
| 2062 | if ((this.disableRepairField == YesNoType.no)) |
| 2063 | { |
| 2064 | writer.WriteAttributeString("DisableRepair", "no"); |
| 2065 | } |
| 2066 | if ((this.disableRepairField == YesNoType.yes)) |
| 2067 | { |
| 2068 | writer.WriteAttributeString("DisableRepair", "yes"); |
| 2069 | } |
| 2070 | } |
| 2071 | if (this.helpTelephoneFieldSet) |
| 2072 | { |
| 2073 | writer.WriteAttributeString("HelpTelephone", this.helpTelephoneField); |
| 2074 | } |
| 2075 | if (this.helpUrlFieldSet) |
| 2076 | { |
| 2077 | writer.WriteAttributeString("HelpUrl", this.helpUrlField); |
| 2078 | } |
| 2079 | if (this.iconSourceFileFieldSet) |
| 2080 | { |
| 2081 | writer.WriteAttributeString("IconSourceFile", this.iconSourceFileField); |
| 2082 | } |
| 2083 | if (this.manufacturerFieldSet) |
| 2084 | { |
| 2085 | writer.WriteAttributeString("Manufacturer", this.manufacturerField); |
| 2086 | } |
| 2087 | if (this.nameFieldSet) |
| 2088 | { |
| 2089 | writer.WriteAttributeString("Name", this.nameField); |
| 2090 | } |
| 2091 | if (this.parentNameFieldSet) |
| 2092 | { |
| 2093 | writer.WriteAttributeString("ParentName", this.parentNameField); |
| 2094 | } |
| 2095 | if (this.splashScreenSourceFileFieldSet) |
| 2096 | { |
| 2097 | writer.WriteAttributeString("SplashScreenSourceFile", this.splashScreenSourceFileField); |
| 2098 | } |
| 2099 | if (this.tagFieldSet) |
| 2100 | { |
| 2101 | writer.WriteAttributeString("Tag", this.tagField); |
| 2102 | } |
| 2103 | if (this.updateUrlFieldSet) |
| 2104 | { |
| 2105 | writer.WriteAttributeString("UpdateUrl", this.updateUrlField); |
| 2106 | } |
| 2107 | if (this.upgradeCodeFieldSet) |
| 2108 | { |
| 2109 | writer.WriteAttributeString("UpgradeCode", this.upgradeCodeField); |
| 2110 | } |
| 2111 | if (this.versionFieldSet) |
| 2112 | { |
| 2113 | writer.WriteAttributeString("Version", this.versionField); |
| 2114 | } |
| 2115 | if (this.conditionFieldSet) |
| 2116 | { |
| 2117 | writer.WriteAttributeString("Condition", this.conditionField); |
| 2118 | } |
| 2119 | for (IEnumerator enumerator = this.children.GetEnumerator(); enumerator.MoveNext();) |
| 2120 | { |
| 2121 | ISchemaElement childElement = ((ISchemaElement)(enumerator.Current)); |
| 2122 | childElement.OutputXml(writer); |
| 2123 | } |
| 2124 | writer.WriteEndElement(); |
| 2125 | } |
| 2126 | |
| 2127 | [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] |
| 2128 | [SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] |
| 2129 | void ISetAttributes.SetAttribute(string name, string value) |
| 2130 | { |
| 2131 | if (String.IsNullOrEmpty(name)) |
| 2132 | { |
| 2133 | throw new ArgumentNullException("name"); |
| 2134 | } |
| 2135 | if (("AboutUrl" == name)) |
| 2136 | { |
| 2137 | this.aboutUrlField = value; |
| 2138 | this.aboutUrlFieldSet = true; |
| 2139 | } |
| 2140 | if (("Copyright" == name)) |
| 2141 | { |
| 2142 | this.copyrightField = value; |
| 2143 | this.copyrightFieldSet = true; |
| 2144 | } |
| 2145 | if (("Compressed" == name)) |
| 2146 | { |
| 2147 | this.compressedField = Enums.ParseYesNoDefaultType(value); |
| 2148 | this.compressedFieldSet = true; |
| 2149 | } |
| 2150 | if (("DisableModify" == name)) |
| 2151 | { |
| 2152 | this.disableModifyField = Enums.ParseYesNoButtonType(value); |
| 2153 | this.disableModifyFieldSet = true; |
| 2154 | } |
| 2155 | if (("DisableRemove" == name)) |
| 2156 | { |
| 2157 | this.disableRemoveField = Enums.ParseYesNoType(value); |
| 2158 | this.disableRemoveFieldSet = true; |
| 2159 | } |
| 2160 | if (("DisableRepair" == name)) |
| 2161 | { |
| 2162 | this.disableRepairField = Enums.ParseYesNoType(value); |
| 2163 | this.disableRepairFieldSet = true; |
| 2164 | } |
| 2165 | if (("HelpTelephone" == name)) |
| 2166 | { |
| 2167 | this.helpTelephoneField = value; |
| 2168 | this.helpTelephoneFieldSet = true; |
| 2169 | } |
| 2170 | if (("HelpUrl" == name)) |
| 2171 | { |
| 2172 | this.helpUrlField = value; |
| 2173 | this.helpUrlFieldSet = true; |
| 2174 | } |
| 2175 | if (("IconSourceFile" == name)) |
| 2176 | { |
| 2177 | this.iconSourceFileField = value; |
| 2178 | this.iconSourceFileFieldSet = true; |
| 2179 | } |
| 2180 | if (("Manufacturer" == name)) |
| 2181 | { |
| 2182 | this.manufacturerField = value; |
| 2183 | this.manufacturerFieldSet = true; |
| 2184 | } |
| 2185 | if (("Name" == name)) |
| 2186 | { |
| 2187 | this.nameField = value; |
| 2188 | this.nameFieldSet = true; |
| 2189 | } |
| 2190 | if (("ParentName" == name)) |
| 2191 | { |
| 2192 | this.parentNameField = value; |
| 2193 | this.parentNameFieldSet = true; |
| 2194 | } |
| 2195 | if (("SplashScreenSourceFile" == name)) |
| 2196 | { |
| 2197 | this.splashScreenSourceFileField = value; |
| 2198 | this.splashScreenSourceFileFieldSet = true; |
| 2199 | } |
| 2200 | if (("Tag" == name)) |
| 2201 | { |
| 2202 | this.tagField = value; |
| 2203 | this.tagFieldSet = true; |
| 2204 | } |
| 2205 | if (("UpdateUrl" == name)) |
| 2206 | { |
| 2207 | this.updateUrlField = value; |
| 2208 | this.updateUrlFieldSet = true; |
| 2209 | } |
| 2210 | if (("UpgradeCode" == name)) |
| 2211 | { |
| 2212 | this.upgradeCodeField = value; |
| 2213 | this.upgradeCodeFieldSet = true; |
| 2214 | } |
| 2215 | if (("Version" == name)) |
| 2216 | { |
| 2217 | this.versionField = value; |
| 2218 | this.versionFieldSet = true; |
| 2219 | } |
| 2220 | if (("Condition" == name)) |
| 2221 | { |
| 2222 | this.conditionField = value; |
| 2223 | this.conditionFieldSet = true; |
| 2224 | } |
| 2225 | } |
| 2226 | } |
| 2227 | |
| 2228 | /// <summary> |
| 2229 | /// Provides information about an .exe so that the BA can request the engine to run it elevated from any secure location. |
| 2230 | /// </summary> |
| 2231 | [GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")] |
| 2232 | public class ApprovedExeForElevation : ISchemaElement, ISetAttributes |
| 2233 | { |
| 2234 | |
| 2235 | private string idField; |
| 2236 | |
| 2237 | private bool idFieldSet; |
| 2238 | |
| 2239 | private string keyField; |
| 2240 | |
| 2241 | private bool keyFieldSet; |
| 2242 | |
| 2243 | private string valueField; |
| 2244 | |
| 2245 | private bool valueFieldSet; |
| 2246 | |
| 2247 | private YesNoType win64Field; |
| 2248 | |
| 2249 | private bool win64FieldSet; |
| 2250 | |
| 2251 | private ISchemaElement parentElement; |
| 2252 | |
| 2253 | /// <summary> |
| 2254 | /// The identifier of the ApprovedExeForElevation element. |
| 2255 | /// </summary> |
| 2256 | public string Id |
| 2257 | { |
| 2258 | get |
| 2259 | { |
| 2260 | return this.idField; |
| 2261 | } |
| 2262 | set |
| 2263 | { |
| 2264 | this.idFieldSet = true; |
| 2265 | this.idField = value; |
| 2266 | } |
| 2267 | } |
| 2268 | |
| 2269 | /// <summary> |
| 2270 | /// The key path. |
| 2271 | /// For security purposes, the root key will be HKLM and Variables are not supported. |
| 2272 | /// </summary> |
| 2273 | public string Key |
| 2274 | { |
| 2275 | get |
| 2276 | { |
| 2277 | return this.keyField; |
| 2278 | } |
| 2279 | set |
| 2280 | { |
| 2281 | this.keyFieldSet = true; |
| 2282 | this.keyField = value; |
| 2283 | } |
| 2284 | } |
| 2285 | |
| 2286 | /// <summary> |
| 2287 | /// The value name. |
| 2288 | /// For security purposes, Variables are not supported. |
| 2289 | /// </summary> |
| 2290 | public string Value |
| 2291 | { |
| 2292 | get |
| 2293 | { |
| 2294 | return this.valueField; |
| 2295 | } |
| 2296 | set |
| 2297 | { |
| 2298 | this.valueFieldSet = true; |
| 2299 | this.valueField = value; |
| 2300 | } |
| 2301 | } |
| 2302 | |
| 2303 | /// <summary> |
| 2304 | /// Instructs the search to look in the 64-bit registry when the value is 'yes'. |
| 2305 | /// When the value is 'no', the search looks in the 32-bit registry. |
| 2306 | /// The default value is 'no'. |
| 2307 | /// </summary> |
| 2308 | public YesNoType Win64 |
| 2309 | { |
| 2310 | get |
| 2311 | { |
| 2312 | return this.win64Field; |
| 2313 | } |
| 2314 | set |
| 2315 | { |
| 2316 | this.win64FieldSet = true; |
| 2317 | this.win64Field = value; |
| 2318 | } |
| 2319 | } |
| 2320 | |
| 2321 | public virtual ISchemaElement ParentElement |
| 2322 | { |
| 2323 | get |
| 2324 | { |
| 2325 | return this.parentElement; |
| 2326 | } |
| 2327 | set |
| 2328 | { |
| 2329 | this.parentElement = value; |
| 2330 | } |
| 2331 | } |
| 2332 | |
| 2333 | /// <summary> |
| 2334 | /// Processes this element and all child elements into an XmlWriter. |
| 2335 | /// </summary> |
| 2336 | public virtual void OutputXml(XmlWriter writer) |
| 2337 | { |
| 2338 | if ((null == writer)) |
| 2339 | { |
| 2340 | throw new ArgumentNullException("writer"); |
| 2341 | } |
| 2342 | writer.WriteStartElement("ApprovedExeForElevation", "http://wixtoolset.org/schemas/v4/wxs"); |
| 2343 | if (this.idFieldSet) |
| 2344 | { |
| 2345 | writer.WriteAttributeString("Id", this.idField); |
| 2346 | } |
| 2347 | if (this.keyFieldSet) |
| 2348 | { |
| 2349 | writer.WriteAttributeString("Key", this.keyField); |
| 2350 | } |
| 2351 | if (this.valueFieldSet) |
| 2352 | { |
| 2353 | writer.WriteAttributeString("Value", this.valueField); |
| 2354 | } |
| 2355 | if (this.win64FieldSet) |
| 2356 | { |
| 2357 | if ((this.win64Field == YesNoType.no)) |
| 2358 | { |
| 2359 | writer.WriteAttributeString("Win64", "no"); |
| 2360 | } |
| 2361 | if ((this.win64Field == YesNoType.yes)) |
| 2362 | { |
| 2363 | writer.WriteAttributeString("Win64", "yes"); |
| 2364 | } |
| 2365 | } |
| 2366 | writer.WriteEndElement(); |
| 2367 | } |
| 2368 | |
| 2369 | [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] |
| 2370 | void ISetAttributes.SetAttribute(string name, string value) |
| 2371 | { |
| 2372 | if (String.IsNullOrEmpty(name)) |
| 2373 | { |
| 2374 | throw new ArgumentNullException("name"); |
| 2375 | } |
| 2376 | if (("Id" == name)) |
| 2377 | { |
| 2378 | this.idField = value; |
| 2379 | this.idFieldSet = true; |
| 2380 | } |
| 2381 | if (("Key" == name)) |
| 2382 | { |
| 2383 | this.keyField = value; |
| 2384 | this.keyFieldSet = true; |
| 2385 | } |
| 2386 | if (("Value" == name)) |
| 2387 | { |
| 2388 | this.valueField = value; |
| 2389 | this.valueFieldSet = true; |
| 2390 | } |
| 2391 | if (("Win64" == name)) |
| 2392 | { |
| 2393 | this.win64Field = Enums.ParseYesNoType(value); |
| 2394 | this.win64FieldSet = true; |
| 2395 | } |
| 2396 | } |
| 2397 | } |
| 2398 | |
| 2399 | /// <summary> |
| 2400 | /// Overrides the default log settings for a bundle. |
| 2401 | /// </summary> |
| 2402 | [GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")] |
| 2403 | public class Log : ISchemaElement, ISetAttributes |
| 2404 | { |
| 2405 | |
| 2406 | private YesNoType disableField; |
| 2407 | |
| 2408 | private bool disableFieldSet; |
| 2409 | |
| 2410 | private string pathVariableField; |
| 2411 | |
| 2412 | private bool pathVariableFieldSet; |
| 2413 | |
| 2414 | private string prefixField; |
| 2415 | |
| 2416 | private bool prefixFieldSet; |
| 2417 | |
| 2418 | private string extensionField; |
| 2419 | |
| 2420 | private bool extensionFieldSet; |
| 2421 | |
| 2422 | private ISchemaElement parentElement; |
| 2423 | |
| 2424 | /// <summary> |
| 2425 | /// Disables the default logging in the Bundle. The end user can still generate a |
| 2426 | /// log file by specifying the "-l" command-line argument when installing the |
| 2427 | /// Bundle. |
| 2428 | /// </summary> |
| 2429 | public YesNoType Disable |
| 2430 | { |
| 2431 | get |
| 2432 | { |
| 2433 | return this.disableField; |
| 2434 | } |
| 2435 | set |
| 2436 | { |
| 2437 | this.disableFieldSet = true; |
| 2438 | this.disableField = value; |
| 2439 | } |
| 2440 | } |
| 2441 | |
| 2442 | /// <summary> |
| 2443 | /// Name of a Variable that will hold the path to the log file. An empty value |
| 2444 | /// will cause the variable to not be set. The default is "WixBundleLog". |
| 2445 | /// </summary> |
| 2446 | public string PathVariable |
| 2447 | { |
| 2448 | get |
| 2449 | { |
| 2450 | return this.pathVariableField; |
| 2451 | } |
| 2452 | set |
| 2453 | { |
| 2454 | this.pathVariableFieldSet = true; |
| 2455 | this.pathVariableField = value; |
| 2456 | } |
| 2457 | } |
| 2458 | |
| 2459 | /// <summary> |
| 2460 | /// File name and optionally a relative path to use as the prefix for the log file. The |
| 2461 | /// default is to use the Bundle/@Name or, if Bundle/@Name is not specified, the value |
| 2462 | /// "Setup". |
| 2463 | /// </summary> |
| 2464 | public string Prefix |
| 2465 | { |
| 2466 | get |
| 2467 | { |
| 2468 | return this.prefixField; |
| 2469 | } |
| 2470 | set |
| 2471 | { |
| 2472 | this.prefixFieldSet = true; |
| 2473 | this.prefixField = value; |
| 2474 | } |
| 2475 | } |
| 2476 | |
| 2477 | /// <summary> |
| 2478 | /// The extension to use for the log. The default is ".log". |
| 2479 | /// </summary> |
| 2480 | public string Extension |
| 2481 | { |
| 2482 | get |
| 2483 | { |
| 2484 | return this.extensionField; |
| 2485 | } |
| 2486 | set |
| 2487 | { |
| 2488 | this.extensionFieldSet = true; |
| 2489 | this.extensionField = value; |
| 2490 | } |
| 2491 | } |
| 2492 | |
| 2493 | public virtual ISchemaElement ParentElement |
| 2494 | { |
| 2495 | get |
| 2496 | { |
| 2497 | return this.parentElement; |
| 2498 | } |
| 2499 | set |
| 2500 | { |
| 2501 | this.parentElement = value; |
| 2502 | } |
| 2503 | } |
| 2504 | |
| 2505 | /// <summary> |
| 2506 | /// Processes this element and all child elements into an XmlWriter. |
| 2507 | /// </summary> |
| 2508 | public virtual void OutputXml(XmlWriter writer) |
| 2509 | { |
| 2510 | if ((null == writer)) |
| 2511 | { |
| 2512 | throw new ArgumentNullException("writer"); |
| 2513 | } |
| 2514 | writer.WriteStartElement("Log", "http://wixtoolset.org/schemas/v4/wxs"); |
| 2515 | if (this.disableFieldSet) |
| 2516 | { |
| 2517 | if ((this.disableField == YesNoType.no)) |
| 2518 | { |
| 2519 | writer.WriteAttributeString("Disable", "no"); |
| 2520 | } |
| 2521 | if ((this.disableField == YesNoType.yes)) |
| 2522 | { |
| 2523 | writer.WriteAttributeString("Disable", "yes"); |
| 2524 | } |
| 2525 | } |
| 2526 | if (this.pathVariableFieldSet) |
| 2527 | { |
| 2528 | writer.WriteAttributeString("PathVariable", this.pathVariableField); |
| 2529 | } |
| 2530 | if (this.prefixFieldSet) |
| 2531 | { |
| 2532 | writer.WriteAttributeString("Prefix", this.prefixField); |
| 2533 | } |
| 2534 | if (this.extensionFieldSet) |
| 2535 | { |
| 2536 | writer.WriteAttributeString("Extension", this.extensionField); |
| 2537 | } |
| 2538 | writer.WriteEndElement(); |
| 2539 | } |
| 2540 | |
| 2541 | [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] |
| 2542 | void ISetAttributes.SetAttribute(string name, string value) |
| 2543 | { |
| 2544 | if (String.IsNullOrEmpty(name)) |
| 2545 | { |
| 2546 | throw new ArgumentNullException("name"); |
| 2547 | } |
| 2548 | if (("Disable" == name)) |
| 2549 | { |
| 2550 | this.disableField = Enums.ParseYesNoType(value); |
| 2551 | this.disableFieldSet = true; |
| 2552 | } |
| 2553 | if (("PathVariable" == name)) |
| 2554 | { |
| 2555 | this.pathVariableField = value; |
| 2556 | this.pathVariableFieldSet = true; |
| 2557 | } |
| 2558 | if (("Prefix" == name)) |
| 2559 | { |
| 2560 | this.prefixField = value; |
| 2561 | this.prefixFieldSet = true; |
| 2562 | } |
| 2563 | if (("Extension" == name)) |
| 2564 | { |
| 2565 | this.extensionField = value; |
| 2566 | this.extensionFieldSet = true; |
| 2567 | } |
| 2568 | } |
| 2569 | } |
| 2570 | |
| 2571 | /// <summary> |
| 2572 | /// Specify one or more catalog files that will be used to verify the contents of the bundle. |
| 2573 | /// </summary> |
| 2574 | [GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")] |
| 2575 | public class Catalog : ISchemaElement, ISetAttributes |
| 2576 | { |
| 2577 | |
| 2578 | private string idField; |
| 2579 | |
| 2580 | private bool idFieldSet; |
| 2581 | |
| 2582 | private string sourceFileField; |
| 2583 | |
| 2584 | private bool sourceFileFieldSet; |
| 2585 | |
| 2586 | private ISchemaElement parentElement; |
| 2587 | |
| 2588 | /// <summary> |
| 2589 | /// The identifier of the catalog element. |
| 2590 | /// </summary> |
| 2591 | public string Id |
| 2592 | { |
| 2593 | get |
| 2594 | { |
| 2595 | return this.idField; |
| 2596 | } |
| 2597 | set |
| 2598 | { |
| 2599 | this.idFieldSet = true; |
| 2600 | this.idField = value; |
| 2601 | } |
| 2602 | } |
| 2603 | |
| 2604 | /// <summary> |
| 2605 | /// The catalog file |
| 2606 | /// </summary> |
| 2607 | public string SourceFile |
| 2608 | { |
| 2609 | get |
| 2610 | { |
| 2611 | return this.sourceFileField; |
| 2612 | } |
| 2613 | set |
| 2614 | { |
| 2615 | this.sourceFileFieldSet = true; |
| 2616 | this.sourceFileField = value; |
| 2617 | } |
| 2618 | } |
| 2619 | |
| 2620 | public virtual ISchemaElement ParentElement |
| 2621 | { |
| 2622 | get |
| 2623 | { |
| 2624 | return this.parentElement; |
| 2625 | } |
| 2626 | set |
| 2627 | { |
| 2628 | this.parentElement = value; |
| 2629 | } |
| 2630 | } |
| 2631 | |
| 2632 | /// <summary> |
| 2633 | /// Processes this element and all child elements into an XmlWriter. |
| 2634 | /// </summary> |
| 2635 | public virtual void OutputXml(XmlWriter writer) |
| 2636 | { |
| 2637 | if ((null == writer)) |
| 2638 | { |
| 2639 | throw new ArgumentNullException("writer"); |
| 2640 | } |
| 2641 | writer.WriteStartElement("Catalog", "http://wixtoolset.org/schemas/v4/wxs"); |
| 2642 | if (this.idFieldSet) |
| 2643 | { |
| 2644 | writer.WriteAttributeString("Id", this.idField); |
| 2645 | } |
| 2646 | if (this.sourceFileFieldSet) |
| 2647 | { |
| 2648 | writer.WriteAttributeString("SourceFile", this.sourceFileField); |
| 2649 | } |
| 2650 | writer.WriteEndElement(); |
| 2651 | } |
| 2652 | |
| 2653 | [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] |
| 2654 | void ISetAttributes.SetAttribute(string name, string value) |
| 2655 | { |
| 2656 | if (String.IsNullOrEmpty(name)) |
| 2657 | { |
| 2658 | throw new ArgumentNullException("name"); |
| 2659 | } |
| 2660 | if (("Id" == name)) |
| 2661 | { |
| 2662 | this.idField = value; |
| 2663 | this.idFieldSet = true; |
| 2664 | } |
| 2665 | if (("SourceFile" == name)) |
| 2666 | { |
| 2667 | this.sourceFileField = value; |
| 2668 | this.sourceFileFieldSet = true; |
| 2669 | } |
| 2670 | } |
| 2671 | } |
| 2672 | |
| 2673 | /// <summary> |
| 2674 | /// Contains all the relevant information about the setup UI. |
| 2675 | /// </summary> |
| 2676 | [GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")] |
| 2677 | public class BootstrapperApplication : IParentElement, ICreateChildren, ISchemaElement, ISetAttributes |
| 2678 | { |
| 2679 | |
| 2680 | private ElementCollection children; |
| 2681 | |
| 2682 | private string idField; |
| 2683 | |
| 2684 | private bool idFieldSet; |
| 2685 | |
| 2686 | private string sourceFileField; |
| 2687 | |
| 2688 | private bool sourceFileFieldSet; |
| 2689 | |
| 2690 | private string nameField; |
| 2691 | |
| 2692 | private bool nameFieldSet; |
| 2693 | |
| 2694 | private ISchemaElement parentElement; |
| 2695 | |
| 2696 | public BootstrapperApplication() |
| 2697 | { |
| 2698 | ElementCollection childCollection0 = new ElementCollection(ElementCollection.CollectionType.Choice); |
| 2699 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(Payload))); |
| 2700 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(PayloadGroupRef))); |
| 2701 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(ISchemaElement))); |
| 2702 | this.children = childCollection0; |
| 2703 | } |
| 2704 | |
| 2705 | public virtual IEnumerable Children |
| 2706 | { |
| 2707 | get |
| 2708 | { |
| 2709 | return this.children; |
| 2710 | } |
| 2711 | } |
| 2712 | |
| 2713 | [SuppressMessage("Microsoft.Design", "CA1043:UseIntegralOrStringArgumentForIndexers")] |
| 2714 | public virtual IEnumerable this[System.Type childType] |
| 2715 | { |
| 2716 | get |
| 2717 | { |
| 2718 | return this.children.Filter(childType); |
| 2719 | } |
| 2720 | } |
| 2721 | |
| 2722 | /// <summary> |
| 2723 | /// The identifier of the BootstrapperApplication element. Only required if you want to reference this element using a BootstrapperApplicationRef element. |
| 2724 | /// </summary> |
| 2725 | public string Id |
| 2726 | { |
| 2727 | get |
| 2728 | { |
| 2729 | return this.idField; |
| 2730 | } |
| 2731 | set |
| 2732 | { |
| 2733 | this.idFieldSet = true; |
| 2734 | this.idField = value; |
| 2735 | } |
| 2736 | } |
| 2737 | |
| 2738 | /// <summary> |
| 2739 | /// The DLL with the bootstrapper application entry function. |
| 2740 | /// </summary> |
| 2741 | public string SourceFile |
| 2742 | { |
| 2743 | get |
| 2744 | { |
| 2745 | return this.sourceFileField; |
| 2746 | } |
| 2747 | set |
| 2748 | { |
| 2749 | this.sourceFileFieldSet = true; |
| 2750 | this.sourceFileField = value; |
| 2751 | } |
| 2752 | } |
| 2753 | |
| 2754 | /// <summary> |
| 2755 | /// The relative destination path and file name for the bootstrapper application DLL. The default is the source file name. Use this attribute to rename the bootstrapper application DLL or extract it into a subfolder. The use of '..' directories is not allowed. |
| 2756 | /// </summary> |
| 2757 | public string Name |
| 2758 | { |
| 2759 | get |
| 2760 | { |
| 2761 | return this.nameField; |
| 2762 | } |
| 2763 | set |
| 2764 | { |
| 2765 | this.nameFieldSet = true; |
| 2766 | this.nameField = value; |
| 2767 | } |
| 2768 | } |
| 2769 | |
| 2770 | public virtual ISchemaElement ParentElement |
| 2771 | { |
| 2772 | get |
| 2773 | { |
| 2774 | return this.parentElement; |
| 2775 | } |
| 2776 | set |
| 2777 | { |
| 2778 | this.parentElement = value; |
| 2779 | } |
| 2780 | } |
| 2781 | |
| 2782 | public virtual void AddChild(ISchemaElement child) |
| 2783 | { |
| 2784 | if ((null == child)) |
| 2785 | { |
| 2786 | throw new ArgumentNullException("child"); |
| 2787 | } |
| 2788 | this.children.AddElement(child); |
| 2789 | child.ParentElement = this; |
| 2790 | } |
| 2791 | |
| 2792 | public virtual void RemoveChild(ISchemaElement child) |
| 2793 | { |
| 2794 | if ((null == child)) |
| 2795 | { |
| 2796 | throw new ArgumentNullException("child"); |
| 2797 | } |
| 2798 | this.children.RemoveElement(child); |
| 2799 | child.ParentElement = null; |
| 2800 | } |
| 2801 | |
| 2802 | [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] |
| 2803 | ISchemaElement ICreateChildren.CreateChild(string childName) |
| 2804 | { |
| 2805 | if (String.IsNullOrEmpty(childName)) |
| 2806 | { |
| 2807 | throw new ArgumentNullException("childName"); |
| 2808 | } |
| 2809 | ISchemaElement childValue = null; |
| 2810 | if (("Payload" == childName)) |
| 2811 | { |
| 2812 | childValue = new Payload(); |
| 2813 | } |
| 2814 | if (("PayloadGroupRef" == childName)) |
| 2815 | { |
| 2816 | childValue = new PayloadGroupRef(); |
| 2817 | } |
| 2818 | if ((null == childValue)) |
| 2819 | { |
| 2820 | throw new InvalidOperationException(String.Concat(childName, " is not a valid child name.")); |
| 2821 | } |
| 2822 | return childValue; |
| 2823 | } |
| 2824 | |
| 2825 | /// <summary> |
| 2826 | /// Processes this element and all child elements into an XmlWriter. |
| 2827 | /// </summary> |
| 2828 | public virtual void OutputXml(XmlWriter writer) |
| 2829 | { |
| 2830 | if ((null == writer)) |
| 2831 | { |
| 2832 | throw new ArgumentNullException("writer"); |
| 2833 | } |
| 2834 | writer.WriteStartElement("BootstrapperApplication", "http://wixtoolset.org/schemas/v4/wxs"); |
| 2835 | if (this.idFieldSet) |
| 2836 | { |
| 2837 | writer.WriteAttributeString("Id", this.idField); |
| 2838 | } |
| 2839 | if (this.sourceFileFieldSet) |
| 2840 | { |
| 2841 | writer.WriteAttributeString("SourceFile", this.sourceFileField); |
| 2842 | } |
| 2843 | if (this.nameFieldSet) |
| 2844 | { |
| 2845 | writer.WriteAttributeString("Name", this.nameField); |
| 2846 | } |
| 2847 | for (IEnumerator enumerator = this.children.GetEnumerator(); enumerator.MoveNext();) |
| 2848 | { |
| 2849 | ISchemaElement childElement = ((ISchemaElement)(enumerator.Current)); |
| 2850 | childElement.OutputXml(writer); |
| 2851 | } |
| 2852 | writer.WriteEndElement(); |
| 2853 | } |
| 2854 | |
| 2855 | [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] |
| 2856 | void ISetAttributes.SetAttribute(string name, string value) |
| 2857 | { |
| 2858 | if (String.IsNullOrEmpty(name)) |
| 2859 | { |
| 2860 | throw new ArgumentNullException("name"); |
| 2861 | } |
| 2862 | if (("Id" == name)) |
| 2863 | { |
| 2864 | this.idField = value; |
| 2865 | this.idFieldSet = true; |
| 2866 | } |
| 2867 | if (("SourceFile" == name)) |
| 2868 | { |
| 2869 | this.sourceFileField = value; |
| 2870 | this.sourceFileFieldSet = true; |
| 2871 | } |
| 2872 | if (("Name" == name)) |
| 2873 | { |
| 2874 | this.nameField = value; |
| 2875 | this.nameFieldSet = true; |
| 2876 | } |
| 2877 | } |
| 2878 | } |
| 2879 | |
| 2880 | /// <summary> |
| 2881 | /// Used to reference a BootstrapperApplication element and optionally add additional payloads to the bootstrapper application. |
| 2882 | /// </summary> |
| 2883 | [GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")] |
| 2884 | public class BootstrapperApplicationRef : IParentElement, ICreateChildren, ISchemaElement, ISetAttributes |
| 2885 | { |
| 2886 | |
| 2887 | private ElementCollection children; |
| 2888 | |
| 2889 | private string idField; |
| 2890 | |
| 2891 | private bool idFieldSet; |
| 2892 | |
| 2893 | private ISchemaElement parentElement; |
| 2894 | |
| 2895 | public BootstrapperApplicationRef() |
| 2896 | { |
| 2897 | ElementCollection childCollection0 = new ElementCollection(ElementCollection.CollectionType.Choice); |
| 2898 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(Payload))); |
| 2899 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(PayloadGroupRef))); |
| 2900 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(ISchemaElement))); |
| 2901 | this.children = childCollection0; |
| 2902 | } |
| 2903 | |
| 2904 | public virtual IEnumerable Children |
| 2905 | { |
| 2906 | get |
| 2907 | { |
| 2908 | return this.children; |
| 2909 | } |
| 2910 | } |
| 2911 | |
| 2912 | [SuppressMessage("Microsoft.Design", "CA1043:UseIntegralOrStringArgumentForIndexers")] |
| 2913 | public virtual IEnumerable this[System.Type childType] |
| 2914 | { |
| 2915 | get |
| 2916 | { |
| 2917 | return this.children.Filter(childType); |
| 2918 | } |
| 2919 | } |
| 2920 | |
| 2921 | /// <summary> |
| 2922 | /// The identifier of the BootstrapperApplication element to reference. |
| 2923 | /// </summary> |
| 2924 | public string Id |
| 2925 | { |
| 2926 | get |
| 2927 | { |
| 2928 | return this.idField; |
| 2929 | } |
| 2930 | set |
| 2931 | { |
| 2932 | this.idFieldSet = true; |
| 2933 | this.idField = value; |
| 2934 | } |
| 2935 | } |
| 2936 | |
| 2937 | public virtual ISchemaElement ParentElement |
| 2938 | { |
| 2939 | get |
| 2940 | { |
| 2941 | return this.parentElement; |
| 2942 | } |
| 2943 | set |
| 2944 | { |
| 2945 | this.parentElement = value; |
| 2946 | } |
| 2947 | } |
| 2948 | |
| 2949 | public virtual void AddChild(ISchemaElement child) |
| 2950 | { |
| 2951 | if ((null == child)) |
| 2952 | { |
| 2953 | throw new ArgumentNullException("child"); |
| 2954 | } |
| 2955 | this.children.AddElement(child); |
| 2956 | child.ParentElement = this; |
| 2957 | } |
| 2958 | |
| 2959 | public virtual void RemoveChild(ISchemaElement child) |
| 2960 | { |
| 2961 | if ((null == child)) |
| 2962 | { |
| 2963 | throw new ArgumentNullException("child"); |
| 2964 | } |
| 2965 | this.children.RemoveElement(child); |
| 2966 | child.ParentElement = null; |
| 2967 | } |
| 2968 | |
| 2969 | [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] |
| 2970 | ISchemaElement ICreateChildren.CreateChild(string childName) |
| 2971 | { |
| 2972 | if (String.IsNullOrEmpty(childName)) |
| 2973 | { |
| 2974 | throw new ArgumentNullException("childName"); |
| 2975 | } |
| 2976 | ISchemaElement childValue = null; |
| 2977 | if (("Payload" == childName)) |
| 2978 | { |
| 2979 | childValue = new Payload(); |
| 2980 | } |
| 2981 | if (("PayloadGroupRef" == childName)) |
| 2982 | { |
| 2983 | childValue = new PayloadGroupRef(); |
| 2984 | } |
| 2985 | if ((null == childValue)) |
| 2986 | { |
| 2987 | throw new InvalidOperationException(String.Concat(childName, " is not a valid child name.")); |
| 2988 | } |
| 2989 | return childValue; |
| 2990 | } |
| 2991 | |
| 2992 | /// <summary> |
| 2993 | /// Processes this element and all child elements into an XmlWriter. |
| 2994 | /// </summary> |
| 2995 | public virtual void OutputXml(XmlWriter writer) |
| 2996 | { |
| 2997 | if ((null == writer)) |
| 2998 | { |
| 2999 | throw new ArgumentNullException("writer"); |
| 3000 | } |
| 3001 | writer.WriteStartElement("BootstrapperApplicationRef", "http://wixtoolset.org/schemas/v4/wxs"); |
| 3002 | if (this.idFieldSet) |
| 3003 | { |
| 3004 | writer.WriteAttributeString("Id", this.idField); |
| 3005 | } |
| 3006 | for (IEnumerator enumerator = this.children.GetEnumerator(); enumerator.MoveNext();) |
| 3007 | { |
| 3008 | ISchemaElement childElement = ((ISchemaElement)(enumerator.Current)); |
| 3009 | childElement.OutputXml(writer); |
| 3010 | } |
| 3011 | writer.WriteEndElement(); |
| 3012 | } |
| 3013 | |
| 3014 | [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] |
| 3015 | void ISetAttributes.SetAttribute(string name, string value) |
| 3016 | { |
| 3017 | if (String.IsNullOrEmpty(name)) |
| 3018 | { |
| 3019 | throw new ArgumentNullException("name"); |
| 3020 | } |
| 3021 | if (("Id" == name)) |
| 3022 | { |
| 3023 | this.idField = value; |
| 3024 | this.idFieldSet = true; |
| 3025 | } |
| 3026 | } |
| 3027 | } |
| 3028 | |
| 3029 | /// <summary> |
| 3030 | /// This element has been deprecated. Use the BootstrapperApplication element instead. |
| 3031 | /// </summary> |
| 3032 | [GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")] |
| 3033 | public class UX : IParentElement, ICreateChildren, ISchemaElement, ISetAttributes |
| 3034 | { |
| 3035 | |
| 3036 | private ElementCollection children; |
| 3037 | |
| 3038 | private string sourceFileField; |
| 3039 | |
| 3040 | private bool sourceFileFieldSet; |
| 3041 | |
| 3042 | private string nameField; |
| 3043 | |
| 3044 | private bool nameFieldSet; |
| 3045 | |
| 3046 | private string splashScreenSourceFileField; |
| 3047 | |
| 3048 | private bool splashScreenSourceFileFieldSet; |
| 3049 | |
| 3050 | private ISchemaElement parentElement; |
| 3051 | |
| 3052 | public UX() |
| 3053 | { |
| 3054 | ElementCollection childCollection0 = new ElementCollection(ElementCollection.CollectionType.Choice); |
| 3055 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(Payload))); |
| 3056 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(PayloadGroupRef))); |
| 3057 | this.children = childCollection0; |
| 3058 | } |
| 3059 | |
| 3060 | public virtual IEnumerable Children |
| 3061 | { |
| 3062 | get |
| 3063 | { |
| 3064 | return this.children; |
| 3065 | } |
| 3066 | } |
| 3067 | |
| 3068 | [SuppressMessage("Microsoft.Design", "CA1043:UseIntegralOrStringArgumentForIndexers")] |
| 3069 | public virtual IEnumerable this[System.Type childType] |
| 3070 | { |
| 3071 | get |
| 3072 | { |
| 3073 | return this.children.Filter(childType); |
| 3074 | } |
| 3075 | } |
| 3076 | |
| 3077 | /// <summary> |
| 3078 | /// See the BootstrapperApplication instead. |
| 3079 | /// </summary> |
| 3080 | public string SourceFile |
| 3081 | { |
| 3082 | get |
| 3083 | { |
| 3084 | return this.sourceFileField; |
| 3085 | } |
| 3086 | set |
| 3087 | { |
| 3088 | this.sourceFileFieldSet = true; |
| 3089 | this.sourceFileField = value; |
| 3090 | } |
| 3091 | } |
| 3092 | |
| 3093 | /// <summary> |
| 3094 | /// See the BootstrapperApplication instead. |
| 3095 | /// </summary> |
| 3096 | public string Name |
| 3097 | { |
| 3098 | get |
| 3099 | { |
| 3100 | return this.nameField; |
| 3101 | } |
| 3102 | set |
| 3103 | { |
| 3104 | this.nameFieldSet = true; |
| 3105 | this.nameField = value; |
| 3106 | } |
| 3107 | } |
| 3108 | |
| 3109 | /// <summary> |
| 3110 | /// See the BootstrapperApplication instead. |
| 3111 | /// </summary> |
| 3112 | public string SplashScreenSourceFile |
| 3113 | { |
| 3114 | get |
| 3115 | { |
| 3116 | return this.splashScreenSourceFileField; |
| 3117 | } |
| 3118 | set |
| 3119 | { |
| 3120 | this.splashScreenSourceFileFieldSet = true; |
| 3121 | this.splashScreenSourceFileField = value; |
| 3122 | } |
| 3123 | } |
| 3124 | |
| 3125 | public virtual ISchemaElement ParentElement |
| 3126 | { |
| 3127 | get |
| 3128 | { |
| 3129 | return this.parentElement; |
| 3130 | } |
| 3131 | set |
| 3132 | { |
| 3133 | this.parentElement = value; |
| 3134 | } |
| 3135 | } |
| 3136 | |
| 3137 | public virtual void AddChild(ISchemaElement child) |
| 3138 | { |
| 3139 | if ((null == child)) |
| 3140 | { |
| 3141 | throw new ArgumentNullException("child"); |
| 3142 | } |
| 3143 | this.children.AddElement(child); |
| 3144 | child.ParentElement = this; |
| 3145 | } |
| 3146 | |
| 3147 | public virtual void RemoveChild(ISchemaElement child) |
| 3148 | { |
| 3149 | if ((null == child)) |
| 3150 | { |
| 3151 | throw new ArgumentNullException("child"); |
| 3152 | } |
| 3153 | this.children.RemoveElement(child); |
| 3154 | child.ParentElement = null; |
| 3155 | } |
| 3156 | |
| 3157 | [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] |
| 3158 | ISchemaElement ICreateChildren.CreateChild(string childName) |
| 3159 | { |
| 3160 | if (String.IsNullOrEmpty(childName)) |
| 3161 | { |
| 3162 | throw new ArgumentNullException("childName"); |
| 3163 | } |
| 3164 | ISchemaElement childValue = null; |
| 3165 | if (("Payload" == childName)) |
| 3166 | { |
| 3167 | childValue = new Payload(); |
| 3168 | } |
| 3169 | if (("PayloadGroupRef" == childName)) |
| 3170 | { |
| 3171 | childValue = new PayloadGroupRef(); |
| 3172 | } |
| 3173 | if ((null == childValue)) |
| 3174 | { |
| 3175 | throw new InvalidOperationException(String.Concat(childName, " is not a valid child name.")); |
| 3176 | } |
| 3177 | return childValue; |
| 3178 | } |
| 3179 | |
| 3180 | /// <summary> |
| 3181 | /// Processes this element and all child elements into an XmlWriter. |
| 3182 | /// </summary> |
| 3183 | public virtual void OutputXml(XmlWriter writer) |
| 3184 | { |
| 3185 | if ((null == writer)) |
| 3186 | { |
| 3187 | throw new ArgumentNullException("writer"); |
| 3188 | } |
| 3189 | writer.WriteStartElement("UX", "http://wixtoolset.org/schemas/v4/wxs"); |
| 3190 | if (this.sourceFileFieldSet) |
| 3191 | { |
| 3192 | writer.WriteAttributeString("SourceFile", this.sourceFileField); |
| 3193 | } |
| 3194 | if (this.nameFieldSet) |
| 3195 | { |
| 3196 | writer.WriteAttributeString("Name", this.nameField); |
| 3197 | } |
| 3198 | if (this.splashScreenSourceFileFieldSet) |
| 3199 | { |
| 3200 | writer.WriteAttributeString("SplashScreenSourceFile", this.splashScreenSourceFileField); |
| 3201 | } |
| 3202 | for (IEnumerator enumerator = this.children.GetEnumerator(); enumerator.MoveNext();) |
| 3203 | { |
| 3204 | ISchemaElement childElement = ((ISchemaElement)(enumerator.Current)); |
| 3205 | childElement.OutputXml(writer); |
| 3206 | } |
| 3207 | writer.WriteEndElement(); |
| 3208 | } |
| 3209 | |
| 3210 | [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] |
| 3211 | void ISetAttributes.SetAttribute(string name, string value) |
| 3212 | { |
| 3213 | if (String.IsNullOrEmpty(name)) |
| 3214 | { |
| 3215 | throw new ArgumentNullException("name"); |
| 3216 | } |
| 3217 | if (("SourceFile" == name)) |
| 3218 | { |
| 3219 | this.sourceFileField = value; |
| 3220 | this.sourceFileFieldSet = true; |
| 3221 | } |
| 3222 | if (("Name" == name)) |
| 3223 | { |
| 3224 | this.nameField = value; |
| 3225 | this.nameFieldSet = true; |
| 3226 | } |
| 3227 | if (("SplashScreenSourceFile" == name)) |
| 3228 | { |
| 3229 | this.splashScreenSourceFileField = value; |
| 3230 | this.splashScreenSourceFileFieldSet = true; |
| 3231 | } |
| 3232 | } |
| 3233 | } |
| 3234 | |
| 3235 | /// <summary> |
| 3236 | /// Writes additional information to the Windows registry that can be used to detect the bundle. |
| 3237 | /// This registration is intended primarily for update to an existing product. |
| 3238 | /// </summary> |
| 3239 | [GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")] |
| 3240 | public class OptionalUpdateRegistration : ISchemaElement, ISetAttributes |
| 3241 | { |
| 3242 | |
| 3243 | private string manufacturerField; |
| 3244 | |
| 3245 | private bool manufacturerFieldSet; |
| 3246 | |
| 3247 | private string departmentField; |
| 3248 | |
| 3249 | private bool departmentFieldSet; |
| 3250 | |
| 3251 | private string productFamilyField; |
| 3252 | |
| 3253 | private bool productFamilyFieldSet; |
| 3254 | |
| 3255 | private string nameField; |
| 3256 | |
| 3257 | private bool nameFieldSet; |
| 3258 | |
| 3259 | private string classificationField; |
| 3260 | |
| 3261 | private bool classificationFieldSet; |
| 3262 | |
| 3263 | private ISchemaElement parentElement; |
| 3264 | |
| 3265 | /// <summary> |
| 3266 | /// The name of the manufacturer. The default is the Bundle/@Manufacturer attribute, |
| 3267 | /// but may also be a short form, ex: Acme instead of Acme Corporation. |
| 3268 | /// An error is generated at build time if neither attribute is specified. |
| 3269 | /// </summary> |
| 3270 | public string Manufacturer |
| 3271 | { |
| 3272 | get |
| 3273 | { |
| 3274 | return this.manufacturerField; |
| 3275 | } |
| 3276 | set |
| 3277 | { |
| 3278 | this.manufacturerFieldSet = true; |
| 3279 | this.manufacturerField = value; |
| 3280 | } |
| 3281 | } |
| 3282 | |
| 3283 | /// <summary> |
| 3284 | /// The name of the department or division publishing the update bundle. |
| 3285 | /// The PublishingGroup registry value is not written if this attribute is not specified. |
| 3286 | /// </summary> |
| 3287 | public string Department |
| 3288 | { |
| 3289 | get |
| 3290 | { |
| 3291 | return this.departmentField; |
| 3292 | } |
| 3293 | set |
| 3294 | { |
| 3295 | this.departmentFieldSet = true; |
| 3296 | this.departmentField = value; |
| 3297 | } |
| 3298 | } |
| 3299 | |
| 3300 | /// <summary> |
| 3301 | /// The name of the family of products being updated. The default is the Bundle/@ParentName attribute. |
| 3302 | /// The corresponding registry key is not created if neither attribute is specified. |
| 3303 | /// </summary> |
| 3304 | public string ProductFamily |
| 3305 | { |
| 3306 | get |
| 3307 | { |
| 3308 | return this.productFamilyField; |
| 3309 | } |
| 3310 | set |
| 3311 | { |
| 3312 | this.productFamilyFieldSet = true; |
| 3313 | this.productFamilyField = value; |
| 3314 | } |
| 3315 | } |
| 3316 | |
| 3317 | /// <summary> |
| 3318 | /// The name of the bundle. The default is the Bundle/@Name attribute, |
| 3319 | /// but may also be a short form, ex: KB12345 instead of Update to Product (KB12345). |
| 3320 | /// An error is generated at build time if neither attribute is specified. |
| 3321 | /// </summary> |
| 3322 | public string Name |
| 3323 | { |
| 3324 | get |
| 3325 | { |
| 3326 | return this.nameField; |
| 3327 | } |
| 3328 | set |
| 3329 | { |
| 3330 | this.nameFieldSet = true; |
| 3331 | this.nameField = value; |
| 3332 | } |
| 3333 | } |
| 3334 | |
| 3335 | /// <summary> |
| 3336 | /// The release type of the update bundle, such as Update, Security Update, Service Pack, etc. |
| 3337 | /// The default value is Update. |
| 3338 | /// </summary> |
| 3339 | public string Classification |
| 3340 | { |
| 3341 | get |
| 3342 | { |
| 3343 | return this.classificationField; |
| 3344 | } |
| 3345 | set |
| 3346 | { |
| 3347 | this.classificationFieldSet = true; |
| 3348 | this.classificationField = value; |
| 3349 | } |
| 3350 | } |
| 3351 | |
| 3352 | public virtual ISchemaElement ParentElement |
| 3353 | { |
| 3354 | get |
| 3355 | { |
| 3356 | return this.parentElement; |
| 3357 | } |
| 3358 | set |
| 3359 | { |
| 3360 | this.parentElement = value; |
| 3361 | } |
| 3362 | } |
| 3363 | |
| 3364 | /// <summary> |
| 3365 | /// Processes this element and all child elements into an XmlWriter. |
| 3366 | /// </summary> |
| 3367 | public virtual void OutputXml(XmlWriter writer) |
| 3368 | { |
| 3369 | if ((null == writer)) |
| 3370 | { |
| 3371 | throw new ArgumentNullException("writer"); |
| 3372 | } |
| 3373 | writer.WriteStartElement("OptionalUpdateRegistration", "http://wixtoolset.org/schemas/v4/wxs"); |
| 3374 | if (this.manufacturerFieldSet) |
| 3375 | { |
| 3376 | writer.WriteAttributeString("Manufacturer", this.manufacturerField); |
| 3377 | } |
| 3378 | if (this.departmentFieldSet) |
| 3379 | { |
| 3380 | writer.WriteAttributeString("Department", this.departmentField); |
| 3381 | } |
| 3382 | if (this.productFamilyFieldSet) |
| 3383 | { |
| 3384 | writer.WriteAttributeString("ProductFamily", this.productFamilyField); |
| 3385 | } |
| 3386 | if (this.nameFieldSet) |
| 3387 | { |
| 3388 | writer.WriteAttributeString("Name", this.nameField); |
| 3389 | } |
| 3390 | if (this.classificationFieldSet) |
| 3391 | { |
| 3392 | writer.WriteAttributeString("Classification", this.classificationField); |
| 3393 | } |
| 3394 | writer.WriteEndElement(); |
| 3395 | } |
| 3396 | |
| 3397 | [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] |
| 3398 | void ISetAttributes.SetAttribute(string name, string value) |
| 3399 | { |
| 3400 | if (String.IsNullOrEmpty(name)) |
| 3401 | { |
| 3402 | throw new ArgumentNullException("name"); |
| 3403 | } |
| 3404 | if (("Manufacturer" == name)) |
| 3405 | { |
| 3406 | this.manufacturerField = value; |
| 3407 | this.manufacturerFieldSet = true; |
| 3408 | } |
| 3409 | if (("Department" == name)) |
| 3410 | { |
| 3411 | this.departmentField = value; |
| 3412 | this.departmentFieldSet = true; |
| 3413 | } |
| 3414 | if (("ProductFamily" == name)) |
| 3415 | { |
| 3416 | this.productFamilyField = value; |
| 3417 | this.productFamilyFieldSet = true; |
| 3418 | } |
| 3419 | if (("Name" == name)) |
| 3420 | { |
| 3421 | this.nameField = value; |
| 3422 | this.nameFieldSet = true; |
| 3423 | } |
| 3424 | if (("Classification" == name)) |
| 3425 | { |
| 3426 | this.classificationField = value; |
| 3427 | this.classificationFieldSet = true; |
| 3428 | } |
| 3429 | } |
| 3430 | } |
| 3431 | |
| 3432 | /// <summary> |
| 3433 | /// Contains the chain of packages to install. |
| 3434 | /// </summary> |
| 3435 | [GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")] |
| 3436 | public class Chain : IParentElement, ICreateChildren, ISchemaElement, ISetAttributes |
| 3437 | { |
| 3438 | |
| 3439 | private ElementCollection children; |
| 3440 | |
| 3441 | private YesNoType disableRollbackField; |
| 3442 | |
| 3443 | private bool disableRollbackFieldSet; |
| 3444 | |
| 3445 | private YesNoType disableSystemRestoreField; |
| 3446 | |
| 3447 | private bool disableSystemRestoreFieldSet; |
| 3448 | |
| 3449 | private YesNoType parallelCacheField; |
| 3450 | |
| 3451 | private bool parallelCacheFieldSet; |
| 3452 | |
| 3453 | private ISchemaElement parentElement; |
| 3454 | |
| 3455 | public Chain() |
| 3456 | { |
| 3457 | ElementCollection childCollection0 = new ElementCollection(ElementCollection.CollectionType.Choice); |
| 3458 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(MsiPackage))); |
| 3459 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(MspPackage))); |
| 3460 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(MsuPackage))); |
| 3461 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(ExePackage))); |
| 3462 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(RollbackBoundary))); |
| 3463 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(PackageGroupRef))); |
| 3464 | this.children = childCollection0; |
| 3465 | } |
| 3466 | |
| 3467 | public virtual IEnumerable Children |
| 3468 | { |
| 3469 | get |
| 3470 | { |
| 3471 | return this.children; |
| 3472 | } |
| 3473 | } |
| 3474 | |
| 3475 | [SuppressMessage("Microsoft.Design", "CA1043:UseIntegralOrStringArgumentForIndexers")] |
| 3476 | public virtual IEnumerable this[System.Type childType] |
| 3477 | { |
| 3478 | get |
| 3479 | { |
| 3480 | return this.children.Filter(childType); |
| 3481 | } |
| 3482 | } |
| 3483 | |
| 3484 | /// <summary> |
| 3485 | /// Specifies whether the bundle will attempt to rollback packages |
| 3486 | /// executed in the chain. If "yes" is specified then when a vital |
| 3487 | /// package fails to install only that package will rollback and the |
| 3488 | /// chain will stop with the error. The default is "no" which |
| 3489 | /// indicates all packages executed during the chain will be |
| 3490 | /// rolledback to their previous state when a vital package fails. |
| 3491 | /// </summary> |
| 3492 | public YesNoType DisableRollback |
| 3493 | { |
| 3494 | get |
| 3495 | { |
| 3496 | return this.disableRollbackField; |
| 3497 | } |
| 3498 | set |
| 3499 | { |
| 3500 | this.disableRollbackFieldSet = true; |
| 3501 | this.disableRollbackField = value; |
| 3502 | } |
| 3503 | } |
| 3504 | |
| 3505 | /// <summary> |
| 3506 | /// Specifies whether the bundle will attempt to create a system |
| 3507 | /// restore point when executing the chain. If "yes" is specified then |
| 3508 | /// a system restore point will not be created. The default is "no" which |
| 3509 | /// indicates a system restore point will be created when the bundle is |
| 3510 | /// installed, uninstalled, repaired, modified, etc. If the system restore |
| 3511 | /// point cannot be created, the bundle will log the issue and continue. |
| 3512 | /// </summary> |
| 3513 | public YesNoType DisableSystemRestore |
| 3514 | { |
| 3515 | get |
| 3516 | { |
| 3517 | return this.disableSystemRestoreField; |
| 3518 | } |
| 3519 | set |
| 3520 | { |
| 3521 | this.disableSystemRestoreFieldSet = true; |
| 3522 | this.disableSystemRestoreField = value; |
| 3523 | } |
| 3524 | } |
| 3525 | |
| 3526 | /// <summary> |
| 3527 | /// Specifies whether the bundle will start installing packages |
| 3528 | /// while other packages are still being cached. If "yes", |
| 3529 | /// packages will start executing when a rollback boundary is |
| 3530 | /// encountered. The default is "no" which dictates all packages |
| 3531 | /// must be cached before any packages will start to be installed. |
| 3532 | /// </summary> |
| 3533 | public YesNoType ParallelCache |
| 3534 | { |
| 3535 | get |
| 3536 | { |
| 3537 | return this.parallelCacheField; |
| 3538 | } |
| 3539 | set |
| 3540 | { |
| 3541 | this.parallelCacheFieldSet = true; |
| 3542 | this.parallelCacheField = value; |
| 3543 | } |
| 3544 | } |
| 3545 | |
| 3546 | public virtual ISchemaElement ParentElement |
| 3547 | { |
| 3548 | get |
| 3549 | { |
| 3550 | return this.parentElement; |
| 3551 | } |
| 3552 | set |
| 3553 | { |
| 3554 | this.parentElement = value; |
| 3555 | } |
| 3556 | } |
| 3557 | |
| 3558 | public virtual void AddChild(ISchemaElement child) |
| 3559 | { |
| 3560 | if ((null == child)) |
| 3561 | { |
| 3562 | throw new ArgumentNullException("child"); |
| 3563 | } |
| 3564 | this.children.AddElement(child); |
| 3565 | child.ParentElement = this; |
| 3566 | } |
| 3567 | |
| 3568 | public virtual void RemoveChild(ISchemaElement child) |
| 3569 | { |
| 3570 | if ((null == child)) |
| 3571 | { |
| 3572 | throw new ArgumentNullException("child"); |
| 3573 | } |
| 3574 | this.children.RemoveElement(child); |
| 3575 | child.ParentElement = null; |
| 3576 | } |
| 3577 | |
| 3578 | [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] |
| 3579 | [SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] |
| 3580 | ISchemaElement ICreateChildren.CreateChild(string childName) |
| 3581 | { |
| 3582 | if (String.IsNullOrEmpty(childName)) |
| 3583 | { |
| 3584 | throw new ArgumentNullException("childName"); |
| 3585 | } |
| 3586 | ISchemaElement childValue = null; |
| 3587 | if (("MsiPackage" == childName)) |
| 3588 | { |
| 3589 | childValue = new MsiPackage(); |
| 3590 | } |
| 3591 | if (("MspPackage" == childName)) |
| 3592 | { |
| 3593 | childValue = new MspPackage(); |
| 3594 | } |
| 3595 | if (("MsuPackage" == childName)) |
| 3596 | { |
| 3597 | childValue = new MsuPackage(); |
| 3598 | } |
| 3599 | if (("ExePackage" == childName)) |
| 3600 | { |
| 3601 | childValue = new ExePackage(); |
| 3602 | } |
| 3603 | if (("RollbackBoundary" == childName)) |
| 3604 | { |
| 3605 | childValue = new RollbackBoundary(); |
| 3606 | } |
| 3607 | if (("PackageGroupRef" == childName)) |
| 3608 | { |
| 3609 | childValue = new PackageGroupRef(); |
| 3610 | } |
| 3611 | if ((null == childValue)) |
| 3612 | { |
| 3613 | throw new InvalidOperationException(String.Concat(childName, " is not a valid child name.")); |
| 3614 | } |
| 3615 | return childValue; |
| 3616 | } |
| 3617 | |
| 3618 | /// <summary> |
| 3619 | /// Processes this element and all child elements into an XmlWriter. |
| 3620 | /// </summary> |
| 3621 | public virtual void OutputXml(XmlWriter writer) |
| 3622 | { |
| 3623 | if ((null == writer)) |
| 3624 | { |
| 3625 | throw new ArgumentNullException("writer"); |
| 3626 | } |
| 3627 | writer.WriteStartElement("Chain", "http://wixtoolset.org/schemas/v4/wxs"); |
| 3628 | if (this.disableRollbackFieldSet) |
| 3629 | { |
| 3630 | if ((this.disableRollbackField == YesNoType.no)) |
| 3631 | { |
| 3632 | writer.WriteAttributeString("DisableRollback", "no"); |
| 3633 | } |
| 3634 | if ((this.disableRollbackField == YesNoType.yes)) |
| 3635 | { |
| 3636 | writer.WriteAttributeString("DisableRollback", "yes"); |
| 3637 | } |
| 3638 | } |
| 3639 | if (this.disableSystemRestoreFieldSet) |
| 3640 | { |
| 3641 | if ((this.disableSystemRestoreField == YesNoType.no)) |
| 3642 | { |
| 3643 | writer.WriteAttributeString("DisableSystemRestore", "no"); |
| 3644 | } |
| 3645 | if ((this.disableSystemRestoreField == YesNoType.yes)) |
| 3646 | { |
| 3647 | writer.WriteAttributeString("DisableSystemRestore", "yes"); |
| 3648 | } |
| 3649 | } |
| 3650 | if (this.parallelCacheFieldSet) |
| 3651 | { |
| 3652 | if ((this.parallelCacheField == YesNoType.no)) |
| 3653 | { |
| 3654 | writer.WriteAttributeString("ParallelCache", "no"); |
| 3655 | } |
| 3656 | if ((this.parallelCacheField == YesNoType.yes)) |
| 3657 | { |
| 3658 | writer.WriteAttributeString("ParallelCache", "yes"); |
| 3659 | } |
| 3660 | } |
| 3661 | for (IEnumerator enumerator = this.children.GetEnumerator(); enumerator.MoveNext();) |
| 3662 | { |
| 3663 | ISchemaElement childElement = ((ISchemaElement)(enumerator.Current)); |
| 3664 | childElement.OutputXml(writer); |
| 3665 | } |
| 3666 | writer.WriteEndElement(); |
| 3667 | } |
| 3668 | |
| 3669 | [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] |
| 3670 | void ISetAttributes.SetAttribute(string name, string value) |
| 3671 | { |
| 3672 | if (String.IsNullOrEmpty(name)) |
| 3673 | { |
| 3674 | throw new ArgumentNullException("name"); |
| 3675 | } |
| 3676 | if (("DisableRollback" == name)) |
| 3677 | { |
| 3678 | this.disableRollbackField = Enums.ParseYesNoType(value); |
| 3679 | this.disableRollbackFieldSet = true; |
| 3680 | } |
| 3681 | if (("DisableSystemRestore" == name)) |
| 3682 | { |
| 3683 | this.disableSystemRestoreField = Enums.ParseYesNoType(value); |
| 3684 | this.disableSystemRestoreFieldSet = true; |
| 3685 | } |
| 3686 | if (("ParallelCache" == name)) |
| 3687 | { |
| 3688 | this.parallelCacheField = Enums.ParseYesNoType(value); |
| 3689 | this.parallelCacheFieldSet = true; |
| 3690 | } |
| 3691 | } |
| 3692 | } |
| 3693 | |
| 3694 | /// <summary> |
| 3695 | /// Describes a single msi package to install. |
| 3696 | /// </summary> |
| 3697 | [GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")] |
| 3698 | public class MsiPackage : IParentElement, ICreateChildren, ISchemaElement, ISetAttributes |
| 3699 | { |
| 3700 | |
| 3701 | private ElementCollection children; |
| 3702 | |
| 3703 | private string sourceFileField; |
| 3704 | |
| 3705 | private bool sourceFileFieldSet; |
| 3706 | |
| 3707 | private string nameField; |
| 3708 | |
| 3709 | private bool nameFieldSet; |
| 3710 | |
| 3711 | private string downloadUrlField; |
| 3712 | |
| 3713 | private bool downloadUrlFieldSet; |
| 3714 | |
| 3715 | private string idField; |
| 3716 | |
| 3717 | private bool idFieldSet; |
| 3718 | |
| 3719 | private string afterField; |
| 3720 | |
| 3721 | private bool afterFieldSet; |
| 3722 | |
| 3723 | private string installSizeField; |
| 3724 | |
| 3725 | private bool installSizeFieldSet; |
| 3726 | |
| 3727 | private string installConditionField; |
| 3728 | |
| 3729 | private bool installConditionFieldSet; |
| 3730 | |
| 3731 | private BundleCacheType cacheField; |
| 3732 | |
| 3733 | private bool cacheFieldSet; |
| 3734 | |
| 3735 | private string cacheIdField; |
| 3736 | |
| 3737 | private bool cacheIdFieldSet; |
| 3738 | |
| 3739 | private string displayNameField; |
| 3740 | |
| 3741 | private bool displayNameFieldSet; |
| 3742 | |
| 3743 | private string descriptionField; |
| 3744 | |
| 3745 | private bool descriptionFieldSet; |
| 3746 | |
| 3747 | private string logPathVariableField; |
| 3748 | |
| 3749 | private bool logPathVariableFieldSet; |
| 3750 | |
| 3751 | private string rollbackLogPathVariableField; |
| 3752 | |
| 3753 | private bool rollbackLogPathVariableFieldSet; |
| 3754 | |
| 3755 | private YesNoType permanentField; |
| 3756 | |
| 3757 | private bool permanentFieldSet; |
| 3758 | |
| 3759 | private YesNoType vitalField; |
| 3760 | |
| 3761 | private bool vitalFieldSet; |
| 3762 | |
| 3763 | private YesNoDefaultType compressedField; |
| 3764 | |
| 3765 | private bool compressedFieldSet; |
| 3766 | |
| 3767 | private YesNoType enableSignatureVerificationField; |
| 3768 | |
| 3769 | private bool enableSignatureVerificationFieldSet; |
| 3770 | |
| 3771 | private YesNoType enableFeatureSelectionField; |
| 3772 | |
| 3773 | private bool enableFeatureSelectionFieldSet; |
| 3774 | |
| 3775 | private YesNoType forcePerMachineField; |
| 3776 | |
| 3777 | private bool forcePerMachineFieldSet; |
| 3778 | |
| 3779 | private YesNoType suppressLooseFilePayloadGenerationField; |
| 3780 | |
| 3781 | private bool suppressLooseFilePayloadGenerationFieldSet; |
| 3782 | |
| 3783 | private YesNoType visibleField; |
| 3784 | |
| 3785 | private bool visibleFieldSet; |
| 3786 | |
| 3787 | private ISchemaElement parentElement; |
| 3788 | |
| 3789 | public MsiPackage() |
| 3790 | { |
| 3791 | ElementCollection childCollection0 = new ElementCollection(ElementCollection.CollectionType.Choice); |
| 3792 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(MsiProperty))); |
| 3793 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(SlipstreamMsp))); |
| 3794 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(Payload))); |
| 3795 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(PayloadGroupRef))); |
| 3796 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(ISchemaElement))); |
| 3797 | this.children = childCollection0; |
| 3798 | } |
| 3799 | |
| 3800 | public virtual IEnumerable Children |
| 3801 | { |
| 3802 | get |
| 3803 | { |
| 3804 | return this.children; |
| 3805 | } |
| 3806 | } |
| 3807 | |
| 3808 | [SuppressMessage("Microsoft.Design", "CA1043:UseIntegralOrStringArgumentForIndexers")] |
| 3809 | public virtual IEnumerable this[System.Type childType] |
| 3810 | { |
| 3811 | get |
| 3812 | { |
| 3813 | return this.children.Filter(childType); |
| 3814 | } |
| 3815 | } |
| 3816 | |
| 3817 | /// <summary> |
| 3818 | /// Location of the package to add to the bundle. The default value is the Name attribute, if provided. |
| 3819 | /// At a minimum, the SourceFile or Name attribute must be specified. |
| 3820 | /// </summary> |
| 3821 | public string SourceFile |
| 3822 | { |
| 3823 | get |
| 3824 | { |
| 3825 | return this.sourceFileField; |
| 3826 | } |
| 3827 | set |
| 3828 | { |
| 3829 | this.sourceFileFieldSet = true; |
| 3830 | this.sourceFileField = value; |
| 3831 | } |
| 3832 | } |
| 3833 | |
| 3834 | /// <summary> |
| 3835 | /// The destination path and file name for this chain payload. Use this attribute to rename the |
| 3836 | /// chain entry point or extract it into a subfolder. The default value is the file name from the |
| 3837 | /// SourceFile attribute, if provided. At a minimum, the Name or SourceFile attribute must be specified. |
| 3838 | /// The use of '..' directories is not allowed. |
| 3839 | /// </summary> |
| 3840 | public string Name |
| 3841 | { |
| 3842 | get |
| 3843 | { |
| 3844 | return this.nameField; |
| 3845 | } |
| 3846 | set |
| 3847 | { |
| 3848 | this.nameFieldSet = true; |
| 3849 | this.nameField = value; |
| 3850 | } |
| 3851 | } |
| 3852 | |
| 3853 | public string DownloadUrl |
| 3854 | { |
| 3855 | get |
| 3856 | { |
| 3857 | return this.downloadUrlField; |
| 3858 | } |
| 3859 | set |
| 3860 | { |
| 3861 | this.downloadUrlFieldSet = true; |
| 3862 | this.downloadUrlField = value; |
| 3863 | } |
| 3864 | } |
| 3865 | |
| 3866 | /// <summary> |
| 3867 | /// Identifier for this package, for ordering and cross-referencing. The default is the Name attribute |
| 3868 | /// modified to be suitable as an identifier (i.e. invalid characters are replaced with underscores). |
| 3869 | /// </summary> |
| 3870 | public string Id |
| 3871 | { |
| 3872 | get |
| 3873 | { |
| 3874 | return this.idField; |
| 3875 | } |
| 3876 | set |
| 3877 | { |
| 3878 | this.idFieldSet = true; |
| 3879 | this.idField = value; |
| 3880 | } |
| 3881 | } |
| 3882 | |
| 3883 | /// <summary> |
| 3884 | /// The identifier of another package that this one should be installed after. By default the After |
| 3885 | /// attribute is set to the previous sibling package in the Chain or PackageGroup element. If this |
| 3886 | /// attribute is specified ensure that a cycle is not created explicitly or implicitly. |
| 3887 | /// </summary> |
| 3888 | public string After |
| 3889 | { |
| 3890 | get |
| 3891 | { |
| 3892 | return this.afterField; |
| 3893 | } |
| 3894 | set |
| 3895 | { |
| 3896 | this.afterFieldSet = true; |
| 3897 | this.afterField = value; |
| 3898 | } |
| 3899 | } |
| 3900 | |
| 3901 | /// <summary> |
| 3902 | /// The size this package will take on disk in bytes after it is installed. By default, the binder will |
| 3903 | /// calculate the install size by scanning the package (File table for MSIs, Payloads for EXEs) |
| 3904 | /// and use the total for the install size of the package. |
| 3905 | /// </summary> |
| 3906 | public string InstallSize |
| 3907 | { |
| 3908 | get |
| 3909 | { |
| 3910 | return this.installSizeField; |
| 3911 | } |
| 3912 | set |
| 3913 | { |
| 3914 | this.installSizeFieldSet = true; |
| 3915 | this.installSizeField = value; |
| 3916 | } |
| 3917 | } |
| 3918 | |
| 3919 | /// <summary> |
| 3920 | /// A condition to evaluate before installing the package. The package will only be installed if the condition evaluates to true. If the condition evaluates to false and the bundle is being installed, repaired, or modified, the package will be uninstalled. |
| 3921 | /// </summary> |
| 3922 | public string InstallCondition |
| 3923 | { |
| 3924 | get |
| 3925 | { |
| 3926 | return this.installConditionField; |
| 3927 | } |
| 3928 | set |
| 3929 | { |
| 3930 | this.installConditionFieldSet = true; |
| 3931 | this.installConditionField = value; |
| 3932 | } |
| 3933 | } |
| 3934 | |
| 3935 | /// <summary> |
| 3936 | /// Whether to cache the package. The default is "yes". |
| 3937 | /// </summary> |
| 3938 | public BundleCacheType Cache |
| 3939 | { |
| 3940 | get |
| 3941 | { |
| 3942 | return this.cacheField; |
| 3943 | } |
| 3944 | set |
| 3945 | { |
| 3946 | this.cacheFieldSet = true; |
| 3947 | this.cacheField = value; |
| 3948 | } |
| 3949 | } |
| 3950 | |
| 3951 | /// <summary> |
| 3952 | /// The identifier to use when caching the package. |
| 3953 | /// </summary> |
| 3954 | public string CacheId |
| 3955 | { |
| 3956 | get |
| 3957 | { |
| 3958 | return this.cacheIdField; |
| 3959 | } |
| 3960 | set |
| 3961 | { |
| 3962 | this.cacheIdFieldSet = true; |
| 3963 | this.cacheIdField = value; |
| 3964 | } |
| 3965 | } |
| 3966 | |
| 3967 | /// <summary> |
| 3968 | /// Specifies the display name to place in the bootstrapper application data manifest for the package. By default, ExePackages |
| 3969 | /// use the ProductName field from the version information, MsiPackages use the ProductName property, and MspPackages use |
| 3970 | /// the DisplayName patch metadata property. Other package types must use this attribute to define a display name in the |
| 3971 | /// bootstrapper application data manifest. |
| 3972 | /// </summary> |
| 3973 | public string DisplayName |
| 3974 | { |
| 3975 | get |
| 3976 | { |
| 3977 | return this.displayNameField; |
| 3978 | } |
| 3979 | set |
| 3980 | { |
| 3981 | this.displayNameFieldSet = true; |
| 3982 | this.displayNameField = value; |
| 3983 | } |
| 3984 | } |
| 3985 | |
| 3986 | /// <summary> |
| 3987 | /// Specifies the description to place in the bootstrapper application data manifest for the package. By default, ExePackages |
| 3988 | /// use the FileName field from the version information, MsiPackages use the ARPCOMMENTS property, and MspPackages use |
| 3989 | /// the Description patch metadata property. Other package types must use this attribute to define a description in the |
| 3990 | /// bootstrapper application data manifest. |
| 3991 | /// </summary> |
| 3992 | public string Description |
| 3993 | { |
| 3994 | get |
| 3995 | { |
| 3996 | return this.descriptionField; |
| 3997 | } |
| 3998 | set |
| 3999 | { |
| 4000 | this.descriptionFieldSet = true; |
| 4001 | this.descriptionField = value; |
| 4002 | } |
| 4003 | } |
| 4004 | |
| 4005 | /// <summary> |
| 4006 | /// Name of a Variable that will hold the path to the log file. An empty value will cause the variable to not |
| 4007 | /// be set. The default is "WixBundleLog_[PackageId]" except for MSU packages which default to no logging. |
| 4008 | /// </summary> |
| 4009 | public string LogPathVariable |
| 4010 | { |
| 4011 | get |
| 4012 | { |
| 4013 | return this.logPathVariableField; |
| 4014 | } |
| 4015 | set |
| 4016 | { |
| 4017 | this.logPathVariableFieldSet = true; |
| 4018 | this.logPathVariableField = value; |
| 4019 | } |
| 4020 | } |
| 4021 | |
| 4022 | /// <summary> |
| 4023 | /// Name of a Variable that will hold the path to the log file used during rollback. An empty value will cause |
| 4024 | /// the variable to not be set. The default is "WixBundleRollbackLog_[PackageId]" except for MSU packages which |
| 4025 | /// default to no logging. |
| 4026 | /// </summary> |
| 4027 | public string RollbackLogPathVariable |
| 4028 | { |
| 4029 | get |
| 4030 | { |
| 4031 | return this.rollbackLogPathVariableField; |
| 4032 | } |
| 4033 | set |
| 4034 | { |
| 4035 | this.rollbackLogPathVariableFieldSet = true; |
| 4036 | this.rollbackLogPathVariableField = value; |
| 4037 | } |
| 4038 | } |
| 4039 | |
| 4040 | /// <summary> |
| 4041 | /// Specifies whether the package can be uninstalled. The default is "no". |
| 4042 | /// </summary> |
| 4043 | public YesNoType Permanent |
| 4044 | { |
| 4045 | get |
| 4046 | { |
| 4047 | return this.permanentField; |
| 4048 | } |
| 4049 | set |
| 4050 | { |
| 4051 | this.permanentFieldSet = true; |
| 4052 | this.permanentField = value; |
| 4053 | } |
| 4054 | } |
| 4055 | |
| 4056 | /// <summary> |
| 4057 | /// Specifies whether the package must succeed for the chain to continue. The default "yes" |
| 4058 | /// indicates that if the package fails then the chain will fail and rollback or stop. If |
| 4059 | /// "no" is specified then the chain will continue even if the package reports failure. |
| 4060 | /// </summary> |
| 4061 | public YesNoType Vital |
| 4062 | { |
| 4063 | get |
| 4064 | { |
| 4065 | return this.vitalField; |
| 4066 | } |
| 4067 | set |
| 4068 | { |
| 4069 | this.vitalFieldSet = true; |
| 4070 | this.vitalField = value; |
| 4071 | } |
| 4072 | } |
| 4073 | |
| 4074 | /// <summary> |
| 4075 | /// Whether the package payload should be embedded in a container or left as an external payload. |
| 4076 | /// </summary> |
| 4077 | public YesNoDefaultType Compressed |
| 4078 | { |
| 4079 | get |
| 4080 | { |
| 4081 | return this.compressedField; |
| 4082 | } |
| 4083 | set |
| 4084 | { |
| 4085 | this.compressedFieldSet = true; |
| 4086 | this.compressedField = value; |
| 4087 | } |
| 4088 | } |
| 4089 | |
| 4090 | /// <summary> |
| 4091 | /// By default, a Bundle will use the hash of a package to verify its contents. If this attribute is set to "yes" |
| 4092 | /// and the package is signed with an Authenticode signature the Bundle will verify the contents of the package using the |
| 4093 | /// signature instead. Beware that there are many real world issues with Windows verifying Authenticode signatures. |
| 4094 | /// Since the Authenticode signatures are no more secure than hashing the packages directly, the default is "no". |
| 4095 | /// </summary> |
| 4096 | public YesNoType EnableSignatureVerification |
| 4097 | { |
| 4098 | get |
| 4099 | { |
| 4100 | return this.enableSignatureVerificationField; |
| 4101 | } |
| 4102 | set |
| 4103 | { |
| 4104 | this.enableSignatureVerificationFieldSet = true; |
| 4105 | this.enableSignatureVerificationField = value; |
| 4106 | } |
| 4107 | } |
| 4108 | |
| 4109 | /// <summary> |
| 4110 | /// Specifies whether the bundle will allow individual control over the installation state of Features inside |
| 4111 | /// the msi package. Managing feature selection requires special care to ensure the install, modify, update and |
| 4112 | /// uninstall behavior of the package is always correct. The default is "no". |
| 4113 | /// </summary> |
| 4114 | public YesNoType EnableFeatureSelection |
| 4115 | { |
| 4116 | get |
| 4117 | { |
| 4118 | return this.enableFeatureSelectionField; |
| 4119 | } |
| 4120 | set |
| 4121 | { |
| 4122 | this.enableFeatureSelectionFieldSet = true; |
| 4123 | this.enableFeatureSelectionField = value; |
| 4124 | } |
| 4125 | } |
| 4126 | |
| 4127 | /// <summary> |
| 4128 | /// Override the automatic per-machine detection of MSI packages and force the package to be per-machine. |
| 4129 | /// The default is "no", which allows the tools to detect the expected value. |
| 4130 | /// </summary> |
| 4131 | public YesNoType ForcePerMachine |
| 4132 | { |
| 4133 | get |
| 4134 | { |
| 4135 | return this.forcePerMachineField; |
| 4136 | } |
| 4137 | set |
| 4138 | { |
| 4139 | this.forcePerMachineFieldSet = true; |
| 4140 | this.forcePerMachineField = value; |
| 4141 | } |
| 4142 | } |
| 4143 | |
| 4144 | /// <summary> |
| 4145 | /// This attribute has been deprecated. When the value is "yes", the Binder will not read the MSI package |
| 4146 | /// to detect uncompressed files that would otherwise be automatically included in the Bundle as Payloads. |
| 4147 | /// The resulting Bundle may not be able to install the MSI package correctly. The default is "no". |
| 4148 | /// </summary> |
| 4149 | public YesNoType SuppressLooseFilePayloadGeneration |
| 4150 | { |
| 4151 | get |
| 4152 | { |
| 4153 | return this.suppressLooseFilePayloadGenerationField; |
| 4154 | } |
| 4155 | set |
| 4156 | { |
| 4157 | this.suppressLooseFilePayloadGenerationFieldSet = true; |
| 4158 | this.suppressLooseFilePayloadGenerationField = value; |
| 4159 | } |
| 4160 | } |
| 4161 | |
| 4162 | /// <summary> |
| 4163 | /// Specifies whether the MSI will be displayed in Programs and Features (also known as Add/Remove Programs). If "yes" is |
| 4164 | /// specified the MSI package information will be displayed in Programs and Features. The default "no" indicates the MSI |
| 4165 | /// will not be displayed. |
| 4166 | /// </summary> |
| 4167 | public YesNoType Visible |
| 4168 | { |
| 4169 | get |
| 4170 | { |
| 4171 | return this.visibleField; |
| 4172 | } |
| 4173 | set |
| 4174 | { |
| 4175 | this.visibleFieldSet = true; |
| 4176 | this.visibleField = value; |
| 4177 | } |
| 4178 | } |
| 4179 | |
| 4180 | public virtual ISchemaElement ParentElement |
| 4181 | { |
| 4182 | get |
| 4183 | { |
| 4184 | return this.parentElement; |
| 4185 | } |
| 4186 | set |
| 4187 | { |
| 4188 | this.parentElement = value; |
| 4189 | } |
| 4190 | } |
| 4191 | |
| 4192 | public virtual void AddChild(ISchemaElement child) |
| 4193 | { |
| 4194 | if ((null == child)) |
| 4195 | { |
| 4196 | throw new ArgumentNullException("child"); |
| 4197 | } |
| 4198 | this.children.AddElement(child); |
| 4199 | child.ParentElement = this; |
| 4200 | } |
| 4201 | |
| 4202 | public virtual void RemoveChild(ISchemaElement child) |
| 4203 | { |
| 4204 | if ((null == child)) |
| 4205 | { |
| 4206 | throw new ArgumentNullException("child"); |
| 4207 | } |
| 4208 | this.children.RemoveElement(child); |
| 4209 | child.ParentElement = null; |
| 4210 | } |
| 4211 | |
| 4212 | [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] |
| 4213 | ISchemaElement ICreateChildren.CreateChild(string childName) |
| 4214 | { |
| 4215 | if (String.IsNullOrEmpty(childName)) |
| 4216 | { |
| 4217 | throw new ArgumentNullException("childName"); |
| 4218 | } |
| 4219 | ISchemaElement childValue = null; |
| 4220 | if (("MsiProperty" == childName)) |
| 4221 | { |
| 4222 | childValue = new MsiProperty(); |
| 4223 | } |
| 4224 | if (("SlipstreamMsp" == childName)) |
| 4225 | { |
| 4226 | childValue = new SlipstreamMsp(); |
| 4227 | } |
| 4228 | if (("Payload" == childName)) |
| 4229 | { |
| 4230 | childValue = new Payload(); |
| 4231 | } |
| 4232 | if (("PayloadGroupRef" == childName)) |
| 4233 | { |
| 4234 | childValue = new PayloadGroupRef(); |
| 4235 | } |
| 4236 | if ((null == childValue)) |
| 4237 | { |
| 4238 | throw new InvalidOperationException(String.Concat(childName, " is not a valid child name.")); |
| 4239 | } |
| 4240 | return childValue; |
| 4241 | } |
| 4242 | |
| 4243 | /// <summary> |
| 4244 | /// Processes this element and all child elements into an XmlWriter. |
| 4245 | /// </summary> |
| 4246 | [SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] |
| 4247 | public virtual void OutputXml(XmlWriter writer) |
| 4248 | { |
| 4249 | if ((null == writer)) |
| 4250 | { |
| 4251 | throw new ArgumentNullException("writer"); |
| 4252 | } |
| 4253 | writer.WriteStartElement("MsiPackage", "http://wixtoolset.org/schemas/v4/wxs"); |
| 4254 | if (this.sourceFileFieldSet) |
| 4255 | { |
| 4256 | writer.WriteAttributeString("SourceFile", this.sourceFileField); |
| 4257 | } |
| 4258 | if (this.nameFieldSet) |
| 4259 | { |
| 4260 | writer.WriteAttributeString("Name", this.nameField); |
| 4261 | } |
| 4262 | if (this.downloadUrlFieldSet) |
| 4263 | { |
| 4264 | writer.WriteAttributeString("DownloadUrl", this.downloadUrlField); |
| 4265 | } |
| 4266 | if (this.idFieldSet) |
| 4267 | { |
| 4268 | writer.WriteAttributeString("Id", this.idField); |
| 4269 | } |
| 4270 | if (this.afterFieldSet) |
| 4271 | { |
| 4272 | writer.WriteAttributeString("After", this.afterField); |
| 4273 | } |
| 4274 | if (this.installSizeFieldSet) |
| 4275 | { |
| 4276 | writer.WriteAttributeString("InstallSize", this.installSizeField); |
| 4277 | } |
| 4278 | if (this.installConditionFieldSet) |
| 4279 | { |
| 4280 | writer.WriteAttributeString("InstallCondition", this.installConditionField); |
| 4281 | } |
| 4282 | if (this.cacheFieldSet) |
| 4283 | { |
| 4284 | if ((this.cacheField == BundleCacheType.force)) |
| 4285 | { |
| 4286 | writer.WriteAttributeString("Cache", "force"); |
| 4287 | } |
| 4288 | if ((this.cacheField == BundleCacheType.remove)) |
| 4289 | { |
| 4290 | writer.WriteAttributeString("Cache", "remove"); |
| 4291 | } |
| 4292 | if ((this.cacheField == BundleCacheType.keep)) |
| 4293 | { |
| 4294 | writer.WriteAttributeString("Cache", "keep"); |
| 4295 | } |
| 4296 | } |
| 4297 | if (this.cacheIdFieldSet) |
| 4298 | { |
| 4299 | writer.WriteAttributeString("CacheId", this.cacheIdField); |
| 4300 | } |
| 4301 | if (this.displayNameFieldSet) |
| 4302 | { |
| 4303 | writer.WriteAttributeString("DisplayName", this.displayNameField); |
| 4304 | } |
| 4305 | if (this.descriptionFieldSet) |
| 4306 | { |
| 4307 | writer.WriteAttributeString("Description", this.descriptionField); |
| 4308 | } |
| 4309 | if (this.logPathVariableFieldSet) |
| 4310 | { |
| 4311 | writer.WriteAttributeString("LogPathVariable", this.logPathVariableField); |
| 4312 | } |
| 4313 | if (this.rollbackLogPathVariableFieldSet) |
| 4314 | { |
| 4315 | writer.WriteAttributeString("RollbackLogPathVariable", this.rollbackLogPathVariableField); |
| 4316 | } |
| 4317 | if (this.permanentFieldSet) |
| 4318 | { |
| 4319 | if ((this.permanentField == YesNoType.no)) |
| 4320 | { |
| 4321 | writer.WriteAttributeString("Permanent", "no"); |
| 4322 | } |
| 4323 | if ((this.permanentField == YesNoType.yes)) |
| 4324 | { |
| 4325 | writer.WriteAttributeString("Permanent", "yes"); |
| 4326 | } |
| 4327 | } |
| 4328 | if (this.vitalFieldSet) |
| 4329 | { |
| 4330 | if ((this.vitalField == YesNoType.no)) |
| 4331 | { |
| 4332 | writer.WriteAttributeString("Vital", "no"); |
| 4333 | } |
| 4334 | if ((this.vitalField == YesNoType.yes)) |
| 4335 | { |
| 4336 | writer.WriteAttributeString("Vital", "yes"); |
| 4337 | } |
| 4338 | } |
| 4339 | if (this.compressedFieldSet) |
| 4340 | { |
| 4341 | if ((this.compressedField == YesNoDefaultType.@default)) |
| 4342 | { |
| 4343 | writer.WriteAttributeString("Compressed", "default"); |
| 4344 | } |
| 4345 | if ((this.compressedField == YesNoDefaultType.no)) |
| 4346 | { |
| 4347 | writer.WriteAttributeString("Compressed", "no"); |
| 4348 | } |
| 4349 | if ((this.compressedField == YesNoDefaultType.yes)) |
| 4350 | { |
| 4351 | writer.WriteAttributeString("Compressed", "yes"); |
| 4352 | } |
| 4353 | } |
| 4354 | if (this.enableSignatureVerificationFieldSet) |
| 4355 | { |
| 4356 | if ((this.enableSignatureVerificationField == YesNoType.no)) |
| 4357 | { |
| 4358 | writer.WriteAttributeString("EnableSignatureVerification", "no"); |
| 4359 | } |
| 4360 | if ((this.enableSignatureVerificationField == YesNoType.yes)) |
| 4361 | { |
| 4362 | writer.WriteAttributeString("EnableSignatureVerification", "yes"); |
| 4363 | } |
| 4364 | } |
| 4365 | if (this.enableFeatureSelectionFieldSet) |
| 4366 | { |
| 4367 | if ((this.enableFeatureSelectionField == YesNoType.no)) |
| 4368 | { |
| 4369 | writer.WriteAttributeString("EnableFeatureSelection", "no"); |
| 4370 | } |
| 4371 | if ((this.enableFeatureSelectionField == YesNoType.yes)) |
| 4372 | { |
| 4373 | writer.WriteAttributeString("EnableFeatureSelection", "yes"); |
| 4374 | } |
| 4375 | } |
| 4376 | if (this.forcePerMachineFieldSet) |
| 4377 | { |
| 4378 | if ((this.forcePerMachineField == YesNoType.no)) |
| 4379 | { |
| 4380 | writer.WriteAttributeString("ForcePerMachine", "no"); |
| 4381 | } |
| 4382 | if ((this.forcePerMachineField == YesNoType.yes)) |
| 4383 | { |
| 4384 | writer.WriteAttributeString("ForcePerMachine", "yes"); |
| 4385 | } |
| 4386 | } |
| 4387 | if (this.suppressLooseFilePayloadGenerationFieldSet) |
| 4388 | { |
| 4389 | if ((this.suppressLooseFilePayloadGenerationField == YesNoType.no)) |
| 4390 | { |
| 4391 | writer.WriteAttributeString("SuppressLooseFilePayloadGeneration", "no"); |
| 4392 | } |
| 4393 | if ((this.suppressLooseFilePayloadGenerationField == YesNoType.yes)) |
| 4394 | { |
| 4395 | writer.WriteAttributeString("SuppressLooseFilePayloadGeneration", "yes"); |
| 4396 | } |
| 4397 | } |
| 4398 | if (this.visibleFieldSet) |
| 4399 | { |
| 4400 | if ((this.visibleField == YesNoType.no)) |
| 4401 | { |
| 4402 | writer.WriteAttributeString("Visible", "no"); |
| 4403 | } |
| 4404 | if ((this.visibleField == YesNoType.yes)) |
| 4405 | { |
| 4406 | writer.WriteAttributeString("Visible", "yes"); |
| 4407 | } |
| 4408 | } |
| 4409 | for (IEnumerator enumerator = this.children.GetEnumerator(); enumerator.MoveNext();) |
| 4410 | { |
| 4411 | ISchemaElement childElement = ((ISchemaElement)(enumerator.Current)); |
| 4412 | childElement.OutputXml(writer); |
| 4413 | } |
| 4414 | writer.WriteEndElement(); |
| 4415 | } |
| 4416 | |
| 4417 | [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] |
| 4418 | [SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] |
| 4419 | void ISetAttributes.SetAttribute(string name, string value) |
| 4420 | { |
| 4421 | if (String.IsNullOrEmpty(name)) |
| 4422 | { |
| 4423 | throw new ArgumentNullException("name"); |
| 4424 | } |
| 4425 | if (("SourceFile" == name)) |
| 4426 | { |
| 4427 | this.sourceFileField = value; |
| 4428 | this.sourceFileFieldSet = true; |
| 4429 | } |
| 4430 | if (("Name" == name)) |
| 4431 | { |
| 4432 | this.nameField = value; |
| 4433 | this.nameFieldSet = true; |
| 4434 | } |
| 4435 | if (("DownloadUrl" == name)) |
| 4436 | { |
| 4437 | this.downloadUrlField = value; |
| 4438 | this.downloadUrlFieldSet = true; |
| 4439 | } |
| 4440 | if (("Id" == name)) |
| 4441 | { |
| 4442 | this.idField = value; |
| 4443 | this.idFieldSet = true; |
| 4444 | } |
| 4445 | if (("After" == name)) |
| 4446 | { |
| 4447 | this.afterField = value; |
| 4448 | this.afterFieldSet = true; |
| 4449 | } |
| 4450 | if (("InstallSize" == name)) |
| 4451 | { |
| 4452 | this.installSizeField = value; |
| 4453 | this.installSizeFieldSet = true; |
| 4454 | } |
| 4455 | if (("InstallCondition" == name)) |
| 4456 | { |
| 4457 | this.installConditionField = value; |
| 4458 | this.installConditionFieldSet = true; |
| 4459 | } |
| 4460 | if (("Cache" == name)) |
| 4461 | { |
| 4462 | this.cacheField = Enums.ParseBundleCacheType(value); |
| 4463 | this.cacheFieldSet = true; |
| 4464 | } |
| 4465 | if (("CacheId" == name)) |
| 4466 | { |
| 4467 | this.cacheIdField = value; |
| 4468 | this.cacheIdFieldSet = true; |
| 4469 | } |
| 4470 | if (("DisplayName" == name)) |
| 4471 | { |
| 4472 | this.displayNameField = value; |
| 4473 | this.displayNameFieldSet = true; |
| 4474 | } |
| 4475 | if (("Description" == name)) |
| 4476 | { |
| 4477 | this.descriptionField = value; |
| 4478 | this.descriptionFieldSet = true; |
| 4479 | } |
| 4480 | if (("LogPathVariable" == name)) |
| 4481 | { |
| 4482 | this.logPathVariableField = value; |
| 4483 | this.logPathVariableFieldSet = true; |
| 4484 | } |
| 4485 | if (("RollbackLogPathVariable" == name)) |
| 4486 | { |
| 4487 | this.rollbackLogPathVariableField = value; |
| 4488 | this.rollbackLogPathVariableFieldSet = true; |
| 4489 | } |
| 4490 | if (("Permanent" == name)) |
| 4491 | { |
| 4492 | this.permanentField = Enums.ParseYesNoType(value); |
| 4493 | this.permanentFieldSet = true; |
| 4494 | } |
| 4495 | if (("Vital" == name)) |
| 4496 | { |
| 4497 | this.vitalField = Enums.ParseYesNoType(value); |
| 4498 | this.vitalFieldSet = true; |
| 4499 | } |
| 4500 | if (("Compressed" == name)) |
| 4501 | { |
| 4502 | this.compressedField = Enums.ParseYesNoDefaultType(value); |
| 4503 | this.compressedFieldSet = true; |
| 4504 | } |
| 4505 | if (("EnableSignatureVerification" == name)) |
| 4506 | { |
| 4507 | this.enableSignatureVerificationField = Enums.ParseYesNoType(value); |
| 4508 | this.enableSignatureVerificationFieldSet = true; |
| 4509 | } |
| 4510 | if (("EnableFeatureSelection" == name)) |
| 4511 | { |
| 4512 | this.enableFeatureSelectionField = Enums.ParseYesNoType(value); |
| 4513 | this.enableFeatureSelectionFieldSet = true; |
| 4514 | } |
| 4515 | if (("ForcePerMachine" == name)) |
| 4516 | { |
| 4517 | this.forcePerMachineField = Enums.ParseYesNoType(value); |
| 4518 | this.forcePerMachineFieldSet = true; |
| 4519 | } |
| 4520 | if (("SuppressLooseFilePayloadGeneration" == name)) |
| 4521 | { |
| 4522 | this.suppressLooseFilePayloadGenerationField = Enums.ParseYesNoType(value); |
| 4523 | this.suppressLooseFilePayloadGenerationFieldSet = true; |
| 4524 | } |
| 4525 | if (("Visible" == name)) |
| 4526 | { |
| 4527 | this.visibleField = Enums.ParseYesNoType(value); |
| 4528 | this.visibleFieldSet = true; |
| 4529 | } |
| 4530 | } |
| 4531 | } |
| 4532 | |
| 4533 | /// <summary> |
| 4534 | /// Describes a single msp package to install. |
| 4535 | /// </summary> |
| 4536 | [GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")] |
| 4537 | public class MspPackage : IParentElement, ICreateChildren, ISchemaElement, ISetAttributes |
| 4538 | { |
| 4539 | |
| 4540 | private ElementCollection children; |
| 4541 | |
| 4542 | private string sourceFileField; |
| 4543 | |
| 4544 | private bool sourceFileFieldSet; |
| 4545 | |
| 4546 | private string nameField; |
| 4547 | |
| 4548 | private bool nameFieldSet; |
| 4549 | |
| 4550 | private string downloadUrlField; |
| 4551 | |
| 4552 | private bool downloadUrlFieldSet; |
| 4553 | |
| 4554 | private string idField; |
| 4555 | |
| 4556 | private bool idFieldSet; |
| 4557 | |
| 4558 | private string afterField; |
| 4559 | |
| 4560 | private bool afterFieldSet; |
| 4561 | |
| 4562 | private string installSizeField; |
| 4563 | |
| 4564 | private bool installSizeFieldSet; |
| 4565 | |
| 4566 | private string installConditionField; |
| 4567 | |
| 4568 | private bool installConditionFieldSet; |
| 4569 | |
| 4570 | private BundleCacheType cacheField; |
| 4571 | |
| 4572 | private bool cacheFieldSet; |
| 4573 | |
| 4574 | private string cacheIdField; |
| 4575 | |
| 4576 | private bool cacheIdFieldSet; |
| 4577 | |
| 4578 | private string displayNameField; |
| 4579 | |
| 4580 | private bool displayNameFieldSet; |
| 4581 | |
| 4582 | private string descriptionField; |
| 4583 | |
| 4584 | private bool descriptionFieldSet; |
| 4585 | |
| 4586 | private string logPathVariableField; |
| 4587 | |
| 4588 | private bool logPathVariableFieldSet; |
| 4589 | |
| 4590 | private string rollbackLogPathVariableField; |
| 4591 | |
| 4592 | private bool rollbackLogPathVariableFieldSet; |
| 4593 | |
| 4594 | private YesNoType permanentField; |
| 4595 | |
| 4596 | private bool permanentFieldSet; |
| 4597 | |
| 4598 | private YesNoType vitalField; |
| 4599 | |
| 4600 | private bool vitalFieldSet; |
| 4601 | |
| 4602 | private YesNoDefaultType compressedField; |
| 4603 | |
| 4604 | private bool compressedFieldSet; |
| 4605 | |
| 4606 | private YesNoType enableSignatureVerificationField; |
| 4607 | |
| 4608 | private bool enableSignatureVerificationFieldSet; |
| 4609 | |
| 4610 | private YesNoDefaultType perMachineField; |
| 4611 | |
| 4612 | private bool perMachineFieldSet; |
| 4613 | |
| 4614 | private YesNoType slipstreamField; |
| 4615 | |
| 4616 | private bool slipstreamFieldSet; |
| 4617 | |
| 4618 | private ISchemaElement parentElement; |
| 4619 | |
| 4620 | public MspPackage() |
| 4621 | { |
| 4622 | ElementCollection childCollection0 = new ElementCollection(ElementCollection.CollectionType.Choice); |
| 4623 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(MsiProperty))); |
| 4624 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(Payload))); |
| 4625 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(PayloadGroupRef))); |
| 4626 | childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(ISchemaElement))); |
| 4627 | this.children = childCollection0; |
| 4628 | } |
| 4629 | |
| 4630 | public virtual IEnumerable Children |
| 4631 | { |
| 4632 | get |
| 4633 | { |
| 4634 | return this.children; |
| 4635 | } |
| 4636 | } |
| 4637 | |
| 4638 | [SuppressMessage("Microsoft.Design", "CA1043:UseIntegralOrStringArgumentForIndexers")] |
| 4639 | public virtual IEnumerable this[System.Type childType] |
| 4640 | { |
| 4641 | get |
| 4642 | { |
| 4643 | return this.children.Filter(childType); |
| 4644 | } |
| 4645 | } |
| 4646 | |
| 4647 | /// <summary> |
| 4648 | /// Location of the package to add to the bundle. The default value is the Name attribute, if provided. |
| 4649 | /// At a minimum, the SourceFile or Name attribute must be specified. |
| 4650 | /// </summary> |
| 4651 | public string SourceFile |
| 4652 | { |
| 4653 | get |
| 4654 | { |
| 4655 | return this.sourceFileField; |
| 4656 | } |
| 4657 | set |
| 4658 | { |
| 4659 | this.sourceFileFieldSet = true; |
| 4660 | this.sourceFileField = value; |
| 4661 | } |
| 4662 | } |
| 4663 | |
| 4664 | /// <summary> |
| 4665 | /// The destination path and file name for this chain payload. Use this attribute to rename the |
| 4666 | /// chain entry point or extract it into a subfolder. The default value is the file name from the |
| 4667 | /// SourceFile attribute, if provided. At a minimum, the Name or SourceFile attribute must be specified. |
| 4668 | /// The use of '..' directories is not allowed. |
| 4669 | /// </summary> |
| 4670 | public string Name |
| 4671 | { |
| 4672 | get |
| 4673 | { |
| 4674 | return this.nameField; |
| 4675 | } |
| 4676 | set |
| 4677 | { |
| 4678 | this.nameFieldSet = true; |
| 4679 | this.nameField = value; |
| 4680 | } |
| 4681 | } |
| 4682 | |
| 4683 | public string DownloadUrl |
| 4684 | { |
| 4685 | get |
| 4686 | { |
| 4687 | return this.downloadUrlField; |
| 4688 | } |
| 4689 | set |
| 4690 | { |
| 4691 | this.downloadUrlFieldSet = true; |
| 4692 | this.downloadUrlField = value; |
| 4693 | } |
| 4694 | } |
| 4695 | |
| 4696 | /// <summary> |
| 4697 | /// Identifier for this package, for ordering and cross-referencing. The default is the Name attribute |
| 4698 | /// modified to be suitable as an identifier (i.e. invalid characters are replaced with underscores). |
| 4699 | /// </summary> |
| 4700 | public string Id |
| 4701 | { |
| 4702 | get |
| 4703 | { |
| 4704 | return this.idField; |
| 4705 | } |
| 4706 | set |
| 4707 | { |
| 4708 | this.idFieldSet = true; |
| 4709 | this.idField = value; |
| 4710 | } |
| 4711 | } |
| 4712 | |
| 4713 | /// <summary> |
| 4714 | /// The identifier of another package that this one should be installed after. By default the After |
| 4715 | /// attribute is set to the previous sibling package in the Chain or PackageGroup element. If this |
| 4716 | /// attribute is specified ensure that a cycle is not created explicitly or implicitly. |
| 4717 | /// </summary> |
| 4718 | public string After |
| 4719 | { |
| 4720 | get |
| 4721 | { |
| 4722 | return this.afterField; |
| 4723 | } |
| 4724 | set |
| 4725 | { |
| 4726 | this.afterFieldSet = true; |
| 4727 | this.afterField = value; |
| 4728 | } |
| 4729 | } |
| 4730 | |
| 4731 | /// <summary> |
| 4732 | /// The size this package will take on disk in bytes after it is installed. By default, the binder will |
| 4733 | /// calculate the install size by scanning the package (File table for MSIs, Payloads for EXEs) |
| 4734 | /// and use the total for the install size of the package. |
| 4735 | /// </summary> |
| 4736 | public string InstallSize |
| 4737 | { |
| 4738 | get |
| 4739 | { |
| 4740 | return this.installSizeField; |
| 4741 | } |
| 4742 | set |
| 4743 | { |
| 4744 | this.installSizeFieldSet = true; |
| 4745 | this.installSizeField = value; |
| 4746 | } |
| 4747 | } |
| 4748 | |
| 4749 | /// <summary> |
| 4750 | /// A condition to evaluate before installing the package. The package will only be installed if the condition evaluates to true. If the condition evaluates to false and the bundle is being installed, repaired, or modified, the package will be uninstalled. |
| 4751 | /// </summary> |
| 4752 | public string InstallCondition |
| 4753 | { |
| 4754 | get |
| 4755 | { |
| 4756 | return this.installConditionField; |
| 4757 | } |
| 4758 | set |
| 4759 | { |
| 4760 | this.installConditionFieldSet = true; |
| 4761 | this.installConditionField = value; |
| 4762 | } |
| 4763 | } |
| 4764 | |
| 4765 | /// <summary> |
| 4766 | /// Whether to cache the package. The default is "keep". |
| 4767 | /// </summary> |
| 4768 | public BundleCacheType Cache |
| 4769 | { |
| 4770 | get |
| 4771 | { |
| 4772 | return this.cacheField; |
| 4773 | } |
| 4774 | set |
| 4775 | { |
| 4776 | this.cacheFieldSet = true; |
| 4777 | this.cacheField = value; |
| 4778 | } |
| 4779 | } |
| 4780 | |
| 4781 | /// <summary> |
| 4782 | /// The identifier to use when caching the package. |
| 4783 | /// </summary> |
| 4784 | public string CacheId |
| 4785 | { |
| 4786 | get |
| 4787 | { |
| 4788 | return this.cacheIdField; |
| 4789 | } |
| 4790 | set |
| 4791 | { |
| 4792 | this.cacheIdFieldSet = true; |
| 4793 | this.cacheIdField = value; |
| 4794 | } |
| 4795 | } |
| 4796 | |
| 4797 | /// <summary> |
| 4798 | /// Specifies the display name to place in the bootstrapper application data manifest for the package. By default, ExePackages |
| 4799 | /// use the ProductName field from the version information, MsiPackages use the ProductName property, and MspPackages use |
| 4800 | /// the DisplayName patch metadata property. Other package types must use this attribute to define a display name in the |
| 4801 | /// bootstrapper application data manifest. |
| 4802 | /// </summary> |
| 4803 | public string DisplayName |
| 4804 | { |
| 4805 | get |
| 4806 | { |
| 4807 | return this.displayNameField; |
| 4808 | } |
| 4809 | set |
| 4810 | { |
| 4811 | this.displayNameFieldSet = true; |
| 4812 | this.displayNameField = value; |
| 4813 | } |
| 4814 | } |
| 4815 | |
| 4816 | /// <summary> |
| 4817 | /// Specifies the description to place in the bootstrapper application data manifest for the package. By default, ExePackages |
| 4818 | /// use the FileName field from the version information, MsiPackages use the ARPCOMMENTS property, and MspPackages use |
| 4819 | /// the Description patch metadata property. Other package types must use this attribute to define a description in the |
| 4820 | /// bootstrapper application data manifest. |
| 4821 | /// </summary> |
| 4822 | public string Description |
| 4823 | { |
| 4824 | get |
| 4825 | { |
| 4826 | return this.descriptionField; |
| 4827 | } |
| 4828 | set |
| 4829 | { |
| 4830 | this.descriptionFieldSet = true; |
| 4831 | this.descriptionField = value; |
| 4832 | } |
| 4833 | } |
| 4834 | |
| 4835 | /// <summary> |
| 4836 | /// Name of a Variable that will hold the path to the log file. An empty value will cause the variable to not |
| 4837 | /// be set. The default is "WixBundleLog_[PackageId]" except for MSU packages which default to no logging. |
| 4838 | /// </summary> |
| 4839 | public string LogPathVariable |
| 4840 | { |
| 4841 | get |
| 4842 | { |
| 4843 | return this.logPathVariableField; |
| 4844 | } |
| 4845 | set |
| 4846 | { |
| 4847 | this.logPathVariableFieldSet = true; |
| 4848 | this.logPathVariableField = value; |
| 4849 | } |
| 4850 | } |
| 4851 | |
| 4852 | /// <summary> |
| 4853 | /// Name of a Variable that will hold the path to the log file used during rollback. An empty value will cause |
| 4854 | /// the variable to not be set. The default is "WixBundleRollbackLog_[PackageId]" except for MSU packages which |
| 4855 | /// default to no logging. |
| 4856 | /// </summary> |
| 4857 | public string RollbackLogPathVariable |
| 4858 | { |
| 4859 | get |
| 4860 | { |
| 4861 | return this.rollbackLogPathVariableField; |
| 4862 | } |
| 4863 | set |
| 4864 | { |
| 4865 | this.rollbackLogPathVariableFieldSet = true; |
| 4866 | this.rollbackLogPathVariableField = value; |
| 4867 | } |
| 4868 | } |
| 4869 | |
| 4870 | /// <summary> |
| 4871 | /// Specifies whether the package can be uninstalled. The default is "no". |
| 4872 | /// </summary> |
| 4873 | public YesNoType Permanent |
| 4874 | { |
| 4875 | get |
| 4876 | { |
| 4877 | return this.permanentField; |
| 4878 | } |
| 4879 | set |
| 4880 | { |
| 4881 | this.permanentFieldSet = true; |
| 4882 | this.permanentField = value; |
| 4883 | } |
| 4884 | } |
| 4885 | |
| 4886 | /// <summary> |
| 4887 | /// Specifies whether the package must succeed for the chain to continue. The default "yes" |
| 4888 | /// indicates that if the package fails then the chain will fail and rollback or stop. If |
| 4889 | /// "no" is specified then the chain will continue even if the package reports failure. |
| 4890 | /// </summary> |
| 4891 | public YesNoType Vital |
| 4892 | { |
| 4893 | get |
| 4894 | { |
| 4895 | return this.vitalField; |
| 4896 | } |
| 4897 | set |
| 4898 | { |
| 4899 | this.vitalFieldSet = true; |
| 4900 | this.vitalField = value; |
| 4901 | } |
| 4902 | } |
| 4903 | |
| 4904 | /// <summary> |
| 4905 | /// Whether the package payload should be embedded in a container or left as an external payload. |
| 4906 | /// </summary> |
| 4907 | public YesNoDefaultType Compressed |
| 4908 | { |
| 4909 | get |
| 4910 | { |
| 4911 | return this.compressedField; |
| 4912 | } |
| 4913 | set |
| 4914 | { |
| 4915 | this.compressedFieldSet = true; |
| 4916 | this.compressedField = value; |
| 4917 | } |
| 4918 | } |
| 4919 | |
| 4920 | /// <summary> |
| 4921 | /// By default, a Bundle will use the hash of a package to verify its contents. If this attribute is set to "yes" |
| 4922 | /// and the package is signed with an Authenticode signature the Bundle will verify the contents of the package using the |
| 4923 | /// signature instead. Beware that there are many real world issues with Windows verifying Authenticode signatures. |
| 4924 | /// Since the Authenticode signatures are no more secure than hashing the packages directly, the default is "no". |
| 4925 | /// </summary> |
| 4926 | public YesNoType EnableSignatureVerification |
| 4927 | { |
| 4928 | get |
| 4929 | { |
| 4930 | return this.enableSignatureVerificationField; |
| 4931 | } |
| 4932 | set |
| 4933 | { |
| 4934 | this.enableSignatureVerificationFieldSet = true; |
| 4935 | this.enableSignatureVerificationField = value; |
| 4936 | } |
| 4937 | } |
| 4938 | |
| 4939 | /// <summary> |
| 4940 | /// Indicates the package must be executed elevated. The default is "no". |
| 4941 | /// </summary> |
| 4942 | public YesNoDefaultType PerMachine |
| 4943 | { |
| 4944 | get |
| 4945 | { |
| 4946 | return this.perMachineField; |
| 4947 | } |
| 4948 | set |
| 4949 | { |
| 4950 | this.perMachineFieldSet = true; |
| 4951 | this.perMachineField = value; |
| 4952 | } |
| 4953 | } |
| 4954 | |
| 4955 | /// <summary> |
| 4956 | /// Specifies whether to automatically slipstream the patch for any target msi packages in the chain. The default is "no". |
| 4957 | /// Even when the value is "no", you can still author the SlipstreamMsp element under MsiPackage elements as desired. |
| 4958 | /// </summary> |
| 4959 | public YesNoType Slipstream |
| 4960 | { |
| 4961 | get |
| 4962 | { |
| 4963 | return this.slipstreamField; |
| 4964 | } |
| 4965 | set |
| 4966 | { |
| 4967 | this.slipstreamFieldSet = true; |
| 4968 | this.slipstreamField = value; |
| 4969 | } |
| 4970 | } |
| 4971 | |
| 4972 | public virtual ISchemaElement ParentElement |
| 4973 | { |
| 4974 | get |
| 4975 | { |
| 4976 | return this.parentElement; |
| 4977 | } |
| 4978 | set |
| 4979 | { |
| 4980 | this.parentElement = value; |
| 4981 | } |
| 4982 | } |
| 4983 | |
| 4984 | public virtual void AddChild(ISchemaElement child) |
| 4985 | { |
| 4986 | if ((null == child)) |
| 4987 | { |
| 4988 | throw new ArgumentNullException("child"); |
| 4989 | } |
| 4990 | this.children.AddElement(child); |
| 4991 | child.ParentElement = this; |
| 4992 | } |
| 4993 | |
| 4994 | public virtual void RemoveChild(ISchemaElement child) |
| 4995 | { |
| 4996 | if ((null == child)) |
| 4997 | { |
| 4998 | throw new ArgumentNullException("child"); |
| 4999 | } |
| 5000 | this.children.RemoveElement(child); |
Showing first 5,000 of 57,762 lines.
View raw