Trying to create module and cannot save

Hi,

I am trying to create my first vassal module using some of the online tutorials. I created a module and attached a board but when I try and specify game sides I am unable to save and I get the following error:

java.nio.file.AccessDeniedException: C:\Program Files\VASSAL-3.6.19\Arriba Espana!.vmod → C:\Program Files\VASSAL-3.6.19\Arriba Espana!.vmod.bak
at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:89)
at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103)
at java.base/sun.nio.fs.WindowsFileCopy.move(WindowsFileCopy.java:414)
at java.base/sun.nio.fs.WindowsFileSystemProvider.move(WindowsFileSystemProvider.java:291)
at java.base/java.nio.file.Files.move(Files.java:1429)
at VASSAL.tools.io.ZipArchive.writeToDisk(ZipArchive.java:488)
at VASSAL.tools.io.ZipArchive.flush(ZipArchive.java:383)
at VASSAL.tools.ArchiveWriter.write(ArchiveWriter.java:297)
at VASSAL.tools.ArchiveWriter.saveButVerify(ArchiveWriter.java:276)
at VASSAL.build.GameModule.save(GameModule.java:2122)
at VASSAL.build.GameModule.save(GameModule.java:2095)
at VASSAL.launch.ModuleEditorWindow.lambda$save$0(ModuleEditorWindow.java:94)
at VASSAL.launch.EditorWindow.saver(EditorWindow.java:480)
at VASSAL.launch.ModuleEditorWindow.save(ModuleEditorWindow.java:92)
at VASSAL.launch.EditorWindow$2.actionPerformed(EditorWindow.java:213)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2314)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:407)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6620)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3398)
at java.desktop/java.awt.Component.processEvent(Component.java:6385)
at java.desktop/java.awt.Container.processEvent(Container.java:2266)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4995)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4827)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4827)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:98)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

Here is my OS/VASSAL info:

OS: Windows 11 Home
Memory: 16 GB
VASSAL: 3.6.19
Module: In development

I tried to do the instructions here:

Opening Error Log Directly From Chat
From Vassal 3.6.5 onwards, typing /errorlog open in the chat bar will tell your OS to open the Errorlog in a default viewer.

…from this webpage:

https://vassalengine.org/wiki/Error_Logs

…but it didnt seem to work…so unfortunately I have no error log to attach.

Can anyone tell me why I cannot save the module?

Thanks,
John

See the part that says: C:\Program Files\VASSAL-3.6.19 ?

You’re attempting to write files into privileged folders where applications and software belong. A feature called Windows UAC will stop you from doing this.

Don’t store your data files in the same folder where the application resides. Save your own files and projects in your home directory, your desktop, or almost literally anywhere else on your system that isn’t in C:\Program Files or any subdirectory thereof.

1 Like

OK thanks for that …I will try your suggestion as soon as I get a chance.