- Open the directory with pathdef.m in the Windows Explorer, right-click on the file and open "Security" tab.
- Click the "Edit" button to modify permissions.
- Select the user or group that should be allowed to write to pathdef.m, i.e., Users.
- Check the "Write" check box and click "Apply"
Why is a new instance of MATLAB opened when I double-click on a MATLAB file in Windows Explorer even if I have one instance of MATLAB already open on my Windows 7 machine?
149 views (last 30 days)
MathWorks Support Team on 18 Apr 2013
I have full administrative privileges on my Windows 7 machine and I run MATLAB as an administrator. I then open a Windows Explorer and double-click on a MATLAB file. I expect the MATLAB file to open in the existing instance of MATLAB, instead another instance of MATLAB is launched, and the MATLAB file opens there in the Editor. If I double-click on another MATLAB file in Windows Explorer, it opens in Editor in the second instance of MATLAB. However, if I close the second instance of MATLAB and then double-click on a MATLAB file in Windows Explorer it will open another MATLAB instance.
I am running MATLAB as an administrator because otherwise I cannot save path from File->Set Path->Save menu. I have User Control Access (UAC) turned on and I cannot turn it off because of security considerations.
MathWorks Support Team on 9 May 2023
Edited: MathWorks Support Team on 10 May 2023
This behavior may have one of several causes:
This may be a consequence of the security settings on Windows 7. When you run MATLAB as an administrator and then try to open a MATLAB file from Windows Explorer, you are not a privileged user as far as Windows Explorer is concerned. As a result, MATLAB that is open cannot open this MATLAB file since MATLAB is a program that is run by a privileged user (administrator).
To work around this issue, you can enable writing to the pathdef.m file. The pathdef.m file is located in the directory:
where MATLABROOT is the result of executing the following in the MATLAB command prompt:
To enable writing to pathdef.m:
If you have previously set MATLAB to be run as an administrator, change it to run it as an ordinary user. You will be now able to save path to the pathdef.m file and each time you click on the MATLAB file, if MATLAB is already open, MATLAB file will be opened in the Editor of the open MATLAB instance.
If this does not work, try associating the file with an older version of MATLAB, open the file and then change the association to the new version. This resolved the issue for a customer who was transitioning from R2017b to R2018a
This issue may also arise if you uninstall an earlier release of MATLAB after installing a newer release. The newer release uses a different method to register file associations.
These associations are deleted from the registry when an older release is uninstalled. In this situation, please uninstall the new release and reinstall it.
If the file associations are not correct because you have manually registered the MATLAB file types with Windows Explorer, you can re-associate the MATLAB file types by following these instructions from the MATLAB documentation:
This page explains how to re-register the .MAT extension, but you can follow the same instructions for other file types.
Some users have found that using the following fix has been effective in solving the issue. Keep in mind that this content was not created by MathWorks employees so our support for it is limited:
More Answers (1)
Shahram Bekhrad on 30 May 2016
Edited: MathWorks Support Team on 24 Sep 2022
Hello. I had the same problem on my win 8.1 and MATLAB but followed thorough with the suggested solution by MathWorks Support Team on top of the page and then followed by the other solution on MATLAB File Association Fix by Patrik Forssén on some other post in the site ( How to restore file association in Matlab 2015a for Windows ) and I think that it is alright now. Now when I double click on a MATLAB associated file IF I have an instance of MATLAB open, It opens the file directly in the editor or MATLAB file importer dialog (depends on the file) and if not it opens an instance of MATLAB and the rest follows.