Creating a runtime log for deployed application
    19 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
I am using Application Compiler to create standalone versions of scripts. To debug, I would like to create a runtime log, but MATLAB does not appear to do so when I tick the box. Has anyone else had this problem?
0 comentarios
Respuestas (1)
  Chandani Madnani
    
 el 1 de Mzo. de 2018
        
      Editada: Chandani Madnani
    
 el 1 de Mzo. de 2018
  
      Log file is created in the same folder when you execute exe from for_testing or for_redistribution_files folders.
If you are running from for_redistribution, the log files will not be created if the application launched does not have privileges to write files in the installation directory. For example, in operating systems like Windows 7, the application running with user privileges will not be allowed to create files under "C:\Program Files". If the deployed application is installed under the "C:\Program Files" or "C:\Program Files (x86)" path, please follow the workarounds mentioned below to generate log files from the application.
1. The application can be launched as administrator. For Windows 7 - Right click on the application executable or shortcut and click on "Run as administrator"
2. Install the application in a path where the user running the application has privileges to create files. For example, installing under the Path: "C:\Users\<user_name>"
5 comentarios
  Eleanor Betton
      
 el 29 de Jun. de 2022
				I have the same poblem with log files on the desktop when the user checks the shortcut at install. If you manually create a shortcut afterwards it doesn't occur.
  Eric Delgado
      
 el 17 de Sept. de 2022
				You have to map the PATH of your app (project, installed or deployed). You could create a property named "app.RootFolder" and put the lines of codes (below) in your Startup. 
And... don't forget to point to the full path of files - fullfile(app.RootFolder, 'Subfolder', 'File.ext'), for example.
if isdeployed                                                   % Deployed version
    [~, result]    = system('path');
    app.RootFolder = char(regexpi(result, 'Path=(.*?);', 'tokens', 'once'));
    if ~isfile(fullfile(app.RootFolder, 'NameOfYourApp.exe'))
        % ERROR
    end    
else
    prjPath = matlab.project.rootProject;
    appPath = fullfile(char(com.mathworks.appmanagement.MlappinstallUtil.getAppInstallationFolder), 'NameOfYourApp');
    if ~isempty(prjPath) & strcmp(prjPath.Name, 'NameOfYourApp') % Project version
        app.RootFolder = char(prjPath.RootFolder);
    elseif isfolder(appPath)                                     % Installed version
        app.RootFolder = appPath;
    else
        % ERROR
    end
end
Ver también
Categorías
				Más información sobre Application Deployment en Help Center y File Exchange.
			
	Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!