aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Duncan <pabs@pablotron.org>2019-01-15 17:09:38 -0500
committerPaul Duncan <pabs@pablotron.org>2019-01-15 17:09:38 -0500
commitf09a4ae224fab7ee4d412fe6c81d14e3b753b2c5 (patch)
treea68a870124b5bf62c983e5c14342c7bb87874a02
parent49ba8b03c4ebab4a28fa75cfb64694f84816b8ed (diff)
downloadsok-f09a4ae224fab7ee4d412fe6c81d14e3b753b2c5.tar.bz2
sok-f09a4ae224fab7ee4d412fe6c81d14e3b753b2c5.zip
msi: add program files shortcut, desktop shortcut, and icon
-rwxr-xr-xassets/gen.sh5
-rw-r--r--assets/sok.icobin0 -> 22382 bytes
-rw-r--r--meson.build1
-rw-r--r--src/msi/sok.wxs67
4 files changed, 68 insertions, 5 deletions
diff --git a/assets/gen.sh b/assets/gen.sh
index fa966f4..76ab27f 100755
--- a/assets/gen.sh
+++ b/assets/gen.sh
@@ -1,3 +1,8 @@
#!/bin/bash
../build/sprite-packer ./sprites.bmp src/*png
convert ./sprites.{bmp,png}
+# convert -antialias -scale 32x32 src/03-barbarian.png sok.ico
+# convert src/03-barbarian.png -background white -alpha off \
+# -define icon:auto-resize="32,16" \
+# sok.ico
+convert src/00-none.png src/03-barbarian.png -flatten -antialias -depth 8 -define icon:auto-resize=64,32,16 sok.ico
diff --git a/assets/sok.ico b/assets/sok.ico
new file mode 100644
index 0000000..af03d1e
--- /dev/null
+++ b/assets/sok.ico
Binary files differ
diff --git a/meson.build b/meson.build
index 0f515f2..f3f4600 100644
--- a/meson.build
+++ b/meson.build
@@ -54,6 +54,7 @@ custom_target('msi',
wixl,
'-o', '@OUTPUT@',
'-D', 'BUILD_DIR=.',
+ '-D', 'ASSETS_DIR=../assets',
'-D', 'SDL_LIB_DIR=' + MSI_SDL_LIB_DIR,
'@INPUT@',
]
diff --git a/src/msi/sok.wxs b/src/msi/sok.wxs
index 2a15cfa..be830d0 100644
--- a/src/msi/sok.wxs
+++ b/src/msi/sok.wxs
@@ -1,5 +1,5 @@
<?xml version='1.0' encoding='utf-8'?>
-<!--
+<!--
To build:
wixl -o sok.msi \
-D BUILD_DIR=../../build-w64 \
@@ -17,6 +17,16 @@ GUIDs (wget -qO- https://www.uuidgenerator.net/api/guid/10):
# 67058335-6a4e-4cf0-bc34-c8cc2e2e2578
# e9383c16-e1cb-432a-b8db-d799c8225c85
# 58de5bfd-4962-4fbc-a2e7-01da77bd050b
+# 364e3bc9-53c8-465b-ae02-edf3e53b327c
+0aca3163-98b4-4302-9dad-9dfaac254620
+3a68235a-03d2-4751-ab4a-1914a97792fc
+10951342-4abb-4c51-b91c-94c8643f9c91
+57dc91da-cde4-4299-b5dc-b93bd563e9b1
+29055d07-9129-4b70-a9e8-b000e8d7c872
+adc88948-391e-48cf-8067-b002dcba4411
+912b4ea2-aefd-46d3-b494-d7527be0938a
+0394899f-a5bb-458e-9b29-3d80f6083b5e
+5ce91cfa-9397-4ecb-a719-e189c92d4dad
-->
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
@@ -33,7 +43,7 @@ GUIDs (wget -qO- https://www.uuidgenerator.net/api/guid/10):
Id='*'
Keywords='Installer'
Description="Pablotron Sokoban installer."
- Comments='Pablotron sokoban.'
+ Comments='Pablotron sokoban installer.'
Manufacturer='Pablotron'
InstallerVersion='100'
Languages='1033'
@@ -48,16 +58,42 @@ GUIDs (wget -qO- https://www.uuidgenerator.net/api/guid/10):
DiskPrompt="CD-ROM #1"
/>
+ <Icon
+ Id='sok.ico'
+ SourceFile='$(var.ASSETS_DIR)/sok.ico'
+ />
+
<Property
Id='DiskPrompt'
Value="Pablotron Sokoban 1.0 Installation [1]"
/>
+ <Property Id='ARPPRODUCTICON' Value='sok.ico' />
+
<Directory Id='TARGETDIR' Name='SourceDir'>
+ <Directory Id='ProgramMenuFolder' Name='Programs'>
+ <Directory Id='ProgramMenuDir' Name='Pablotron Sokoban'>
+ <Component
+ Id='ProgramMenuDir'
+ Guid='364e3bc9-53c8-465b-ae02-edf3e53b327c'
+ >
+ <RemoveFolder Id='ProgramMenuDir' On='uninstall' />
+ <RegistryValue
+ Root='HKCU'
+ Key='Software\[Manufacturer]\[ProductName]'
+ Type='string'
+ Value=''
+ KeyPath='yes'
+ />
+ </Component>
+ </Directory>
+ </Directory>
+
+ <Directory Id='DesktopFolder' Name='Desktop' />
+
<Directory Id='ProgramFilesFolder' Name='PFiles'>
<Directory Id='Pablotron' Name='Pablotron'>
- <Directory Id='INSTALLDIR' Name='Sokoban 1.0'>
-
+ <Directory Id='INSTALLDIR' Name='Sokoban'>
<Component
Id='cmp-sok-exe'
Guid='ca5c1c3c-4bb5-4123-b8ff-e1228e3457eb'
@@ -68,7 +104,28 @@ GUIDs (wget -qO- https://www.uuidgenerator.net/api/guid/10):
DiskId='1'
Source='$(var.BUILD_DIR)/sok.exe'
KeyPath='yes'
- />
+ >
+ <Shortcut
+ Id='shortcut-menu-sok-exe'
+ Directory='ProgramMenuDir'
+ Name='Sokoban'
+ WorkingDirectory='INSTALLDIR'
+ Icon='sok.ico'
+ IconIndex='0'
+ Advertise='yes'
+ />
+
+ <!-- really?? -->
+ <Shortcut
+ Id='shortcut-desktop-sok-exe'
+ Directory='DesktopFolder'
+ Name='Pablotron Sokoban'
+ WorkingDirectory='INSTALLDIR'
+ Icon='sok.ico'
+ IconIndex='0'
+ Advertise='yes'
+ />
+ </File>
</Component>
<Component