Jump to content

[AnyOS] KSP Mod Admin v2 - Mod install with a few clicks


MacTee

Recommended Posts

Whenever I try to download something through the browser I get errors.

Here is the log:


See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ArgumentException: Illegal characters in path.
at System.IO.Path.CheckInvalidPathChars(String path, Boolean checkAdditional)
at System.Security.Permissions.FileIOPermission.CheckIllegalCharacters(String[] str)
at System.Security.Permissions.FileIOPermission.AddPathList(FileIOPermissionAccess access, AccessControlActions control, String[] pathListOrig, Boolean checkForDuplicates, Boolean needFullPath, Boolean copyPathList)
at System.Security.Permissions.FileIOPermission..ctor(FileIOPermissionAccess access, String[] pathList, Boolean checkForDuplicates, Boolean needFullPath)
at System.IO.File.InternalMove(String sourceFileName, String destFileName, Boolean checkHost)
at KSPMODAdmin.Views.ucModBrowser.<>c__DisplayClass6.<DownloadFile>b__4(Boolean result, Exception ex)
at AsyncTask`1.DownloadFinished(Object sender, AsyncCompletedEventArgs e)
at System.Net.WebClient.OnDownloadFileCompleted(AsyncCompletedEventArgs e)
at System.Net.WebClient.DownloadFileOperationCompleted(Object arg)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34014 built by: FX45W81RTMGDR
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
KSPMODAdmin
Assembly Version: 1.3.11.0
Win32 Version: 1.3.11.0
CodeBase: file:///C:/Program%20Files%20(x86)/Steam/steamapps/common/Kerbal%20Space%20Program/KSPModAdmin-v1.3.11/1.3.11/KSPModAdmin/KSPMODAdmin.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34003 built by: FX45W81RTMGDR
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Deployment
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Deployment/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Deployment.dll
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
Microsoft.mshtml
Assembly Version: 7.0.3300.0
Win32 Version: 7.0.3300.0
CodeBase: file:///C:/WINDOWS/assembly/GAC/Microsoft.mshtml/7.0.3300.0__b03f5f7f11d50a3a/Microsoft.mshtml.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

Link to comment
Share on other sites

G'Day MacTee,

I have just downloaded version 1.3.11, unzipped the application, and ran it. It successfully detected both of my 0.23.5 versions of KSP, yet didn't find the 0.24(x64) version that was in the same folder as the other two that were detected. When manually attempting to add the latest version, I got the following message from the mod manager -

"This is not the KSP install path."

The 0.24 version of KSP is working, as I have run it.

Is there any reason the Mod Manager is failing to recognize the new version?

Thanking you in advance for your time and assistance,

marauder13

Link to comment
Share on other sites

Thanks for the bug report!

The Download link detection in the ModBrowser is quiet tricky. Besides the overall redo of KSP MA im on right now, i redo the link detection too.

Till the new KSP MA Version 2.0 (Any OS) there will be trouble with some (not all) downloads via KSP Forum.

The workaround is:

  • Download the Mod manually
  • Add the mod manually
  • Set the ModInfos manually (to support mod update check)
    • Right click the mod
    • Select "Edit ModInfos"
    • Enter the URL to the mod to the appropriated field and click on the radiobutton next to it (to adjust VersionControl).
    • Press the Button next to the URL TextBoxes (with the globe) -> KSPMA will then get the rest of the Modinfos for you.

Link to comment
Share on other sites

...

I have just downloaded version 1.3.11, unzipped the application, and ran it. It successfully detected both of my 0.23.5 versions of KSP, yet didn't find the 0.24(x64) version ....

Have to confirm (with KSP MA 1.4PR11), it recognizes all 32bit windows versions, but no way to have it handle the 0.24 64bit one. Hope the "Any OS" version will.

Link to comment
Share on other sites

Sry marauder13 i didn't saw your post!

The name of the KSP.exe (64bit) is not the same like the one of the 32bit version (i use it to validate a KSP install path).

As a workaround you can rename the "KSP_x64.exe" to "KSP.exe" KSP MA will then accept the new path.

EDIT:

Problem with this workaround is that the launcher won't work propperly after the rename!

EDIT2:

Hmm even the renamed KSP.exe won't work! Forget the Workaround!

I'll release a quick fix update soon!

Edited by MacTee
Link to comment
Share on other sites

New KSP MA v1.4.0.12 PR with quickfix of the 64bit bug.

MacTee, I just downloaded this version, and so far so good. Thank you for the fix.

Some feedback - the scan feature appears to be picking up every directory within the parameters specified, rather than just those with KSP in them. For me, this is not a big issue, but one worthy of bringing to your attention for future work.

Once more, thank you for all of your work, and the swiftness of your reply and creation of a fix.

M13

Link to comment
Share on other sites

Sorry MacTee, it's me again.

I have been trying to download mods via the internal browser from the KSP Forums. When I tried to download the Kethane Mod from /threads/23979, I got the following error message listed below.

Once more, thanking you in advance for your time and assistance.

Edit: I tried to download Kerbal Crew Manifest from /threads/60936, and received the same error message. I thought giving you this further information could prove useful tracking down the cause of the error.


See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.Net.WebException: The remote server returned an error: (404) Not Found.
at System.Net.WebClient.DownloadFile(Uri address, String fileName)
at KSPModAdmin.Utils.wwwHelper.DownloadFile(String downloadURL, String downloadPath, DownloadProgressChangedEventHandler downloadProgressHandler)
at KSPModAdmin.Utils.KSPForumHelper.DownloadMod(String downloadURL, ModInfo& modInfo, DownloadProgressChangedEventHandler downloadProgressHandler)
at KSPModAdmin.Views.ucModSelection.HandleModAddViaKSPForum(String kspForumURL, String modName, Boolean installAfterAdd, DownloadProgressChangedEventHandler downloadProgressHandler)
at KSPModAdmin.Views.ucModBrowser.tsbDownloadMod_Click(Object sender, EventArgs e)
at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
at System.Windows.Forms.ToolStripButton.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34014 built by: FX45W81RTMGDR
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
KSPModAdmin
Assembly Version: 1.4.0.12
Win32 Version: 1.4.0.12
CodeBase: file:///E:/Games/KSPModAdmin/KSPModAdmin.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34003 built by: FX45W81RTMGDR
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Deployment
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Deployment/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Deployment.dll
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
Microsoft.mshtml
Assembly Version: 7.0.3300.0
Win32 Version: 7.0.3300.0
CodeBase: file:///C:/WINDOWS/assembly/GAC/Microsoft.mshtml/7.0.3300.0__b03f5f7f11d50a3a/Microsoft.mshtml.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.


Edited by marauder13
Updated information
Link to comment
Share on other sites

Hey MacTee,

I love KSP Mod Admin. However, I am running into a small issue with regard to the forum update check. It appears that the program is marking the download timestamp first, and then marking the creation timestamp second. This happens with either a download from the forum, or updating modinfo from the forum. This is causing occassional issues by marking a newly downloaded mod as blue for out-of-date immediately, since the download timestamp is about 1-2 seconds before the creation timestamp. I can work around this for most mods by just hitting the 'update modinfo' button until the timestamps are the same, but sometimes it is not possible due to huge forum posts on the first page of a mod. No matter what I do, the mod remains blue for out-of-date.

Thanks for such a great program!

-Rich

Link to comment
Share on other sites

Thanks for the bug reports!

@celendis:

Could you plaese give me a link where this happens?

@marauder13:

It looks like the link from the forum post isn't valid anymore, or could you download the mod manually with that link?

EDIT: After a quick test -> yes, manually download works.

Could you explain a little more what you have done and which link you have used to download?

EDIT: There is only one download link and this happens after a press on the download mod button (as you can see in the StackTrace ... stupido ;)

A direct link to the problematic mod(s) would be nice too!

EDIT: Open you eye already there. =)

EDIT: Sry sometime i'll ask stupid questions ;) ... I'll dive into it, but first my childes need some entertainment =)

Edited by MacTee
Link to comment
Share on other sites

Hey MacTee, perhaps you could check http://forum.kerbalspaceprogram.com/threads/57988-0-23-x-RealChute-Parachute-Systems-Presets!-v1-1-0-1-27-04-14

Also, I have noticed that 64-bit KSP has a few bugs not present in 32-bit and was wondering if there is an option hidden somewhere to launch the 32-bit KSP from KMA directly without wrecking the 64-bit install.

Link to comment
Share on other sites

Hi celendis,

I don't think there is a way to start a 64bit install of KSP in 32bit mode. It seems that the 64bit install has some changed files that won't work with a 32bit version.

Maybe its possible to install 32bit and 64bit in one folder and start the prefered version. But KSP MA will try to start the 64bit version if available.

I would recommend to install two versions of KSP one 32bit the other 64bit. Both could be managed with one KSP MA. Just add both install folders on the Option / Paths tab and switch between those installs by using the DropDownBox at the top of KSP MA.

Link to comment
Share on other sites

Hey MacTee! I was wondering, since you're going to launch a new version of KSPMA for the new... er... you know, KSP version (a bit redundant... sry), how about making it possible to add multiple mods at the same time? Is it possible?

Another thing is that KSPMA detects a conflict when two mod files share the same installation folders, even if actually no files inside that folders are conflicting. Could it be made to be detected when files inside the installation destination, not the destination path per se, are conflicting?

As always, keep out the good work! Your efforts are much appreciated! =)

Link to comment
Share on other sites

sry I don't know what you mean with "multiple mods at the same time".

Under the Mods tab, clicking on Add button, then clicking on the lil' folder and magnifier button to add a path to the mod you want to add. It would be nice to have the ability to select multiple mods to be added at once, rather than having to add one by one. Don't know if possible, but would be extremely useful! xD

WogRome.png

Another thing. I manually selected the path to my new KSP x64 install and KSPMA is working normally. I even already installed a bunch of mods with it.

Link to comment
Share on other sites

Hi BadLeo,

i have temporarily removed the multiple mod add with the implementation of the add dialog. I'll add this again later.

But you could drag and drop multiple mods to the ModSelection.

Link to comment
Share on other sites

Hey MacTee,

Is there any way to get some protection on the Squad and NASAmission folders in GameData? KW Rocketry clobbers the launch clamp part.cfg because they seem feel like modifying stock parts is ok, and I disagree. KMA doesn't know any better that there's a conflict in updating this content and deletes the part.cfg when I uncheck Extras. Of course, I feel the solution should be that KW needs to use Module Manager to fix the part sound, but that is another issue.

TL;DR: I would like an option to prevent any modification to Squad content by any mod.

Link to comment
Share on other sites

hi celendis,

for now the only way to keep you stocking parts unchanged is to remove the destination of those files that changes/overrides the part.cfg files.

But normaly KSP MA won't override files when the Override CheckBox is unchecked.

i have added the new feature request to my todo list ;)

Link to comment
Share on other sites

Can I make sure I am understanding this right with regards to the mod update options:

Remove and Add: Uninstall the old version and install the new one

Copy Destination: Installs the new mod to the same destination, overwriting the old files

Copy checked state: Copies the checked elements from the old version to the new download

Manually: Must manually select the elements and tell it to update

Am I correct in interpreting it that way? In that case, if I was selectively telling certain mods to not install parts of their archives, would it be best for me to select the copy checked state? How does that handle new files in the archive then? Does it just ignore than and only replace the files that were checked in the old version?

See I am trying to figure out what would be best if a mod updated that hypothetically had its own folders and 000 Toolbar bundled with it. I dont want it to overwrite 000 toolbar for whatever reason, so I tell it to copy the checked state. But it added some new parts folders in the new version, so would those not be installed?

edit: Also, totally separate from that. Do you know why sometimes when you enter a url like this one http://forum.kerbalspaceprogram.com/threads/87127-Fixed-Decoupler-for-KSP-x64-on-Windows-v2-(July-20) into mod manager, it bounces back 404 not found?

edit 2: Also, curse forge links return illegal characters in path as an error when entered in on the add mod screen

Edited by PringleMan
Link to comment
Share on other sites

Can I make sure I am understanding this right with regards to the mod update options:

Remove and Add: Uninstall the old version and install the new one

Almost right. KSP MA removes the old Mod an adds the new mod with NEW detected destinations (maybe the same as for the old one)

Copy Destination: Installs the new mod to the same destination, overwriting the old files

KSP MA will try to find corisponding files of the old mod in the new mod, checked stated and destination will be copied to the new mod.

then the old mod will be removed and the new one will be installed (preserves your settings of checked state and (maybe new) chosen destinations).

New files will be installed to the auto detected destination if one is found.

Copy checked state: Copies the checked elements from the old version to the new download

KSP MA only copies the checked state of the mod and then removes the old one and installs the new mod with auto detected destination (if found).

Manually: Must manually select the elements and tell it to update

You will have to manage the update.

Am I correct in interpreting it that way? In that case, if I was selectively telling certain mods to not install parts of their archives, would it be best for me to select the copy checked state? How does that handle new files in the archive then? Does it just ignore than and only replace the files that were checked in the old version?

See I am trying to figure out what would be best if a mod updated that hypothetically had its own folders and 000 Toolbar bundled with it. I dont want it to overwrite 000 toolbar for whatever reason, so I tell it to copy the checked state. But it added some new parts folders in the new version, so would those not be installed

Best option for this is "Copy destination".

edit: Also, totally separate from that. Do you know why sometimes when you enter a url like this one http://forum.kerbalspaceprogram.com/threads/87127-Fixed-Decoupler-for-KSP-x64-on-Windows-v2-(July-20) into mod manager, it bounces back 404 not found?

edit 2: Also, curse forge links return illegal characters in path as an error when entered in on the add mod screen

As i posted above (several times =) the mod download is a little bit buggy, i'm on a redo of almost everything within the KSP MA code, including the download link detection and the mod download/update. But this will take some time. Sry!

Edited by MacTee
Link to comment
Share on other sites

NP and thanks! ;)

Edit: A problem with the Copy Destination option is when in a mod that provides toobar files and the toolbar mod got updated and adds new files, those new files may cause conflicts with your primary (seperate) installation of the toolbar mod.

You have to solve those conflicts manually.

Edited by MacTee
Link to comment
Share on other sites

To anyone else who cares: I created my own zip file to at least have KMA indicate a conflict with Stock parts. It's just a zip containing GameData folder and inside that is Squad and NASAmission folders. Inside that, I just dropped a text file in each folder called SquadProtect.txt and NASAProtect.txt. KMA now indicates a conflict in yellow, so I can at least identify what mod(s) attempt to modify stock files.

In case anyone else wants this simple thing, it is on my dropbox here.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...