Creating a runtime log for deployed application

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?

Risposte (1)

Chandani Madnani
Chandani Madnani il 1 Mar 2018
Modificato: Chandani Madnani il 1 Mar 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 Commenti

Workaround 1: Running app as an administrator didn't work.
Workaround 2: Installing the app under user folder worked. Log file is generated in the same folder as exe file.
Eventhough I was administrator I had a special permission setting which does not have write permission to the program files folder. Changing the user privileges to write in the installation folder, log file was generated. Workaround 1 also works.
Had one issue with this.
When I tried to install the app using web installer and selected the add shortcut to desktop. Everytime I start the application it creates a log file in desktop which will clutter the desktop with many log file if I open multiple times. I am generating custom log file based on date and time. It seems like the shortcut is not really a shortcut.
When I delete and create another shortcut then in that case log file is not created in the desktop, instead it is created at C:\Program Files\MyAppMainFolder\MyApp\application where the actual app .exe file resides.
Do you know how we can suppress the creation of log file in desktop when we select Add shortcut icon to desktop during app installation??
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.
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

Accedi per commentare.

Categorie

Scopri di più su Application Deployment in Centro assistenza e File Exchange

Prodotti

Richiesto:

il 26 Feb 2018

Commentato:

il 17 Set 2022

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by