summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2007-09-21 06:24:17 +0000
committerJens Arnold <amiconn@rockbox.org>2007-09-21 06:24:17 +0000
commit4ce936805813eb6570a4dffbcc71b39225ea03bc (patch)
treeff7690f33b0637c83eb732cfec01927bad4671be
parentc5d22bce6e69c047157e7106404269c0c2be236b (diff)
downloadrockbox-4ce936805813eb6570a4dffbcc71b39225ea03bc.tar.gz
rockbox-4ce936805813eb6570a4dffbcc71b39225ea03bc.zip
Add a manifest to ipodpatcher.exe in order to make it request administrative rights on windows vista. This will cause a separate cmd window to pop up. The proper solution will be to implement a check for administrative rights in the executable, and tell the user to start from an elevated command prompt if not. This solution will still need a (changed) manifest.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14796 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--rbutil/ipodpatcher/Makefile8
-rw-r--r--rbutil/ipodpatcher/ipodpatcher.manifest13
-rw-r--r--rbutil/ipodpatcher/ipodpatcher.rc1
3 files changed, 20 insertions, 2 deletions
diff --git a/rbutil/ipodpatcher/Makefile b/rbutil/ipodpatcher/Makefile
index f76715b9f6..267096f924 100644
--- a/rbutil/ipodpatcher/Makefile
+++ b/rbutil/ipodpatcher/Makefile
@@ -21,6 +21,7 @@ endif
NATIVECC = gcc
CC = $(CROSS)gcc
+WINDRES = $(CROSS)windres
SRC = main.c ipodpatcher.c fat32format.c parttypes.h arc4.c
@@ -30,10 +31,13 @@ ipodpatcher: $(SRC) ipodio-posix.c $(BOOTSRC)
gcc $(CFLAGS) -o ipodpatcher $(SRC) ipodio-posix.c $(BOOTSRC)
strip ipodpatcher
-ipodpatcher.exe: $(SRC) ipodio-win32.c $(BOOTSRC)
- $(CC) $(CFLAGS) -o ipodpatcher.exe $(SRC) ipodio-win32.c $(BOOTSRC)
+ipodpatcher.exe: $(SRC) ipodio-win32.c ipodpatcher-rc.o $(BOOTSRC)
+ $(CC) $(CFLAGS) -o ipodpatcher.exe $(SRC) ipodio-win32.c ipodpatcher-rc.o $(BOOTSRC)
$(CROSS)strip ipodpatcher.exe
+ipodpatcher-rc.o: ipodpatcher.rc ipodpatcher.manifest
+ $(WINDRES) -i ipodpatcher.rc -o ipodpatcher-rc.o
+
ipodpatcher-mac: ipodpatcher-i386 ipodpatcher-ppc
lipo -create ipodpatcher-ppc ipodpatcher-i386 -output ipodpatcher-mac
diff --git a/rbutil/ipodpatcher/ipodpatcher.manifest b/rbutil/ipodpatcher/ipodpatcher.manifest
new file mode 100644
index 0000000000..695ecb26ea
--- /dev/null
+++ b/rbutil/ipodpatcher/ipodpatcher.manifest
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
+ <assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="ipodpatcher.exe" type="win32"/>
+
+ <!-- Identify the application security requirements. -->
+ <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
+ <security>
+ <requestedPrivileges>
+ <requestedExecutionLevel level="requireAdministrator"/>
+ </requestedPrivileges>
+ </security>
+ </trustInfo>
+</assembly>
diff --git a/rbutil/ipodpatcher/ipodpatcher.rc b/rbutil/ipodpatcher/ipodpatcher.rc
new file mode 100644
index 0000000000..368826e263
--- /dev/null
+++ b/rbutil/ipodpatcher/ipodpatcher.rc
@@ -0,0 +1 @@
+1 24 MOVEABLE PURE "ipodpatcher.manifest"