anchor.diff:          createDir tempDir
           createDir customDir
   
  -        let configFile = Path.Combine(kernelDir, "ipython_config.py")
  -        let configqtFile = Path.Combine(kernelDir, "ipython_qtconsole_config.py")
  -        let kernelFile = Path.Combine(kernelDir, "kernel.json")
  -        if forceInstall || (File.Exists(configFile) = false) then
  -            
  -            printfn "Config file does not exist, performing install..."
  +        let allFiles = new System.Collections.Generic.List<string>()
  +        let addFile fn = allFiles.Add(fn); fn
  +        let configFile = Path.Combine(kernelDir, "ipython_config.py") |> addFile
  +        let configqtFile = Path.Combine(kernelDir, "ipython_qtconsole_config.py") |> addFile
  +        let kernelFile = Path.Combine(kernelDir, "kernel.json") |> addFile
  +        let logoFile = Path.Combine(customDir, "ifsharp_logo.png") |> addFile
  +        let kjsFile = Path.Combine(kernelDir, "kernel.js") |> addFile
  +        let fjsFile = Path.Combine(customDir, "fsharp.js") |> addFile
  +        let wjsFile = Path.Combine(customDir, "webintellisense.js") |> addFile
  +        let wcjsFile = Path.Combine(customDir, "webintellisense-codemirror.js") |> addFile
  +        let logo64File = Path.Combine(kernelDir, "logo-64x64.png") |> addFile
  +        let logo32File = Path.Combine(kernelDir, "logo-32x32.png") |> addFile
  +        let missingFiles = Seq.exists (fun fn -> File.Exists(fn) = false) allFiles
  +        if forceInstall || missingFiles then
  +            
  +            printfn "One or more files do not exist, performing install..."
   
               // write the startup script
               let codeTemplate = IfSharpResources.ipython_config()
  
positive.code:             File.WriteAllText(configqtFile, codeqt)
  
              // write custom logo file
              let logoFile = Path.Combine(customDir, "ifsharp_logo.png")
              printfn "Saving custom logo [%s]" logoFile
              IfSharpResources.ifsharp_logo().Save(logoFile)
  
  
negative.code:             File.WriteAllText(cssFile, IfSharpResources.fsharp_css())
  
              // write kernel js file
              printfn "Saving kernel js [%s]" kjsFile
              File.WriteAllText(kjsFile, IfSharpResources.kernel_js())
  
              // write fsharp js file
              printfn "Saving fsharp js [%s]" fjsFile
              File.WriteAllText(fjsFile, IfSharpResources.fsharp_js())
  
              // write webintellisense js file
              printfn "Saving webintellisense js [%s]" wjsFile
              File.WriteAllText(wjsFile, IfSharpResources.webintellisense_js())
  
              // write webintellisense-codemirror js file
              printfn "Saving webintellisense-codemirror js [%s]" wcjsFile
              File.WriteAllText(wcjsFile, IfSharpResources.webintellisense_codemirror_js())
  
              // Make the Kernel info folder 
              let jsonTemplate = IfSharpResources.ifsharp_kernel_json()
  