Add support for 64-bit components and create desktop shortcut in WiX installer
- Mark components as 64-bit by adding Win64="yes" attribute in harvested files. - Update WiX configuration to use ProgramFiles64Folder for installation. - Add a new component for creating a desktop shortcut for the WebDrop Bridge application.
This commit is contained in:
parent
37b772166c
commit
f9cfb9f558
5 changed files with 2920 additions and 2873 deletions
File diff suppressed because one or more lines are too long
|
|
@ -11,15 +11,17 @@
|
||||||
<Feature Id="ProductFeature" Title="WebDrop Bridge" Level="1">
|
<Feature Id="ProductFeature" Title="WebDrop Bridge" Level="1">
|
||||||
<ComponentGroupRef Id="AppFiles" />
|
<ComponentGroupRef Id="AppFiles" />
|
||||||
<ComponentRef Id="ProgramMenuShortcut" />
|
<ComponentRef Id="ProgramMenuShortcut" />
|
||||||
|
<ComponentRef Id="DesktopShortcut" />
|
||||||
</Feature>
|
</Feature>
|
||||||
|
|
||||||
<Directory Id="TARGETDIR" Name="SourceDir">
|
<Directory Id="TARGETDIR" Name="SourceDir">
|
||||||
<Directory Id="ProgramFilesFolder">
|
<Directory Id="ProgramFiles64Folder">
|
||||||
<Directory Id="INSTALLFOLDER" Name="WebDrop Bridge" />
|
<Directory Id="INSTALLFOLDER" Name="WebDrop Bridge" />
|
||||||
</Directory>
|
</Directory>
|
||||||
<Directory Id="ProgramMenuFolder">
|
<Directory Id="ProgramMenuFolder">
|
||||||
<Directory Id="ApplicationProgramsFolder" Name="WebDrop Bridge"/>
|
<Directory Id="ApplicationProgramsFolder" Name="WebDrop Bridge"/>
|
||||||
</Directory>
|
</Directory>
|
||||||
|
<Directory Id="DesktopFolder" />
|
||||||
</Directory>
|
</Directory>
|
||||||
|
|
||||||
<DirectoryRef Id="ApplicationProgramsFolder">
|
<DirectoryRef Id="ApplicationProgramsFolder">
|
||||||
|
|
@ -39,5 +41,21 @@
|
||||||
KeyPath="yes" />
|
KeyPath="yes" />
|
||||||
</Component>
|
</Component>
|
||||||
</DirectoryRef>
|
</DirectoryRef>
|
||||||
|
|
||||||
|
<DirectoryRef Id="DesktopFolder">
|
||||||
|
<Component Id="DesktopShortcut" Guid="*">
|
||||||
|
<Shortcut Id="DesktopApplicationShortcut"
|
||||||
|
Name="WebDrop Bridge"
|
||||||
|
Description="Web Drag-and-Drop Bridge"
|
||||||
|
Target="[INSTALLFOLDER]WebDropBridge.exe"
|
||||||
|
WorkingDirectory="INSTALLFOLDER" />
|
||||||
|
<RegistryValue Root="HKCU"
|
||||||
|
Key="Software\WebDropBridge"
|
||||||
|
Name="DesktopShortcut"
|
||||||
|
Type="integer"
|
||||||
|
Value="1"
|
||||||
|
KeyPath="yes" />
|
||||||
|
</Component>
|
||||||
|
</DirectoryRef>
|
||||||
</Product>
|
</Product>
|
||||||
</Wix>
|
</Wix>
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load diff
|
|
@ -228,6 +228,17 @@ class WindowsBuilder:
|
||||||
print(result.stderr[:200]) # Show first 200 chars of errors
|
print(result.stderr[:200]) # Show first 200 chars of errors
|
||||||
else:
|
else:
|
||||||
print(f" ✓ Harvested files")
|
print(f" ✓ Harvested files")
|
||||||
|
|
||||||
|
# Post-process harvested file to mark components as 64-bit
|
||||||
|
if harvest_file.exists():
|
||||||
|
content = harvest_file.read_text()
|
||||||
|
# Add Win64="yes" to all Component tags
|
||||||
|
content = content.replace(
|
||||||
|
'<Component ',
|
||||||
|
'<Component Win64="yes" '
|
||||||
|
)
|
||||||
|
harvest_file.write_text(content)
|
||||||
|
print(f" ✓ Marked components as 64-bit")
|
||||||
|
|
||||||
# Compile both WiX files
|
# Compile both WiX files
|
||||||
wix_obj = self.build_dir / "WebDropBridge.wixobj"
|
wix_obj = self.build_dir / "WebDropBridge.wixobj"
|
||||||
|
|
@ -298,15 +309,17 @@ class WindowsBuilder:
|
||||||
<Feature Id="ProductFeature" Title="WebDrop Bridge" Level="1">
|
<Feature Id="ProductFeature" Title="WebDrop Bridge" Level="1">
|
||||||
<ComponentGroupRef Id="AppFiles" />
|
<ComponentGroupRef Id="AppFiles" />
|
||||||
<ComponentRef Id="ProgramMenuShortcut" />
|
<ComponentRef Id="ProgramMenuShortcut" />
|
||||||
|
<ComponentRef Id="DesktopShortcut" />
|
||||||
</Feature>
|
</Feature>
|
||||||
|
|
||||||
<Directory Id="TARGETDIR" Name="SourceDir">
|
<Directory Id="TARGETDIR" Name="SourceDir">
|
||||||
<Directory Id="ProgramFilesFolder">
|
<Directory Id="ProgramFiles64Folder">
|
||||||
<Directory Id="INSTALLFOLDER" Name="WebDrop Bridge" />
|
<Directory Id="INSTALLFOLDER" Name="WebDrop Bridge" />
|
||||||
</Directory>
|
</Directory>
|
||||||
<Directory Id="ProgramMenuFolder">
|
<Directory Id="ProgramMenuFolder">
|
||||||
<Directory Id="ApplicationProgramsFolder" Name="WebDrop Bridge"/>
|
<Directory Id="ApplicationProgramsFolder" Name="WebDrop Bridge"/>
|
||||||
</Directory>
|
</Directory>
|
||||||
|
<Directory Id="DesktopFolder" />
|
||||||
</Directory>
|
</Directory>
|
||||||
|
|
||||||
<DirectoryRef Id="ApplicationProgramsFolder">
|
<DirectoryRef Id="ApplicationProgramsFolder">
|
||||||
|
|
@ -326,6 +339,22 @@ class WindowsBuilder:
|
||||||
KeyPath="yes" />
|
KeyPath="yes" />
|
||||||
</Component>
|
</Component>
|
||||||
</DirectoryRef>
|
</DirectoryRef>
|
||||||
|
|
||||||
|
<DirectoryRef Id="DesktopFolder">
|
||||||
|
<Component Id="DesktopShortcut" Guid="*">
|
||||||
|
<Shortcut Id="DesktopApplicationShortcut"
|
||||||
|
Name="WebDrop Bridge"
|
||||||
|
Description="Web Drag-and-Drop Bridge"
|
||||||
|
Target="[INSTALLFOLDER]WebDropBridge.exe"
|
||||||
|
WorkingDirectory="INSTALLFOLDER" />
|
||||||
|
<RegistryValue Root="HKCU"
|
||||||
|
Key="Software\\WebDropBridge"
|
||||||
|
Name="DesktopShortcut"
|
||||||
|
Type="integer"
|
||||||
|
Value="1"
|
||||||
|
KeyPath="yes" />
|
||||||
|
</Component>
|
||||||
|
</DirectoryRef>
|
||||||
</Product>
|
</Product>
|
||||||
</Wix>
|
</Wix>
|
||||||
'''
|
'''
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue