From 8896cd8c6850faa485df007af653cf98434c048f Mon Sep 17 00:00:00 2001 From: Vhati Date: Thu, 28 Nov 2013 23:25:44 -0500 Subject: [PATCH] Added Windows manifests and modman_admin.exe --- readme_developers.txt | 5 ++- skel_common/readme_changelog.txt | 2 + skel_exe/admin.manifest | 10 +++++ skel_exe/launch4j_admin.xml | 27 ++++++++++++ .../{launch4j.xml => launch4j_normal.xml} | 1 + skel_exe/normal.manifest | 10 +++++ skel_win/modman.exe | Bin 23552 -> 20992 bytes skel_win/modman_admin.exe | Bin 0 -> 20992 bytes skel_win/readme_for_windows.txt | 41 +++++++++++++++--- 9 files changed, 88 insertions(+), 8 deletions(-) create mode 100644 skel_exe/admin.manifest create mode 100644 skel_exe/launch4j_admin.xml rename skel_exe/{launch4j.xml => launch4j_normal.xml} (94%) create mode 100644 skel_exe/normal.manifest create mode 100644 skel_win/modman_admin.exe diff --git a/readme_developers.txt b/readme_developers.txt index b001613..60785e5 100644 --- a/readme_developers.txt +++ b/readme_developers.txt @@ -18,11 +18,14 @@ To build, run "mvn clean package" in this folder. "skel_exe/" Materials to create modman.exe (not part of Maven). - Get Launch4j: http://launch4j.sourceforge.net/index.html - - Drag "launch4j.xml" onto "launch4jc.exe". + - Drag "launch4j_*.xml" onto "launch4jc.exe". - "modman.exe" will appear alongside the xml. - Drag modman.exe into "skel_win/". - Run "mvn clean package". + - The manifest files will be embedded to prevent VirtualStore redirection. + http://www.codeproject.com/Articles/17968/Making-Your-Application-UAC-Aware + "auto_update.json" Info about the latest release, downloaded periodically by clients. diff --git a/skel_common/readme_changelog.txt b/skel_common/readme_changelog.txt index ab473d6..2167be1 100644 --- a/skel_common/readme_changelog.txt +++ b/skel_common/readme_changelog.txt @@ -5,6 +5,8 @@ Changelog - Fixed advanced find tags not honoring start= when greater than match count - Updated log4j2 to 2.0-beta9, fixing a hang when run with Java 1.7.0_25 - Changed FTLDat to allow opening dats in read-only mode +- Changed modman.exe to fail rather than use VirtualStore +- Added modman_admin.exe, which always runs as administrator 1.4: - Cleaned up some dodgy code when initially prompting for FTL's location diff --git a/skel_exe/admin.manifest b/skel_exe/admin.manifest new file mode 100644 index 0000000..075e263 --- /dev/null +++ b/skel_exe/admin.manifest @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/skel_exe/launch4j_admin.xml b/skel_exe/launch4j_admin.xml new file mode 100644 index 0000000..d588cdc --- /dev/null +++ b/skel_exe/launch4j_admin.xml @@ -0,0 +1,27 @@ + + + true + console + ./modman.jar + .\modman_admin.exe + + + . + normal + http://java.com/download + + false + false + admin.manifest + + + net.vhati.modmanager.FTLModManager + modman.jar + + + + 1.6.0 + + preferJre + + \ No newline at end of file diff --git a/skel_exe/launch4j.xml b/skel_exe/launch4j_normal.xml similarity index 94% rename from skel_exe/launch4j.xml rename to skel_exe/launch4j_normal.xml index 9a2340f..4d2ae5b 100644 --- a/skel_exe/launch4j.xml +++ b/skel_exe/launch4j_normal.xml @@ -12,6 +12,7 @@ false false + normal.manifest net.vhati.modmanager.FTLModManager diff --git a/skel_exe/normal.manifest b/skel_exe/normal.manifest new file mode 100644 index 0000000..5e9341e --- /dev/null +++ b/skel_exe/normal.manifest @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/skel_win/modman.exe b/skel_win/modman.exe index 14ea06138f7e5c09ac70c31c6ff52ab7e197267e..191115e4070d1fd2a4bb42e1e971613cdc8a9ac8 100644 GIT binary patch delta 11053 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 diff --git a/skel_win/modman_admin.exe b/skel_win/modman_admin.exe new file mode 100644 index 0000000000000000000000000000000000000000..be19906b68df014c5cb834f739fc23ab4381a601 GIT binary patch literal 20992 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 Programs -> Accessories. Right-click "Command Prompt" to run as an admin. Type this, then hit enter: cd "c:\location\of\Slipstream" Type this, then hit enter: java -jar modman.jar - Option 3: + Option 2: Make sure resource.dat and data.dat aren't read-only. +* If patching apparently succeeds, but no mods appear in-game... + Option 1: + Confirm you're modding the resources from the right FTL installation. + In the console, look for "Using FTL dats path from config: ...". + Or open modman-log.txt. + + Or in SMM, under File-Preferences, check "ftl_dats_path". + Or open modman.cfg with a text editor. + + Option 2 (Windoes 7 or Vista): + Look for a resources directory like this and delete it. + "C:\Users\[Username]\AppData\Local\VirtualStore\Program Files\FTL\resources" + + This may be created when a non-admin app tries to write to a + protected location, like Program Files. The OS writes in VirtualStore + instead and lies to the app. + + Weirdness happens when an admin-app modifies the real protected file. + A user-run app then continues to see the VirtualStore copy instead. + + By deleting the copy and exclusively running SMM as admin, this can be + avoided. + * If the game shows exclamation marks for everything... See the suggestion below for replacing corrupt resources.