Changeset 16341


Ignore:
Timestamp:
12/06/18 17:10:16 (12 days ago)
Author:
gkronber
Message:

#2964: programmatically unblock (remove Zone.Identifier alternative stream) displayModelFrame.html

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/Plugin.cs.frame

    r16309 r16341  
    2424using System.Text;
    2525using HeuristicLab.PluginInfrastructure;
     26using System.Runtime.InteropServices;
     27using System.IO;
    2628
    2729namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Views {
     
    4749  [PluginDependency("HeuristicLab.Problems.DataAnalysis.Symbolic", "3.4")]
    4850  public class HeuristicLabProblemsDataAnalysisSymbolicViewsPlugin : PluginBase {
     51    // HeuristicLab is marked with zone identifier 'Internet' after download.
     52    // This propagates to all extracted files and can be checked in the file properties.
     53    // IE prevents execution of MathJax JavaScript inside of untrusted html
     54    // Therefore we need to programmatically unblock the displayModelFrame.html file before extracting.
     55    // see http://engram404.net/programmatically-unblocking-downloaded-files/
     56
     57    // for removing the Zone.Identifier alternative NTFS stream (effectively unblocking the file)
     58    [DllImport("kernel32.dll", SetLastError = true)]
     59    private static extern bool DeleteFile(string lpFileName);
     60
     61    public override void OnLoad() {
     62      base.OnLoad();
     63
     64      // unblock mathjax.zip ()
     65      DeleteFile(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "displayModelFrame.html:Zone.Identifier"));
     66    }
    4967  }
    5068}
Note: See TracChangeset for help on using the changeset viewer.