Index: sansview/perspectives/fitting/help_panel.py
===================================================================
--- sansview/perspectives/fitting/help_panel.py	(revision 389c9914bad8615f046dfdf2d63fa745dd357507)
+++ sansview/perspectives/fitting/help_panel.py	(revision 23ccf074a71f708d9c6ceb9155df4b528291a598)
@@ -5,6 +5,7 @@
 from wx.lib.splitter import MultiSplitterWindow
 import os
+import sys
 
-
+    
 class HelpWindow(wx.Frame):
     """
@@ -15,5 +16,20 @@
         contains help info
         """
-      
+        path = os.path.dirname(__file__)
+        temp_path = os.path.join(path,'images')
+        ico_file = os.path.join(temp_path,'ball.ico')
+        if os.path.isfile(ico_file):
+            self.SetIcon(wx.Icon(ico_file, wx.BITMAP_TYPE_ICO))
+        else:
+            temp_path = os.path.join(os.getcwd(),'images')
+            ico_file = os.path.join(temp_path,'ball.ico')
+            if os.path.isfile(ico_file):
+                self.SetIcon(wx.Icon(ico_file, wx.BITMAP_TYPE_ICO))
+            else:
+                ico_file = os.path.join(os.path.dirname(os.path.sys.path[0]),
+                             'images', 'ball.ico')
+                if os.path.isfile(ico_file):
+                    self.SetIcon(wx.Icon(ico_file, wx.BITMAP_TYPE_ICO))
+                    
         splitter = MultiSplitterWindow(self, style=wx.SP_LIVE_UPDATE)
         rpanel = wx.Panel(splitter, -1)
@@ -52,4 +68,6 @@
         # get the media path
         path = models.get_data_path(media='media')
+        if not os.path.isdir(path):
+             path = os.path.dirname(os.path.sys.path[0])
         self.path = os.path.join(path,"model_functions.html")
         self.path_pd = os.path.join(path,"pd_help.html")
@@ -61,22 +79,51 @@
             </body>
             </html>"""
-        page="""<html>
+        
+        if not os.path.isfile(os.path.join(path, "change_scale_help.html")):
+            path = os.path.join(os.path.dirname(os.path.sys.path[0]), 'media')
+        page = """<html>
             <body>
             <ul>
-            <li><a href ="media/change_scale_help.html" target ="showframe">Change Scale</a><br></li>
-            <li><a href ="media/reset_Graph_help.html" target ="showframe">Graph Help</a><br></li>
-            <li><a href ="media/status_bar_help.html" target ="showframe">Status Bar Help</a><br></li>
-            <li><a href ="media/load_data_help.html" target ="showframe">Load a File</a><br></li>
-            <li><a href ="media/simultaneous_fit_help.html" target ="showframe">Simultaneous Fit</a><br></li>
-            <li><a href ="media/single_fit_help.html" target ="showframe">Single Fit</a><br></li>
-            <li><a href ="media/model_use_help.html" target ="showframe">Visualize Model</a><br></li>
-            <li><a href ="media/averaging_help.html" target ="showframe">Data Averaging</a><br></li>
+            <li><a href ="%s" target ="showframe">Change Scale</a><br></li>
+            """ % str(os.path.join(path, "change_scale_help.html"))
+        page += """
+            <li><a href ="%s" target ="showframe">Graph Help</a><br></li>
+            """ % str(os.path.join(path,  "reset_Graph_help.html"))
+        page += """
+            <li><a href ="%s" target ="showframe">Status Bar Help</a><br></li>
+            """ % str(os.path.join(path,  "status_bar_help.html"))
+        page += """
+            <li><a href ="%s" target ="showframe">Load a File</a><br></li>
+            """ % str(os.path.join(path, "load_data_help.html"))
+        page += """
+            <li><a href ="%s" 
+            target ="showframe">Simultaneous Fit</a><br></li>
+            """ % str(os.path.join(path, "simultaneous_fit_help.html"))
+        page += """
+            <li><a href ="%s" 
+            target ="showframe">Single Fit</a><br></li>
+            """ % str(os.path.join(path,  "single_fit_help.html"))
+        page += """
+            <li><a href ="%s" 
+            target ="showframe">Visualize Model</a><br></li>
+            """ % str(os.path.join(path, "model_use_help.html"))
+        page += """
+            <li><a href ="%s" 
+            target ="showframe">Data Averaging</a><br></li>
+            """ % str(os.path.join(path,  "averaging_help.html"))
+        page += """
             <li><a href ="%s" target ="showframe">Model Functions</a><br></li>
-            <li><a href ="%s" target ="showframe">Polydispersion Distributions</a><br></li>
+            """ % str(self.path)
+        page += """<li><a href ="%s" target ="showframe">
+                Polydispersion Distributions</a><br></li>
+                """ % str(self.path_pd)
+        page += """
             <li><a href ="%s" target ="showframe">Smear Computation</a><br></li>
-            <li><a href ="media/key_help.html" target ="showframe">Key Combination</a><br></li>
+            """ % str(self.path_sm)
+        page += """<li><a href ="%s" 
+        target ="showframe">Key Combination</a><br></li>
             </ul>
             </body>
-            </html>""" % (self.path, self.path_pd, self.path_sm)
+            </html>""" % str(os.path.join(path,  "key_help.html"))
         
         self.rhelp.SetPage(page1)
Index: sansview/perspectives/fitting/models.py
===================================================================
--- sansview/perspectives/fitting/models.py	(revision 5901bb9b6f912e6c98fa38dc8c61f0f6df51790a)
+++ sansview/perspectives/fitting/models.py	(revision 23ccf074a71f708d9c6ceb9155df4b528291a598)
@@ -9,4 +9,5 @@
 # Time is needed by the log method
 import time
+import logging
 
 from sans.guiframe.events import StatusEvent  
@@ -17,9 +18,12 @@
    
 PLUGIN_DIR = 'plugins' 
+path = os.path.dirname(os.path.sys.path[0])
+file = os.path.join(path, "plugins.log")
+
 
 def log(message):
     """
     """
-    out = open("plugins.log", 'a')
+    out = open(file, 'a')
     out.write("%10g:  %s\n" % (time.clock(), message))
     out.close()
@@ -107,4 +111,6 @@
     except:
         # Don't deal with bad plug-in imports. Just skip.
+        msg = "Could not import model plugin: %s\n" % sys.exc_value
+        log(msg)
         pass
     return plugins
@@ -172,14 +178,21 @@
         in the directory if file were modified
         """
+        temp = {}
         if self.is_changed():
             #always recompile the folder plugin
             import compileall
-            compileall.compile_dir(dir=PLUGIN_DIR, force=1)
-            dir = os.path.join(os.getcwd(), 'plugins')
-            log("looking for models in: %s" % str(dir))
-            return _findModels(PLUGIN_DIR)
-        return  {}
-       
-    
+            if os.path.isdir(os.path.abspath(PLUGIN_DIR)):
+                dir = os.path.abspath(PLUGIN_DIR)
+            else:
+                dir = os.path.join(os.path.dirname(os.path.sys.path[0]), 'plugins')
+            if not os.path.isdir(dir):
+                log("Could not locate models plugins in: %s" % str(dir))
+            else:
+                log("looking for models in: %s" % str(dir))
+                compileall.compile_dir(dir=dir, ddir=dir, force=1, quiet=True)
+                return  _findModels(dir)
+        logging.info("pluging model : %s\n" % str(temp))
+        return temp
+        
     def _getModelList(self):
         """
