Files in an embedded, uncompressed cabinet #3
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Blocks
Depends on
#4 MSZIP compression
jeff/zixl
#5 External cabinets and several Media
jeff/zixl
#10 x86 and arm64 installer packages
jeff/zixl
#11 Registry and environment
jeff/zixl
#12 Shortcuts, icons and folders
jeff/zixl
#13 Major upgrades and launch conditions
jeff/zixl
Reference
jeff/zixl#3
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parent
Part of #1
What to build
An installer package that installs files.
Directory(with the standard folders such asProgramFiles64Folder),Component,FileandMediawithEmbedCab="yes"andCompressionLevel="none"put a program's files into a cabinet per [MS-CAB] embedded in the installer package, and Windows Installer puts them where the WiX source says.Source paths follow the spec:
\and/both separate, they are relative to the WiX source's directory, case is never folded, and one that does not exist is an error naming it and the element that asked. Long file names get deterministic 8.3 short names.Acceptance criteria
Directory,Component,File,MediaandFeatureComponentsrows for a fixture with nested directories and several files.\resolves on Linux; one differing only in case does not; a missing one is a diagnostic naming the path and the element.Done in
f235aad; CI run 3 passedtestande2e(itsdocsjob was cancelled when the push for #4 superseded it).tests/database.zigchecks the Directory, Component, File, Media, FeatureComponents and MsiFileHash rows. It also covers:\source path resolving;LONGFI~1.TXT,LONGFI~2.TXT);filesfixture's tables match wixl's once theSHORT|prefix wixl never writes is stripped.cabextractverifies the cabinet, and under Wine every file listed infiles.installedlands with its contents and is gone after uninstall.What I found about the reference implementation:
\in source paths on Linux.CompressionLevelandComponent/@KeyPath.