WiX v5 and later defaults: feature, install folder and naked files #26

Closed
opened 2026-10-14 11:54:04 -05:00 by jeff · 1 comment
Owner

Part of #23

What to build

What current WiX supplies when a source leaves it out: a default feature holding every component when no feature is written; a default INSTALLFOLDER, [ProgramFiles6432Folder]Manufacturer Name, when one is referred to but not defined; and a component for each File written outside one. !(bind.Property.NAME) works in values, and other binder variables are refused by name.

Acceptance criteria

  • A package with no Feature gets DefaultFeature, with every component in it; one with any feature gets none.
  • INSTALLFOLDER is supplied only when referred to and not defined.
  • A naked File takes Directory (default INSTALLFOLDER), Subdirectory, Bitness and Condition, and its component is the file's own.
  • A fixture as small as WiX's own template (a Package, a File, nothing else) builds and installs under Wine, against its twin.

Blocked by

Part of #23 ## What to build What current WiX supplies when a source leaves it out: a default feature holding every component when no feature is written; a default `INSTALLFOLDER`, `[ProgramFiles6432Folder]Manufacturer Name`, when one is referred to but not defined; and a component for each `File` written outside one. `!(bind.Property.NAME)` works in values, and other binder variables are refused by name. ## Acceptance criteria - [ ] A package with no `Feature` gets `DefaultFeature`, with every component in it; one with any feature gets none. - [ ] `INSTALLFOLDER` is supplied only when referred to and not defined. - [ ] A naked `File` takes `Directory` (default `INSTALLFOLDER`), `Subdirectory`, `Bitness` and `Condition`, and its component is the file's own. - [ ] A fixture as small as WiX's own template (a `Package`, a `File`, nothing else) builds and installs under Wine, against its twin. ## Blocked by - #25
Author
Owner

Done in 5479149, green in CI run 22.

  • A package with no feature gets DefaultFeature.
  • An INSTALLFOLDER that is used but not defined becomes [ProgramFiles6432Folder]Manufacturer Name.
  • A naked File gets its own component, taking the file's Directory, Subdirectory, Bitness and Condition.
  • !(bind.Property.NAME) works in stored text. Other binder variables and !(loc.*) are refused by name.
  • template4, as small as WiX's own template, passes against its twin and installs under Wine on every architecture.
Done in 5479149, green in CI run 22. - A package with no feature gets DefaultFeature. - An INSTALLFOLDER that is used but not defined becomes [ProgramFiles6432Folder]Manufacturer Name. - A naked File gets its own component, taking the file's Directory, Subdirectory, Bitness and Condition. - `!(bind.Property.NAME)` works in stored text. Other binder variables and `!(loc.*)` are refused by name. - template4, as small as WiX's own template, passes against its twin and installs under Wine on every architecture.
jeff closed this issue 2026-10-14 13:12:00 -05:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
jeff/zixl#26
No description provided.