Change: Wrap ProgramFilesFolder component with a StandardDirectory component

This commit is contained in:
JKarasti 2024-09-23 21:17:43 +03:00 committed by jkarasti
parent f7f81c5960
commit 965210dee5

View file

@ -67,20 +67,19 @@ def build_components_xml(root, data):
if "component_id" in data: if "component_id" in data:
component_ids.append(data["component_id"]) component_ids.append(data["component_id"])
for subdata in data["dirs"]: if "component_guid" in data:
if "component_guid" in subdata: dir_ref_el = ET.SubElement(root, "DirectoryRef", Id=data["id"])
dir_ref_el = ET.SubElement(root, "DirectoryRef", Id=subdata["id"])
component_el = ET.SubElement( component_el = ET.SubElement(
dir_ref_el, dir_ref_el,
"Component", "Component",
Id=subdata["component_id"], Id=data["component_id"],
Guid=subdata["component_guid"], Guid=data["component_guid"],
) )
for filename in subdata["files"]: for filename in data["files"]:
file_el = ET.SubElement( file_el = ET.SubElement(
component_el, "File", Source=filename, Id="file_" + uuid.uuid4().hex component_el, "File", Source=filename, Id="file_" + uuid.uuid4().hex
) )
for subdata in data["dirs"]:
component_ids += build_components_xml(root, subdata) component_ids += build_components_xml(root, subdata)
return component_ids return component_ids
@ -106,24 +105,12 @@ def main():
print("You must build the dangerzone binary before running this") print("You must build the dangerzone binary before running this")
return return
data = { # Prepare data for WiX file harvesting from the output of cx_Freeze
"id": "TARGETDIR", data = build_data(
"name": "SourceDir", dist_dir,
"dirs": [ "exe.win-amd64-3.12",
{ "INSTALLFOLDER",
"id": "ProgramFilesFolder", "Dangerzone",
"dirs": [],
},
],
}
data["dirs"][0]["dirs"].append(
build_data(
dist_dir,
"exe.win-amd64-3.12",
"INSTALLFOLDER",
"Dangerzone",
)
) )
# Add the Wix root element # Add the Wix root element