Added Windows manifests and modman_admin.exe

This commit is contained in:
Vhati 2013-11-28 23:25:44 -05:00
parent 6259d32ac7
commit 8896cd8c68
9 changed files with 88 additions and 8 deletions

View file

@ -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.

View file

@ -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

10
skel_exe/admin.manifest Normal file
View file

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>

View file

@ -0,0 +1,27 @@
<!-- Paths are relative to this xml file -->
<launch4jConfig>
<dontWrapJar>true</dontWrapJar>
<headerType>console</headerType>
<jar>./modman.jar</jar>
<outfile>.\modman_admin.exe</outfile>
<errTitle></errTitle>
<cmdLine></cmdLine>
<chdir>.</chdir>
<priority>normal</priority>
<downloadUrl>http://java.com/download</downloadUrl>
<supportUrl></supportUrl>
<customProcName>false</customProcName>
<stayAlive>false</stayAlive>
<manifest>admin.manifest</manifest>
<icon></icon>
<classPath>
<mainClass>net.vhati.modmanager.FTLModManager</mainClass>
<cp>modman.jar</cp>
</classPath>
<jre>
<path></path>
<minVersion>1.6.0</minVersion>
<maxVersion></maxVersion>
<jdkPreference>preferJre</jdkPreference>
</jre>
</launch4jConfig>

View file

@ -12,6 +12,7 @@
<supportUrl></supportUrl>
<customProcName>false</customProcName>
<stayAlive>false</stayAlive>
<manifest>normal.manifest</manifest>
<icon></icon>
<classPath>
<mainClass>net.vhati.modmanager.FTLModManager</mainClass>

10
skel_exe/normal.manifest Normal file
View file

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>

Binary file not shown.

BIN
skel_win/modman_admin.exe Normal file

Binary file not shown.

View file

@ -41,7 +41,11 @@ Usage
Put it in the Slipstream\mods\ folder.
To start the mod manager:
Double-click modman.exe or modman.jar.
On XP, double-click modman.exe.
On Windows 7 or Vista, Slipstream usually needs to be run as an administrator.
Right-click modman.exe and "Run as Administrator".
Or double-click modman_admin.exe.
To install mods:
Tick checkboxes to select the mods you want to install.
@ -62,6 +66,9 @@ Usage
Commandline:
Run "modman.exe -h" for commandline usage.
On Windows 7 or Vista, the Command Prompt itself must be started as an
administrator (right-click it in the start menu).
Troubleshooting
@ -69,22 +76,42 @@ Troubleshooting
You need a newer version of Java.
* If some other program starts when you double-click modman.jar...
Try JarFix.
Running an exe is recommended, but if you insist, try JarFix.
http://johann.loefflmann.net/en/software/jarfix/index.html
* If you get permission errors...
Option 1:
Right-click modman.exe to run as an admin.
Option 2:
Option 1 (Windoes 7 or Vista):
Start Menu -> 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.