Need help loading Squad Leader extensions

I’m trying to add two of the extensions for the VSQL module. ( Original SL, not ASL).
VSQL4-Coi-SS.vmdx and VSQL4-CodGia.vmdx.

For both of them, when I try to add them I see this error message:
VASSAL was unable to write the file ‘C:\Program Files (x86)\Vassal 3.2.17\VSQL423_ext’.

Do I need to have them saved somewhere special? I saved them in the same folder where the Vassal engine is saved.

I also see what looks like a reference to an Extension Manager in the detailed error message, is there an Extension Manager somewhere that I need to install first?

java.io.IOException: Could not create C:\Program Files (x86)\Vassal 3.2.17\VSQL423_ext
at VASSAL.build.module.ExtensionsManager.ensureExists(ExtensionsManager.java:112)

You should never store modules or extensions in the VASSAL installation folder, especially not when it’s in special folders with limited write privileges like C:\Program Files (x86)\

Move the VSQL module to almost anywhere else on your system (best: somewhere in your user’s home directory) and the extensions will be able to be “installed”–which is really just moving them to a newly-created folder with _ext in the name in the same directory where the base module is stored.

I initially had them in the same folder where the base module is stored. See image. No good, so then I tried putting them in the folder with the Vassal engine, also no good.

What error message did you get when you did this? There is nothing wrong on the screen shot you have posted, this is what I would expect to see where you have added extensions to two different versions of VSQL.

What do you mean by ‘having them in the same folder as the base folder’? How did you add them there? Did you right-click on VSQL in the Module Manager and select ‘Add Extension’, then select the extension? Vassal will handle the rest for you, creating the _EXT folder in the same folder as the base module and copying the extensions into it.

I get this error message:

error 1

And when I click on “More details” I see this:

java.io.IOException: Could not create C:\Program Files (x86)\Vassal 3.2.17\VSQL423_ext
at VASSAL.build.module.ExtensionsManager.ensureExists(ExtensionsManager.java:112)
at VASSAL.build.module.ExtensionsManager.getExtensionsDirectory(ExtensionsManager.java:91)
at VASSAL.build.module.ExtensionsManager.setActive(ExtensionsManager.java:141)
at VASSAL.launch.ModuleManagerWindow$ModuleInfo$1.actionPerformed(ModuleManagerWindow.java:1194)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

I moved the Vassal exe file out of C\Program Files and put it in my desktop Games folder and re-installed it, and of course the Extensions loaded just fine the way they’re supposed to. Problem solved.

It’s good that you got this resolved, but moving the VASSAL executable itself should never have been the remedy–that’s really strange!

Let me stipulate that I am only about 5% more computer-savvy than a trained monkey. Perhaps my C\Program Files directory was read-only? Or had some other restriction that prevented installing the Extensions?

Yes, this is normal and expected behavior–Windows has a security feature called User Account Control which restricts normal programs from writing files to the special folder reserved for installed software (obviously software installers themselves have this ability).

Modules belong in your user folders–the Desktop or a folder on your Desktop should have been completely fine. What’s not clear from the image you provided is if the Squad Leader base module is in that folder (you said it is, but if it’s in the list of files it just wasn’t scrolled down to show it). If you right-clicked the Squad Leader module name in VASSAL’s module library view and chose “Add Extension” per Brent’s post, and got the error message you showed, my conclusion would be that you in fact have the Squad Leader base module in C:\Program Files (x86)\Vassal 3.2.17\, which is not what you want.

Basically, you should verify the precise location of the Squad Leader module. If it’s in Program Files, move it.

When I took the screenshot the exe files were still in C/Programs…

After I moved the exe file to Desktop/Games/Vassal and changed the folder permissions and re-installed Vassal, then the Extensions loaded properly.

The location of the VASSAL executable (i.e., the program itself) is not at issue. The location of the Squad Leader base VASSAL module is. In the case of VSQL 4.23, this should be a file named VSQL423.vmod.

To get this working correctly should never require changing permissions of anything, nor reinstalling the VASSAL software. You need to identify the location of the module file and move it if it’s in a bad place.

If you aren’t sure where the VSQL module file is currently stored, the VASSAL module library view can show you–just hover over the name of a module and the path (storage location) of the module file will appear in a tooltip.

The module was in the same folder shown in the screenshot, just down at the bottom of the list and out of the image. It was saved there from day 1.

Can you post a screenshot of the contents of: C:\Program Files (x86)\Vassal 3.2.17\?

BTW, both the version of Vassal and the VSQL module you’re using are quite old. The current versions are 3.6.19 and 4.3.5, respectively. I strongly recommend using the current versions instead.

That folder is not there any more. But it contained the exe file and I had the Boards folder in there as well.

I am deliberately using the older Vassal and VSQL in order to play one scenario at my opponent’s request, it apparently has some features that are not forward-compatible with the newer versions of Vassal. I have the lastest 3.6.19 and the 4.3.5 installed as of yesterday.

This combined with the previous error messages remain extremely strong suggestions that at one point the Squad leader module file was stored in the VASSAL installation folder. The Boards folder for VSQL would not automatically be created here unless it was the location of the base module file. Did you create the Boards folder here manually at any point?

Yes, I put the Boards folder there manually until I realized Vassal does not care where the Boards are located, as long as you specify in the Preferences tab where to go to load the boards.

I did not previously have the VSQL module in the same folder with the exe file. All of my various modules have always been in Desktop/Games/Vassal Modules