├── .gitignore ├── BuildAll ├── README.md ├── RevitRubyShell.sln ├── RevitRubyShell ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── RevitRubyShell.csproj ├── RevitRubyShell.csproj.user ├── RevitRubyShell.xml ├── RevitRubyShellApplication.cs ├── RevitRubyShellInstaller_TemporaryKey.pfx ├── ShellCommand.cs ├── ShellWindow.xaml ├── ShellWindow.xaml.cs ├── console-5.png ├── disk_blue.ico ├── folder_out.ico ├── media_play.ico └── media_play.png ├── RevitRubyShellInstaller ├── Program.cs ├── Properties │ ├── AssemblyInfo.cs │ └── app.manifest ├── RevitRubyShellInstaller.csproj ├── RevitRubyShellInstaller.csproj.user ├── RevitRubyShellInstaller_TemporaryKey.pfx └── app.config ├── Setup1 └── Setup1.vdproj ├── _config.yml └── lib ├── IronRuby.Libraries.Yaml.dll ├── IronRuby.Libraries.dll ├── IronRuby.dll ├── Microsoft.Dynamic.dll ├── Microsoft.Scripting.Metadata.dll ├── Microsoft.Scripting.dll ├── RevitAPIUI_2014.dll ├── RevitAPIUI_2015.dll ├── RevitAPIUI_2016.dll ├── RevitAPIUI_2017.dll ├── RevitAPIUI_2018.dll ├── RevitAPI_2014.dll ├── RevitAPI_2015.dll ├── RevitAPI_2016.dll ├── RevitAPI_2017.dll ├── RevitAPI_2018.dll └── RevitAddInUtility.dll /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | #ignore thumbnails created by windows 3 | Thumbs.db 4 | #Ignore files build by Visual Studio 5 | *.obj 6 | *.exe 7 | *.pdb 8 | *.user 9 | *.aps 10 | *.pch 11 | *.vspscc 12 | *_i.c 13 | *_p.c 14 | *.ncb 15 | *.suo 16 | *.tlb 17 | *.tlh 18 | *.bak 19 | *.cache 20 | *.ilk 21 | *.log 22 | [Bb]in 23 | [Dd]ebug*/ 24 | *.lib 25 | *.sbr 26 | obj/ 27 | [Rr]elease*/ 28 | _ReSharper*/ 29 | [Tt]est[Rr]esult* -------------------------------------------------------------------------------- /BuildAll: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # RevitRubyShell 2 | 3 | A Ruby shell in Autodesk Revit using IronRuby. 4 | 5 | RevitRubyShell is a [Ruby](https://www.ruby-lang.org) shell in an Autodesk Revit add-in external application. 6 | 7 | It enables you to interactively run Ruby scripts inside Revit using the Revit API and IronRuby. 8 | 9 | You can build from source and add the add-in manually or using the add-in manager. 10 | 11 | There is also an automated installer available 12 | [here](http://www.hclausen.net/RevitRubyShell/RevitRubyShellInstaller.application) (IE only) or 13 | [here](http://www.hclausen.net/RevitRubyShell/setup.exe). 14 | 15 | This application is heavily inspired by 16 | [RevitPythonShell](https://github.com/architecture-building-systems/revitpythonshell) 17 | and this 18 | [article about embedding IronRuby](http://blog.jimmy.schementi.com/2009/12/ironruby-rubyconf-2009-part-35.html). 19 | -------------------------------------------------------------------------------- /RevitRubyShell.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.27004.2005 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RevitRubyShell", "RevitRubyShell\RevitRubyShell.csproj", "{7D338F72-25C9-4008-B1A1-E858BFE719A4}" 7 | EndProject 8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RevitRubyShellInstaller", "RevitRubyShellInstaller\RevitRubyShellInstaller.csproj", "{92B8226F-90C2-428C-8981-7F76E488DB04}" 9 | ProjectSection(ProjectDependencies) = postProject 10 | {7D338F72-25C9-4008-B1A1-E858BFE719A4} = {7D338F72-25C9-4008-B1A1-E858BFE719A4} 11 | EndProjectSection 12 | EndProject 13 | Global 14 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 15 | Debug|Any CPU = Debug|Any CPU 16 | Release|Any CPU = Release|Any CPU 17 | EndGlobalSection 18 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 19 | {7D338F72-25C9-4008-B1A1-E858BFE719A4}.Debug|Any CPU.ActiveCfg = Debug|2018 20 | {7D338F72-25C9-4008-B1A1-E858BFE719A4}.Debug|Any CPU.Build.0 = Debug|2018 21 | {7D338F72-25C9-4008-B1A1-E858BFE719A4}.Release|Any CPU.ActiveCfg = Release|2018 22 | {7D338F72-25C9-4008-B1A1-E858BFE719A4}.Release|Any CPU.Build.0 = Release|2018 23 | {92B8226F-90C2-428C-8981-7F76E488DB04}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 24 | {92B8226F-90C2-428C-8981-7F76E488DB04}.Debug|Any CPU.Build.0 = Debug|Any CPU 25 | {92B8226F-90C2-428C-8981-7F76E488DB04}.Release|Any CPU.ActiveCfg = Release|Any CPU 26 | {92B8226F-90C2-428C-8981-7F76E488DB04}.Release|Any CPU.Build.0 = Release|Any CPU 27 | EndGlobalSection 28 | GlobalSection(SolutionProperties) = preSolution 29 | HideSolutionNode = FALSE 30 | EndGlobalSection 31 | GlobalSection(ExtensibilityGlobals) = postSolution 32 | SolutionGuid = {C91C7A3E-82F4-4B26-BCAE-8911BF099092} 33 | EndGlobalSection 34 | EndGlobal 35 | -------------------------------------------------------------------------------- /RevitRubyShell/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | using System.Windows; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("RevitRubyShell")] 9 | [assembly: AssemblyDescription("A Ruby Shell in Autodesk Revit")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("dRofus AS / Håkon Clausen")] 12 | [assembly: AssemblyProduct("RevitRubyShell")] 13 | [assembly: AssemblyCopyright("Copyright © 2015")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | //In order to begin building localizable applications, set 23 | //CultureYouAreCodingWith in your .csproj file 24 | //inside a . For example, if you are using US english 25 | //in your source files, set the to en-US. Then uncomment 26 | //the NeutralResourceLanguage attribute below. Update the "en-US" in 27 | //the line below to match the UICulture setting in the project file. 28 | 29 | //[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)] 30 | 31 | 32 | [assembly: ThemeInfo( 33 | ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located 34 | //(used if a resource is not found in the page, 35 | // or application resource dictionaries) 36 | ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located 37 | //(used if a resource is not found in the page, 38 | // app, or any theme specific resource dictionaries) 39 | )] 40 | 41 | 42 | // Version information for an assembly consists of the following four values: 43 | // 44 | // Major Version 45 | // Minor Version 46 | // Build Number 47 | // Revision 48 | // 49 | // You can specify all the values or you can default the Build and Revision Numbers 50 | // by using the '*' as shown below: 51 | // [assembly: AssemblyVersion("1.0.*")] 52 | [assembly: AssemblyVersion("0.6.*")] 53 | [assembly: AssemblyFileVersion("0.6.0.0")] 54 | -------------------------------------------------------------------------------- /RevitRubyShell/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace RevitRubyShell.Properties { 12 | using System; 13 | 14 | 15 | /// 16 | /// A strongly-typed resource class, for looking up localized strings, etc. 17 | /// 18 | // This class was auto-generated by the StronglyTypedResourceBuilder 19 | // class via a tool like ResGen or Visual Studio. 20 | // To add or remove a member, edit your .ResX file then rerun ResGen 21 | // with the /str option, or rebuild your VS project. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources { 26 | 27 | private static global::System.Resources.ResourceManager resourceMan; 28 | 29 | private static global::System.Globalization.CultureInfo resourceCulture; 30 | 31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 32 | internal Resources() { 33 | } 34 | 35 | /// 36 | /// Returns the cached ResourceManager instance used by this class. 37 | /// 38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 39 | internal static global::System.Resources.ResourceManager ResourceManager { 40 | get { 41 | if (object.ReferenceEquals(resourceMan, null)) { 42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("RevitRubyShell.Properties.Resources", typeof(Resources).Assembly); 43 | resourceMan = temp; 44 | } 45 | return resourceMan; 46 | } 47 | } 48 | 49 | /// 50 | /// Overrides the current thread's CurrentUICulture property for all 51 | /// resource lookups using this strongly typed resource class. 52 | /// 53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 54 | internal static global::System.Globalization.CultureInfo Culture { 55 | get { 56 | return resourceCulture; 57 | } 58 | set { 59 | resourceCulture = value; 60 | } 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /RevitRubyShell/Properties/Resources.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | text/microsoft-resx 107 | 108 | 109 | 2.0 110 | 111 | 112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 113 | 114 | 115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | -------------------------------------------------------------------------------- /RevitRubyShell/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace RevitRubyShell.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /RevitRubyShell/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /RevitRubyShell/RevitRubyShell.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | 2018 6 | 9.0.30729 7 | 2.0 8 | {7D338F72-25C9-4008-B1A1-E858BFE719A4} 9 | Library 10 | Properties 11 | RevitRubyShell 12 | RevitRubyShellRevit2014 13 | RevitRubyShellRevit2015 14 | RevitRubyShellRevit2016 15 | RevitRubyShellRevit2017 16 | RevitRubyShellRevit2018 17 | v4.5.2 18 | 512 19 | {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 20 | 4 21 | 22 | 23 | 24 | 25 | 26 | 27 | 3.5 28 | publish\ 29 | true 30 | Disk 31 | false 32 | Foreground 33 | 7 34 | Days 35 | false 36 | false 37 | true 38 | 0 39 | 1.0.0.%2a 40 | false 41 | false 42 | true 43 | 44 | false 45 | 46 | 47 | true 48 | full 49 | false 50 | bin\Debug\ 51 | DEBUG;TRACE 52 | prompt 53 | 4 54 | AllRules.ruleset 55 | 56 | 57 | pdbonly 58 | true 59 | c:\temp\RevitRubyShell\ 60 | TRACE 61 | prompt 62 | 4 63 | AllRules.ruleset 64 | 65 | 66 | false 67 | 68 | 69 | RevitRubyShellInstaller_TemporaryKey.pfx 70 | 71 | 72 | 73 | ..\lib\IronRuby.dll 74 | 75 | 76 | ..\lib\IronRuby.Libraries.dll 77 | 78 | 79 | 80 | ..\lib\Microsoft.Dynamic.dll 81 | 82 | 83 | ..\lib\Microsoft.Scripting.dll 84 | 85 | 86 | 3.0 87 | 88 | 89 | ..\lib\RevitAPI_2014.dll 90 | 91 | 92 | ..\lib\RevitAPIUI_2014.dll 93 | 94 | 95 | ..\lib\RevitAPI_2015.dll 96 | 97 | 98 | ..\lib\RevitAPIUI_2015.dll 99 | 100 | 101 | ..\lib\RevitAPI_2016.dll 102 | 103 | 104 | ..\lib\RevitAPIUI_2016.dll 105 | 106 | 107 | ..\lib\RevitAPI_2017.dll 108 | 109 | 110 | ..\lib\RevitAPIUI_2017.dll 111 | 112 | 113 | ..\lib\RevitAPI_2018.dll 114 | 115 | 116 | ..\lib\RevitAPIUI_2018.dll 117 | 118 | 119 | 120 | 3.5 121 | 122 | 123 | 124 | 3.5 125 | 126 | 127 | 3.5 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | MSBuild:Compile 137 | Designer 138 | MSBuild:Compile 139 | Designer 140 | 141 | 142 | ShellWindow.xaml 143 | Code 144 | 145 | 146 | 147 | 148 | Code 149 | 150 | 151 | True 152 | True 153 | Resources.resx 154 | 155 | 156 | True 157 | Settings.settings 158 | True 159 | 160 | 161 | 162 | 163 | ResXFileCodeGenerator 164 | Resources.Designer.cs 165 | 166 | 167 | SettingsSingleFileGenerator 168 | Settings.Designer.cs 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | PreserveNewest 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | False 194 | .NET Framework 3.5 SP1 Client Profile 195 | false 196 | 197 | 198 | False 199 | .NET Framework 3.5 SP1 200 | true 201 | 202 | 203 | False 204 | Windows Installer 3.1 205 | true 206 | 207 | 208 | 209 | 216 | 217 | 218 | 219 | -------------------------------------------------------------------------------- /RevitRubyShell/RevitRubyShell.csproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Program 5 | C:\Program Files\Autodesk\Revit 2014\Revit.exe 6 | 7 | 8 | Program 9 | C:\Program Files\Autodesk\Revit Architecture 2011\Program\Revit.exe 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | en-US 19 | false 20 | 21 | -------------------------------------------------------------------------------- /RevitRubyShell/RevitRubyShell.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 20 | 21 | 22 | 23 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /RevitRubyShell/RevitRubyShellApplication.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Windows; 5 | using System.Windows.Media.Imaging; 6 | using System.Xml.Linq; 7 | using System.Linq; 8 | using Autodesk.Revit.Attributes; 9 | using Autodesk.Revit.UI; 10 | using IronRuby; 11 | using Microsoft.Scripting.Hosting; 12 | using SThread = System.Threading; 13 | 14 | namespace RevitRubyShell 15 | { 16 | [Regeneration(RegenerationOption.Manual)] 17 | class RevitRubyShellApplication : IExternalApplication 18 | { 19 | public static RevitRubyShellApplication RevitRubyShell; 20 | 21 | //Ironruby 22 | private ScriptEngine _rubyEngine; 23 | private ScriptScope _scope; 24 | 25 | public ScriptEngine RubyEngine { get { return _rubyEngine; } } 26 | public ScriptScope RubyScope { get { return _scope; } } 27 | 28 | public static Guid DockGuid = new Guid("{C584FF49-4869-4704-BB18-820F7F13F640}"); 29 | 30 | public Queue> Queue = new Queue>(); 31 | 32 | #region IExternalApplication Members 33 | 34 | public Result OnShutdown(UIControlledApplication application) 35 | { 36 | return Result.Succeeded; 37 | } 38 | 39 | public Result OnStartup(UIControlledApplication application) 40 | { 41 | //Create panel 42 | var ribbonPanel = application.CreateRibbonPanel("Ruby scripting"); 43 | var pushButton = ribbonPanel.AddItem( 44 | new PushButtonData( 45 | "RevitRubyShell", 46 | "Open Shell", 47 | typeof(RevitRubyShellApplication).Assembly.Location, 48 | "RevitRubyShell.ShellCommand")) as PushButton; 49 | 50 | pushButton.LargeImage = GetImage("console-5.png"); 51 | 52 | //Start ruby interpreter 53 | _rubyEngine = Ruby.CreateEngine(); 54 | _scope = _rubyEngine.CreateScope(); 55 | 56 | // Warm up the Ruby engine by running some code on another thread: 57 | new SThread.Thread( 58 | () => 59 | { 60 | var defaultScripts = GetSettings().Root.Descendants("OnLoad").ToArray(); 61 | var script = defaultScripts.Any() ? defaultScripts.First().Value.Replace("\n", "\r\n") : ""; 62 | _rubyEngine.Execute(script, _scope); 63 | } ).Start(); 64 | 65 | RevitRubyShellApplication.RevitRubyShell = this; 66 | 67 | application.Idling += (sender, args) => 68 | { 69 | var uiapp = sender as UIApplication; 70 | lock (this.Queue) 71 | { 72 | if (this.Queue.Count <= 0) return; 73 | 74 | var task = this.Queue.Dequeue(); 75 | 76 | // execute the task! 77 | try 78 | { 79 | task(uiapp); 80 | } 81 | catch (Exception ex) 82 | { 83 | MessageBox.Show(ex.Message, "Error"); 84 | } 85 | } 86 | }; 87 | 88 | var win = new ShellWindow(); 89 | application.RegisterDockablePane(new DockablePaneId(DockGuid), "RevitRubyShell", win); 90 | 91 | return Result.Succeeded; 92 | } 93 | 94 | #endregion 95 | 96 | #region App Icon handling 97 | private BitmapImage GetImage(string resourcePath) 98 | { 99 | var image = new BitmapImage(); 100 | 101 | string moduleName = this.GetType().Assembly.GetName().Name; 102 | string resourceLocation = 103 | string.Format("pack://application:,,,/{0};component/{1}", moduleName, 104 | resourcePath); 105 | 106 | try 107 | { 108 | image.BeginInit(); 109 | image.CacheOption = BitmapCacheOption.OnLoad; 110 | image.CreateOptions = BitmapCreateOptions.IgnoreImageCache; 111 | image.UriSource = new Uri(resourceLocation); 112 | image.EndInit(); 113 | } 114 | catch (Exception e) 115 | { 116 | System.Diagnostics.Trace.WriteLine(e.ToString()); 117 | } 118 | 119 | return image; 120 | } 121 | 122 | #endregion 123 | 124 | public static XDocument GetSettings() 125 | { 126 | // Whould be nice to use YAML instead! 127 | var assemblyFolder = new FileInfo(typeof(RevitRubyShellApplication).Assembly.Location).DirectoryName; 128 | var settingsFile = Path.Combine(assemblyFolder, "RevitRubyShell.xml"); 129 | return XDocument.Load(settingsFile); 130 | } 131 | 132 | public string LastCode { get; set; } 133 | 134 | public bool ExecuteCode(string code, out string output) 135 | { 136 | try 137 | { 138 | // Run the code 139 | var result = _rubyEngine.Execute(code, _scope); 140 | // Write the result to the output window 141 | output = string.Format("=> {0}\n", ((IronRuby.Runtime.RubyContext)Microsoft.Scripting.Hosting.Providers.HostingHelpers.GetLanguageContext(_rubyEngine)).Inspect(result)); 142 | return true; 143 | } 144 | catch (Microsoft.Scripting.SyntaxErrorException e) 145 | { 146 | output = string.Format("Syntax error at line {1}: {0}\n", e.Message, e.Line); 147 | } 148 | catch (Exception e) 149 | { 150 | var exceptionService = _rubyEngine.GetService(); 151 | string message, typeName; 152 | exceptionService.GetExceptionMessage(e, out message, out typeName); 153 | output = string.Format("{0} ({1})\n", message, typeName); 154 | } 155 | 156 | return false; 157 | } 158 | } 159 | } 160 | -------------------------------------------------------------------------------- /RevitRubyShell/RevitRubyShellInstaller_TemporaryKey.pfx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakonhc/RevitRubyShell/9fc7e30ce38c21c308e060ca52120dbff0913f89/RevitRubyShell/RevitRubyShellInstaller_TemporaryKey.pfx -------------------------------------------------------------------------------- /RevitRubyShell/ShellCommand.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.Revit.UI; 2 | using Autodesk.Revit.DB; 3 | using Autodesk.Revit.Attributes; 4 | 5 | namespace RevitRubyShell 6 | { 7 | [Regeneration(RegenerationOption.Manual)] 8 | [Transaction(TransactionMode.Manual)] 9 | public class ShellCommand : IExternalCommand 10 | { 11 | public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) 12 | { 13 | var dp = commandData.Application.GetDockablePane(new DockablePaneId(RevitRubyShellApplication.DockGuid)); 14 | dp.Show(); 15 | return Result.Succeeded; 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /RevitRubyShell/ShellWindow.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 24 | 27 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | Welcome to RevitRubyShell for Revit 2014/2015/2016/2017/2018 44 | 45 | Håkon Clausen, 2017 46 | 47 | 48 | RevitRubyShell lets you execute Ruby code in the Autodesk Revit API. 49 | 50 | 51 | All Ruby code typed in the 52 | Interactive tab can be run by pressing Ctrl-Enter or the play button on the toolbar. 53 | If you don't want to run everything,just select the text you wan to run and press 54 | the same key combination. You can save and load scrips from the toolbar 55 | and Ctrl-W will clear the output window below. 56 | 57 | 58 | Use the special _app variable to get hold of the Revit Application object. 59 | 60 | Enjoy! 61 | 62 | 63 | 64 | 65 | 69 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /RevitRubyShell/ShellWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Linq; 4 | using System.Windows; 5 | using System.Windows.Controls; 6 | using System.Windows.Documents; 7 | using System.Windows.Input; 8 | using Autodesk.Revit.UI; 9 | using Microsoft.Scripting.Hosting; 10 | using TextBox = System.Windows.Controls.TextBox; 11 | 12 | namespace RevitRubyShell 13 | { 14 | public partial class ShellWindow : IDockablePaneProvider 15 | { 16 | 17 | private ScriptEngine rubyEngine; 18 | private IronRuby.Runtime.RubyContext rubyContext; 19 | private string filename; 20 | private RevitRubyShellApplication myapp; 21 | 22 | public TextBox History => history; 23 | 24 | public TextBox Output => output; 25 | 26 | public TextBox Code => code; 27 | 28 | public GridSplitter ConsoleSplitter => consoleSplitter; 29 | 30 | public TextBoxBuffer OutputBuffer { get; internal set; } 31 | 32 | public ShellWindow() 33 | { 34 | InitializeComponent(); 35 | myapp = RevitRubyShellApplication.RevitRubyShell; 36 | 37 | this.Loaded += (s, e) => 38 | { 39 | var defaultScripts = RevitRubyShellApplication.GetSettings().Root.Descendants("DefaultScript").ToArray(); 40 | var lastCode = myapp.LastCode; 41 | if (string.IsNullOrEmpty(lastCode)) 42 | { 43 | Code.Text = defaultScripts.Any() ? defaultScripts.First().Value.Replace("\n", "\r\n") : ""; 44 | } 45 | else 46 | { 47 | Code.Text = lastCode; 48 | } 49 | 50 | OutputBuffer = new TextBoxBuffer(output); 51 | 52 | // Initialize IronRuby 53 | rubyEngine = myapp.RubyEngine; 54 | rubyContext = (IronRuby.Runtime.RubyContext)Microsoft.Scripting.Hosting.Providers.HostingHelpers.GetLanguageContext(rubyEngine); 55 | 56 | 57 | // redirect stdout to the output window 58 | rubyContext.StandardOutput = OutputBuffer; 59 | }; 60 | 61 | this.Unloaded += (s, e) => 62 | { 63 | myapp.LastCode = Code.Text; 64 | }; 65 | } 66 | 67 | 68 | /// 69 | /// Runs all code from a TextBox if there is no selection, otherwise 70 | /// just runs the selection. 71 | /// 72 | public void RunCode() 73 | { 74 | var code = Code.Text; 75 | RevitRubyShellApplication.RevitRubyShell.Queue.Enqueue(application => 76 | { 77 | myapp.RubyScope.SetVariable("_app", application); 78 | string output; 79 | var result = myapp.ExecuteCode(code, out output); 80 | if (result) 81 | { 82 | OutputBuffer.Write(output); 83 | // add the code to the history 84 | history.AppendText(string.Format("{0}\n# {1}", code, output)); 85 | } 86 | else 87 | { 88 | OutputBuffer.Write(output); 89 | } 90 | }); 91 | } 92 | 93 | //Save code buffer 94 | private void save_code(object sender, RoutedEventArgs e) 95 | { 96 | // Configure save file dialog box 97 | var dlg = new Microsoft.Win32.SaveFileDialog(); 98 | dlg.FileName = filename ?? "command.rb"; // Default file name 99 | dlg.DefaultExt = ".rb"; // Default file extension 100 | dlg.Filter = "Ruby code (.rb)|*.rb"; // Filter files by extension 101 | 102 | // Process save file dialog box results 103 | if (dlg.ShowDialog() == true) 104 | { 105 | // Save document 106 | this.filename = dlg.FileName; 107 | File.WriteAllText(this.filename, Code.Text); 108 | this.Title = "RevitRubyShell " + this.filename; 109 | } 110 | } 111 | 112 | //Open rb file 113 | private void open_code(object sender, RoutedEventArgs e) 114 | { 115 | 116 | // Configure open file dialog box 117 | var dlg = new Microsoft.Win32.OpenFileDialog(); 118 | dlg.FileName = filename ?? "command.rb"; // Default file name 119 | dlg.DefaultExt = ".rb"; // Default file extension 120 | dlg.Filter = "Ruby code (.rb)|*.rb"; // Filter files by extension 121 | 122 | // Process open file dialog box results 123 | if (dlg.ShowDialog() == true) 124 | { 125 | // Open document 126 | code.Text = File.ReadAllText(dlg.FileName); 127 | this.filename = dlg.FileName; 128 | this.Title = "RevitRubyShell " + this.filename; 129 | } 130 | } 131 | 132 | private void run_code(object sender, RoutedEventArgs e) 133 | { 134 | RunCode(); 135 | } 136 | 137 | public void SetupDockablePane(DockablePaneProviderData data) 138 | { 139 | data.FrameworkElement = this; 140 | data.InitialState = new DockablePaneState 141 | { 142 | DockPosition = DockPosition.Bottom 143 | }; 144 | } 145 | 146 | private void _code_KeyDown(object sender, KeyEventArgs e) 147 | { 148 | if (e.IsCtrl(Key.Enter)) 149 | { 150 | RunCode(); 151 | e.Handled = true; 152 | } 153 | else if (e.IsCtrl(Key.W)) 154 | { 155 | Output.Clear(); 156 | e.Handled = true; 157 | } 158 | else if (e.IsCtrl(Key.S)) 159 | { 160 | save_code(null, null); 161 | e.Handled = true; 162 | } 163 | } 164 | } 165 | 166 | /// 167 | /// Simple TextBox Buffer class 168 | /// 169 | public class TextBoxBuffer 170 | { 171 | private readonly TextBox box; 172 | 173 | public TextBoxBuffer(TextBox t) 174 | { 175 | box = t; 176 | } 177 | 178 | public void Write(string str) 179 | { 180 | box.Dispatcher.BeginInvoke((Action)(() => 181 | { 182 | box.AppendText(str); 183 | box.ScrollToEnd(); 184 | })); 185 | } 186 | } 187 | 188 | public static class ExtensionMethods 189 | { 190 | public static bool IsCtrl(this KeyEventArgs keyEvent, Key value) 191 | { 192 | return keyEvent.KeyboardDevice.Modifiers == ModifierKeys.Control 193 | && keyEvent.Key == value; 194 | } 195 | 196 | public static bool IsCtrlShift(this KeyEventArgs keyEvent, Key value) 197 | { 198 | return keyEvent.KeyboardDevice.Modifiers == ModifierKeys.Control 199 | && keyEvent.KeyboardDevice.Modifiers == ModifierKeys.Shift 200 | && keyEvent.Key == value; 201 | } 202 | 203 | public static bool Is(this KeyEventArgs keyEvent, Key value) 204 | { 205 | return keyEvent.KeyboardDevice.Modifiers == ModifierKeys.None 206 | && keyEvent.Key == value; 207 | } 208 | 209 | public static void SetText(this RichTextBox rtb, string value) 210 | { 211 | rtb.Document.Blocks.Clear(); 212 | rtb.AppendText(value); 213 | } 214 | 215 | public static string GetText(this RichTextBox rtb) 216 | { 217 | if(!rtb.Selection.IsEmpty) 218 | return rtb.Selection.Text; 219 | TextRange textRange = new TextRange(rtb.Document.ContentStart, rtb.Document.ContentEnd); 220 | return textRange.Text; 221 | 222 | } 223 | } 224 | } -------------------------------------------------------------------------------- /RevitRubyShell/console-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakonhc/RevitRubyShell/9fc7e30ce38c21c308e060ca52120dbff0913f89/RevitRubyShell/console-5.png -------------------------------------------------------------------------------- /RevitRubyShell/disk_blue.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakonhc/RevitRubyShell/9fc7e30ce38c21c308e060ca52120dbff0913f89/RevitRubyShell/disk_blue.ico -------------------------------------------------------------------------------- /RevitRubyShell/folder_out.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakonhc/RevitRubyShell/9fc7e30ce38c21c308e060ca52120dbff0913f89/RevitRubyShell/folder_out.ico -------------------------------------------------------------------------------- /RevitRubyShell/media_play.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakonhc/RevitRubyShell/9fc7e30ce38c21c308e060ca52120dbff0913f89/RevitRubyShell/media_play.ico -------------------------------------------------------------------------------- /RevitRubyShell/media_play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakonhc/RevitRubyShell/9fc7e30ce38c21c308e060ca52120dbff0913f89/RevitRubyShell/media_play.png -------------------------------------------------------------------------------- /RevitRubyShellInstaller/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows; 3 | using Autodesk.RevitAddIns; 4 | using System.IO; 5 | using System.Reflection; 6 | 7 | namespace RevitRubyShellInstaller 8 | { 9 | /// 10 | /// Installes the RevitRubyShell in Revit with a manifest file 11 | /// 12 | class RevitRubyShellInstaller 13 | { 14 | static void Main(string[] args) 15 | { 16 | try 17 | { 18 | if (!Install()) 19 | { 20 | MessageBox.Show("RevitRubyShell was not installed. No valid Revit 2011-> installation was found", "RevitRubyShell"); 21 | } 22 | } 23 | catch (Exception e) 24 | { 25 | MessageBox.Show(e.Message, "RevitRubyShell"); 26 | } 27 | } 28 | 29 | private static readonly Guid AppGuid = new Guid("8c90ec3d-b0ef-4b89-be76-96aab8bcd465"); 30 | private const string AppClass = "RevitRubyShell.RevitRubyShellApplication"; 31 | 32 | public static bool Install() 33 | { 34 | if (RevitProductUtility.GetAllInstalledRevitProducts().Count == 0) 35 | { 36 | return false; 37 | } 38 | 39 | foreach (var product in RevitProductUtility.GetAllInstalledRevitProducts()) 40 | { 41 | if (product.Version == RevitVersion.Unknown) continue; 42 | var addinFile = product.CurrentUserAddInFolder + "\\rubyshell.addin"; 43 | var pluginFile = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + string.Format("\\RevitRubyShell{0}.dll", product.Version); 44 | var manifest = File.Exists(addinFile) ? AddInManifestUtility.GetRevitAddInManifest(addinFile) : new RevitAddInManifest(); 45 | 46 | if (!File.Exists(pluginFile)) 47 | { 48 | MessageBox.Show(string.Format("{0} is not supported by this version of RevitRubyShell", product.Version), "RevitRubyShell", MessageBoxButton.OK, MessageBoxImage.Error); 49 | continue; 50 | } 51 | 52 | //Search manifest for app 53 | RevitAddInApplication app = null; 54 | foreach (var a in manifest.AddInApplications) 55 | { 56 | if (a.AddInId == AppGuid) 57 | { 58 | app = a; 59 | } 60 | } 61 | 62 | if (app == null) 63 | { 64 | app = new RevitAddInApplication("RevitRubyShell", pluginFile, AppGuid, AppClass,"NOSYK"); 65 | manifest.AddInApplications.Add(app); 66 | } 67 | else 68 | { 69 | app.Assembly = pluginFile; 70 | app.FullClassName = AppClass; 71 | } 72 | 73 | if (manifest.Name == null) 74 | { 75 | manifest.SaveAs(addinFile); 76 | } 77 | else 78 | { 79 | manifest.Save(); 80 | } 81 | 82 | MessageBox.Show(string.Format("RevitRubyShell for {0} was successully installed ", product.Version), "RevitRubyShell"); 83 | } 84 | 85 | return true; 86 | } 87 | } 88 | } 89 | -------------------------------------------------------------------------------- /RevitRubyShellInstaller/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("RevitRubyShellInstaller")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("RevitRubyShellInstaller")] 13 | [assembly: AssemblyCopyright("Copyright © 2010")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("77544a37-f527-4d5a-8729-36025681f4d6")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /RevitRubyShellInstaller/Properties/app.manifest: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /RevitRubyShellInstaller/RevitRubyShellInstaller.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | 2018 6 | 9.0.30729 7 | 2.0 8 | {92B8226F-90C2-428C-8981-7F76E488DB04} 9 | WinExe 10 | Properties 11 | RevitRubyShellInstaller 12 | RevitRubyShellInstaller 13 | v4.5.2 14 | 512 15 | true 16 | BF3C1380B12CB402CD161667B6EDC67B2393E18E 17 | 18 | 19 | true 20 | LocalIntranet 21 | Properties\app.manifest 22 | false 23 | 24 | 25 | 26 | 27 | 28 | 29 | 3.5 30 | 31 | \\db.nosyko.no\hakonhc\www\RevitRubyShell\ 32 | true 33 | Web 34 | true 35 | Foreground 36 | 7 37 | Days 38 | false 39 | false 40 | true 41 | http://www.hclausen.net/RevitRubyShell/ 42 | RevitRubyShell 43 | Nosyko AS 44 | true 45 | publish.htm 46 | 17 47 | 1.3.0.%2a 48 | false 49 | true 50 | true 51 | 52 | 53 | true 54 | full 55 | false 56 | bin\Debug\ 57 | DEBUG;TRACE 58 | prompt 59 | 4 60 | AllRules.ruleset 61 | false 62 | 63 | 64 | pdbonly 65 | true 66 | bin\Release\ 67 | TRACE 68 | prompt 69 | 4 70 | AnyCPU 71 | AllRules.ruleset 72 | false 73 | 74 | 75 | false 76 | 77 | 78 | RevitRubyShellInstaller_TemporaryKey.pfx 79 | 80 | 81 | 82 | False 83 | 84 | 85 | False 86 | ..\lib\IronRuby.Libraries.dll 87 | 88 | 89 | False 90 | ..\lib\IronRuby.Libraries.Yaml.dll 91 | 92 | 93 | 3.0 94 | 95 | 96 | 3.0 97 | 98 | 99 | ..\lib\RevitAddInUtility.dll 100 | 101 | 102 | 103 | 3.5 104 | 105 | 106 | 107 | 3.0 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | False 117 | Microsoft .NET Framework 4.5 %28x86 and x64%29 118 | true 119 | 120 | 121 | False 122 | .NET Framework 3.5 SP1 Client Profile 123 | false 124 | 125 | 126 | False 127 | .NET Framework 2.0 %28x86%29 128 | false 129 | 130 | 131 | False 132 | .NET Framework 3.0 %28x86%29 133 | false 134 | 135 | 136 | False 137 | .NET Framework 3.5 138 | false 139 | 140 | 141 | False 142 | .NET Framework 3.5 SP1 143 | true 144 | 145 | 146 | False 147 | Windows Installer 3.1 148 | true 149 | 150 | 151 | 152 | 153 | {7D338F72-25C9-4008-B1A1-E858BFE719A4} 154 | RevitRubyShell 155 | 156 | 157 | 158 | 159 | False 160 | 161 | 162 | 163 | 164 | Include 165 | True 166 | Assembly 167 | 168 | 169 | False 170 | 171 | 172 | 173 | 174 | Include 175 | True 176 | Assembly 177 | 178 | 179 | False 180 | 181 | 182 | 183 | 184 | Include 185 | True 186 | Assembly 187 | 188 | 189 | False 190 | 191 | 192 | 193 | 194 | Include 195 | True 196 | Assembly 197 | 198 | 199 | False 200 | 201 | 202 | 203 | 204 | Include 205 | True 206 | Assembly 207 | 208 | 209 | False 210 | 211 | 212 | 213 | 214 | Exclude 215 | True 216 | Satellite 217 | 218 | 219 | False 220 | 221 | 222 | 223 | 224 | Include 225 | True 226 | Assembly 227 | 228 | 229 | False 230 | 231 | 232 | 233 | 234 | Include 235 | True 236 | Assembly 237 | 238 | 239 | False 240 | 241 | 242 | 243 | 244 | Include 245 | True 246 | Assembly 247 | 248 | 249 | False 250 | 251 | 252 | 253 | 254 | Include 255 | True 256 | Assembly 257 | 258 | 259 | False 260 | 261 | 262 | 263 | 264 | Exclude 265 | True 266 | Assembly 267 | 268 | 269 | False 270 | 271 | 272 | 273 | 274 | Exclude 275 | True 276 | Assembly 277 | 278 | 279 | False 280 | 281 | 282 | 283 | 284 | Include 285 | True 286 | File 287 | 288 | 289 | False 290 | 291 | 292 | 293 | 294 | Exclude 295 | True 296 | Assembly 297 | 298 | 299 | False 300 | 301 | 302 | 303 | 304 | Exclude 305 | True 306 | Assembly 307 | 308 | 309 | 310 | 311 | 312 | 313 | 314 | 315 | 316 | RevitRubyShell.xml 317 | 318 | 319 | 320 | 321 | 322 | 323 | 324 | 325 | 326 | -------------------------------------------------------------------------------- /RevitRubyShellInstaller/RevitRubyShellInstaller.csproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | \\db.nosyko.no\hakonhc\www\RevitRubyShell\|publish\|z:\www\RevitRubyShell\|http://www.hclausen.net/RevitRubyShell/ 5 | http://www.hclausen.net/RevitRubyShell/ 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | en-US 15 | false 16 | 17 | 18 | false 19 | 20 | -------------------------------------------------------------------------------- /RevitRubyShellInstaller/RevitRubyShellInstaller_TemporaryKey.pfx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakonhc/RevitRubyShell/9fc7e30ce38c21c308e060ca52120dbff0913f89/RevitRubyShellInstaller/RevitRubyShellInstaller_TemporaryKey.pfx -------------------------------------------------------------------------------- /RevitRubyShellInstaller/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /Setup1/Setup1.vdproj: -------------------------------------------------------------------------------- 1 | "DeployProject" 2 | { 3 | "VSVersion" = "3:800" 4 | "ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}" 5 | "IsWebType" = "8:FALSE" 6 | "ProjectName" = "8:Setup" 7 | "LanguageId" = "3:1033" 8 | "CodePage" = "3:1252" 9 | "UILanguageId" = "3:1033" 10 | "SccProjectName" = "8:" 11 | "SccLocalPath" = "8:" 12 | "SccAuxPath" = "8:" 13 | "SccProvider" = "8:" 14 | "Hierarchy" 15 | { 16 | "Entry" 17 | { 18 | "MsmKey" = "8:_1F25A7A3E966A9B49D2421531098808F" 19 | "OwnerKey" = "8:_E5D7AA4102D84BD186418F9F4BD16D36" 20 | "MsmSig" = "8:_UNDEFINED" 21 | } 22 | "Entry" 23 | { 24 | "MsmKey" = "8:_20FA8454BDC008B98274C65E4C0055D1" 25 | "OwnerKey" = "8:_E5D7AA4102D84BD186418F9F4BD16D36" 26 | "MsmSig" = "8:_UNDEFINED" 27 | } 28 | "Entry" 29 | { 30 | "MsmKey" = "8:_20FA8454BDC008B98274C65E4C0055D1" 31 | "OwnerKey" = "8:_5B86B6FDE87780DCEF84970245844283" 32 | "MsmSig" = "8:_UNDEFINED" 33 | } 34 | "Entry" 35 | { 36 | "MsmKey" = "8:_2A441C556AF7282B2C56A2D462948D93" 37 | "OwnerKey" = "8:_1F25A7A3E966A9B49D2421531098808F" 38 | "MsmSig" = "8:_UNDEFINED" 39 | } 40 | "Entry" 41 | { 42 | "MsmKey" = "8:_2A441C556AF7282B2C56A2D462948D93" 43 | "OwnerKey" = "8:_E5D7AA4102D84BD186418F9F4BD16D36" 44 | "MsmSig" = "8:_UNDEFINED" 45 | } 46 | "Entry" 47 | { 48 | "MsmKey" = "8:_30A77596C7D46001767716CD920616EC" 49 | "OwnerKey" = "8:_E5D7AA4102D84BD186418F9F4BD16D36" 50 | "MsmSig" = "8:_UNDEFINED" 51 | } 52 | "Entry" 53 | { 54 | "MsmKey" = "8:_30A77596C7D46001767716CD920616EC" 55 | "OwnerKey" = "8:_2A441C556AF7282B2C56A2D462948D93" 56 | "MsmSig" = "8:_UNDEFINED" 57 | } 58 | "Entry" 59 | { 60 | "MsmKey" = "8:_5B86B6FDE87780DCEF84970245844283" 61 | "OwnerKey" = "8:_E5D7AA4102D84BD186418F9F4BD16D36" 62 | "MsmSig" = "8:_UNDEFINED" 63 | } 64 | "Entry" 65 | { 66 | "MsmKey" = "8:_60150142D03A52FA1A130C6DEE890FC5" 67 | "OwnerKey" = "8:_20FA8454BDC008B98274C65E4C0055D1" 68 | "MsmSig" = "8:_UNDEFINED" 69 | } 70 | "Entry" 71 | { 72 | "MsmKey" = "8:_60150142D03A52FA1A130C6DEE890FC5" 73 | "OwnerKey" = "8:_E5D7AA4102D84BD186418F9F4BD16D36" 74 | "MsmSig" = "8:_UNDEFINED" 75 | } 76 | "Entry" 77 | { 78 | "MsmKey" = "8:_60150142D03A52FA1A130C6DEE890FC5" 79 | "OwnerKey" = "8:_5B86B6FDE87780DCEF84970245844283" 80 | "MsmSig" = "8:_UNDEFINED" 81 | } 82 | "Entry" 83 | { 84 | "MsmKey" = "8:_6A50AF42065A3D281099638DFF5DBF53" 85 | "OwnerKey" = "8:_BCE5F4D7EF16184EA5E79DEB8C373A4D" 86 | "MsmSig" = "8:_UNDEFINED" 87 | } 88 | "Entry" 89 | { 90 | "MsmKey" = "8:_6A50AF42065A3D281099638DFF5DBF53" 91 | "OwnerKey" = "8:_E5D7AA4102D84BD186418F9F4BD16D36" 92 | "MsmSig" = "8:_UNDEFINED" 93 | } 94 | "Entry" 95 | { 96 | "MsmKey" = "8:_6A50AF42065A3D281099638DFF5DBF53" 97 | "OwnerKey" = "8:_1F25A7A3E966A9B49D2421531098808F" 98 | "MsmSig" = "8:_UNDEFINED" 99 | } 100 | "Entry" 101 | { 102 | "MsmKey" = "8:_6A50AF42065A3D281099638DFF5DBF53" 103 | "OwnerKey" = "8:_2A441C556AF7282B2C56A2D462948D93" 104 | "MsmSig" = "8:_UNDEFINED" 105 | } 106 | "Entry" 107 | { 108 | "MsmKey" = "8:_7BC9904394311221DAF1EFB1D2A1AED6" 109 | "OwnerKey" = "8:_E5D7AA4102D84BD186418F9F4BD16D36" 110 | "MsmSig" = "8:_UNDEFINED" 111 | } 112 | "Entry" 113 | { 114 | "MsmKey" = "8:_7BC9904394311221DAF1EFB1D2A1AED6" 115 | "OwnerKey" = "8:_2A441C556AF7282B2C56A2D462948D93" 116 | "MsmSig" = "8:_UNDEFINED" 117 | } 118 | "Entry" 119 | { 120 | "MsmKey" = "8:_7BC9904394311221DAF1EFB1D2A1AED6" 121 | "OwnerKey" = "8:_1F25A7A3E966A9B49D2421531098808F" 122 | "MsmSig" = "8:_UNDEFINED" 123 | } 124 | "Entry" 125 | { 126 | "MsmKey" = "8:_7BC9904394311221DAF1EFB1D2A1AED6" 127 | "OwnerKey" = "8:_BCE5F4D7EF16184EA5E79DEB8C373A4D" 128 | "MsmSig" = "8:_UNDEFINED" 129 | } 130 | "Entry" 131 | { 132 | "MsmKey" = "8:_7DAAF3BC168D003314C6C664B9D1F5D9" 133 | "OwnerKey" = "8:_60150142D03A52FA1A130C6DEE890FC5" 134 | "MsmSig" = "8:_UNDEFINED" 135 | } 136 | "Entry" 137 | { 138 | "MsmKey" = "8:_7DAAF3BC168D003314C6C664B9D1F5D9" 139 | "OwnerKey" = "8:_E5D7AA4102D84BD186418F9F4BD16D36" 140 | "MsmSig" = "8:_UNDEFINED" 141 | } 142 | "Entry" 143 | { 144 | "MsmKey" = "8:_7DAAF3BC168D003314C6C664B9D1F5D9" 145 | "OwnerKey" = "8:_5B86B6FDE87780DCEF84970245844283" 146 | "MsmSig" = "8:_UNDEFINED" 147 | } 148 | "Entry" 149 | { 150 | "MsmKey" = "8:_7DAAF3BC168D003314C6C664B9D1F5D9" 151 | "OwnerKey" = "8:_20FA8454BDC008B98274C65E4C0055D1" 152 | "MsmSig" = "8:_UNDEFINED" 153 | } 154 | "Entry" 155 | { 156 | "MsmKey" = "8:_7DAAF3BC168D003314C6C664B9D1F5D9" 157 | "OwnerKey" = "8:_F342303DBF58E8212AD62C483D747896" 158 | "MsmSig" = "8:_UNDEFINED" 159 | } 160 | "Entry" 161 | { 162 | "MsmKey" = "8:_9B3C0DF4D6FE067A369F8F711ACD2912" 163 | "OwnerKey" = "8:_7DAAF3BC168D003314C6C664B9D1F5D9" 164 | "MsmSig" = "8:_UNDEFINED" 165 | } 166 | "Entry" 167 | { 168 | "MsmKey" = "8:_9B3C0DF4D6FE067A369F8F711ACD2912" 169 | "OwnerKey" = "8:_E5D7AA4102D84BD186418F9F4BD16D36" 170 | "MsmSig" = "8:_UNDEFINED" 171 | } 172 | "Entry" 173 | { 174 | "MsmKey" = "8:_9B3C0DF4D6FE067A369F8F711ACD2912" 175 | "OwnerKey" = "8:_20FA8454BDC008B98274C65E4C0055D1" 176 | "MsmSig" = "8:_UNDEFINED" 177 | } 178 | "Entry" 179 | { 180 | "MsmKey" = "8:_9B3C0DF4D6FE067A369F8F711ACD2912" 181 | "OwnerKey" = "8:_60150142D03A52FA1A130C6DEE890FC5" 182 | "MsmSig" = "8:_UNDEFINED" 183 | } 184 | "Entry" 185 | { 186 | "MsmKey" = "8:_9B3C0DF4D6FE067A369F8F711ACD2912" 187 | "OwnerKey" = "8:_F342303DBF58E8212AD62C483D747896" 188 | "MsmSig" = "8:_UNDEFINED" 189 | } 190 | "Entry" 191 | { 192 | "MsmKey" = "8:_BCE5F4D7EF16184EA5E79DEB8C373A4D" 193 | "OwnerKey" = "8:_E5D7AA4102D84BD186418F9F4BD16D36" 194 | "MsmSig" = "8:_UNDEFINED" 195 | } 196 | "Entry" 197 | { 198 | "MsmKey" = "8:_BCE5F4D7EF16184EA5E79DEB8C373A4D" 199 | "OwnerKey" = "8:_1F25A7A3E966A9B49D2421531098808F" 200 | "MsmSig" = "8:_UNDEFINED" 201 | } 202 | "Entry" 203 | { 204 | "MsmKey" = "8:_E5D7AA4102D84BD186418F9F4BD16D36" 205 | "OwnerKey" = "8:_UNDEFINED" 206 | "MsmSig" = "8:_UNDEFINED" 207 | } 208 | "Entry" 209 | { 210 | "MsmKey" = "8:_F342303DBF58E8212AD62C483D747896" 211 | "OwnerKey" = "8:_60150142D03A52FA1A130C6DEE890FC5" 212 | "MsmSig" = "8:_UNDEFINED" 213 | } 214 | "Entry" 215 | { 216 | "MsmKey" = "8:_F342303DBF58E8212AD62C483D747896" 217 | "OwnerKey" = "8:_E5D7AA4102D84BD186418F9F4BD16D36" 218 | "MsmSig" = "8:_UNDEFINED" 219 | } 220 | "Entry" 221 | { 222 | "MsmKey" = "8:_F342303DBF58E8212AD62C483D747896" 223 | "OwnerKey" = "8:_5B86B6FDE87780DCEF84970245844283" 224 | "MsmSig" = "8:_UNDEFINED" 225 | } 226 | "Entry" 227 | { 228 | "MsmKey" = "8:_F342303DBF58E8212AD62C483D747896" 229 | "OwnerKey" = "8:_20FA8454BDC008B98274C65E4C0055D1" 230 | "MsmSig" = "8:_UNDEFINED" 231 | } 232 | "Entry" 233 | { 234 | "MsmKey" = "8:_UNDEFINED" 235 | "OwnerKey" = "8:_E5D7AA4102D84BD186418F9F4BD16D36" 236 | "MsmSig" = "8:_UNDEFINED" 237 | } 238 | "Entry" 239 | { 240 | "MsmKey" = "8:_UNDEFINED" 241 | "OwnerKey" = "8:_5B86B6FDE87780DCEF84970245844283" 242 | "MsmSig" = "8:_UNDEFINED" 243 | } 244 | "Entry" 245 | { 246 | "MsmKey" = "8:_UNDEFINED" 247 | "OwnerKey" = "8:_20FA8454BDC008B98274C65E4C0055D1" 248 | "MsmSig" = "8:_UNDEFINED" 249 | } 250 | "Entry" 251 | { 252 | "MsmKey" = "8:_UNDEFINED" 253 | "OwnerKey" = "8:_60150142D03A52FA1A130C6DEE890FC5" 254 | "MsmSig" = "8:_UNDEFINED" 255 | } 256 | "Entry" 257 | { 258 | "MsmKey" = "8:_UNDEFINED" 259 | "OwnerKey" = "8:_F342303DBF58E8212AD62C483D747896" 260 | "MsmSig" = "8:_UNDEFINED" 261 | } 262 | "Entry" 263 | { 264 | "MsmKey" = "8:_UNDEFINED" 265 | "OwnerKey" = "8:_7DAAF3BC168D003314C6C664B9D1F5D9" 266 | "MsmSig" = "8:_UNDEFINED" 267 | } 268 | "Entry" 269 | { 270 | "MsmKey" = "8:_UNDEFINED" 271 | "OwnerKey" = "8:_9B3C0DF4D6FE067A369F8F711ACD2912" 272 | "MsmSig" = "8:_UNDEFINED" 273 | } 274 | "Entry" 275 | { 276 | "MsmKey" = "8:_UNDEFINED" 277 | "OwnerKey" = "8:_1F25A7A3E966A9B49D2421531098808F" 278 | "MsmSig" = "8:_UNDEFINED" 279 | } 280 | "Entry" 281 | { 282 | "MsmKey" = "8:_UNDEFINED" 283 | "OwnerKey" = "8:_2A441C556AF7282B2C56A2D462948D93" 284 | "MsmSig" = "8:_UNDEFINED" 285 | } 286 | "Entry" 287 | { 288 | "MsmKey" = "8:_UNDEFINED" 289 | "OwnerKey" = "8:_BCE5F4D7EF16184EA5E79DEB8C373A4D" 290 | "MsmSig" = "8:_UNDEFINED" 291 | } 292 | "Entry" 293 | { 294 | "MsmKey" = "8:_UNDEFINED" 295 | "OwnerKey" = "8:_6A50AF42065A3D281099638DFF5DBF53" 296 | "MsmSig" = "8:_UNDEFINED" 297 | } 298 | "Entry" 299 | { 300 | "MsmKey" = "8:_UNDEFINED" 301 | "OwnerKey" = "8:_30A77596C7D46001767716CD920616EC" 302 | "MsmSig" = "8:_UNDEFINED" 303 | } 304 | "Entry" 305 | { 306 | "MsmKey" = "8:_UNDEFINED" 307 | "OwnerKey" = "8:_7BC9904394311221DAF1EFB1D2A1AED6" 308 | "MsmSig" = "8:_UNDEFINED" 309 | } 310 | } 311 | "Configurations" 312 | { 313 | "Debug" 314 | { 315 | "DisplayName" = "8:Debug" 316 | "IsDebugOnly" = "11:TRUE" 317 | "IsReleaseOnly" = "11:FALSE" 318 | "OutputFilename" = "8:Debug\\RevitRubyShell.msi" 319 | "PackageFilesAs" = "3:2" 320 | "PackageFileSize" = "3:-2147483648" 321 | "CabType" = "3:1" 322 | "Compression" = "3:2" 323 | "SignOutput" = "11:FALSE" 324 | "CertificateFile" = "8:" 325 | "PrivateKeyFile" = "8:" 326 | "TimeStampServer" = "8:" 327 | "InstallerBootstrapper" = "3:2" 328 | "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}" 329 | { 330 | "Enabled" = "11:TRUE" 331 | "PromptEnabled" = "11:TRUE" 332 | "PrerequisitesLocation" = "2:1" 333 | "Url" = "8:" 334 | "ComponentsUrl" = "8:" 335 | } 336 | } 337 | "Release" 338 | { 339 | "DisplayName" = "8:Release" 340 | "IsDebugOnly" = "11:FALSE" 341 | "IsReleaseOnly" = "11:TRUE" 342 | "OutputFilename" = "8:Release\\RevitRubyShell.msi" 343 | "PackageFilesAs" = "3:2" 344 | "PackageFileSize" = "3:-2147483648" 345 | "CabType" = "3:1" 346 | "Compression" = "3:2" 347 | "SignOutput" = "11:FALSE" 348 | "CertificateFile" = "8:" 349 | "PrivateKeyFile" = "8:" 350 | "TimeStampServer" = "8:" 351 | "InstallerBootstrapper" = "3:2" 352 | "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}" 353 | { 354 | "Enabled" = "11:TRUE" 355 | "PromptEnabled" = "11:TRUE" 356 | "PrerequisitesLocation" = "2:1" 357 | "Url" = "8:" 358 | "ComponentsUrl" = "8:" 359 | } 360 | } 361 | } 362 | "Deployable" 363 | { 364 | "CustomAction" 365 | { 366 | } 367 | "DefaultFeature" 368 | { 369 | "Name" = "8:DefaultFeature" 370 | "Title" = "8:" 371 | "Description" = "8:" 372 | } 373 | "ExternalPersistence" 374 | { 375 | "LaunchCondition" 376 | { 377 | "{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_009C2D9028C343F4B37405FD5A31A899" 378 | { 379 | "Name" = "8:.NET Framework" 380 | "Message" = "8:[VSDNETMSG]" 381 | "Version" = "8:3.5.30729" 382 | "AllowLaterVersions" = "11:FALSE" 383 | "InstallUrl" = "8:http://go.microsoft.com/fwlink/?LinkId=76617" 384 | } 385 | } 386 | } 387 | "File" 388 | { 389 | "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_1F25A7A3E966A9B49D2421531098808F" 390 | { 391 | "AssemblyRegister" = "3:1" 392 | "AssemblyIsInGAC" = "11:FALSE" 393 | "AssemblyAsmDisplayName" = "8:RevitAPIUI, Version=2011.0.0.0, Culture=neutral, processorArchitecture=x86" 394 | "ScatterAssemblies" 395 | { 396 | "_1F25A7A3E966A9B49D2421531098808F" 397 | { 398 | "Name" = "8:RevitAPIUI.dll" 399 | "Attributes" = "3:512" 400 | } 401 | } 402 | "SourcePath" = "8:RevitAPIUI.dll" 403 | "TargetName" = "8:" 404 | "Tag" = "8:" 405 | "Folder" = "8:_8B8E5D43868041DB9064AAA2F9464DEC" 406 | "Condition" = "8:" 407 | "Transitive" = "11:FALSE" 408 | "Vital" = "11:TRUE" 409 | "ReadOnly" = "11:FALSE" 410 | "Hidden" = "11:FALSE" 411 | "System" = "11:FALSE" 412 | "Permanent" = "11:FALSE" 413 | "SharedLegacy" = "11:FALSE" 414 | "PackageAs" = "3:1" 415 | "Register" = "3:1" 416 | "Exclude" = "11:TRUE" 417 | "IsDependency" = "11:TRUE" 418 | "IsolateTo" = "8:" 419 | } 420 | "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_20FA8454BDC008B98274C65E4C0055D1" 421 | { 422 | "AssemblyRegister" = "3:1" 423 | "AssemblyIsInGAC" = "11:FALSE" 424 | "AssemblyAsmDisplayName" = "8:IronRuby, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" 425 | "ScatterAssemblies" 426 | { 427 | "_20FA8454BDC008B98274C65E4C0055D1" 428 | { 429 | "Name" = "8:IronRuby.dll" 430 | "Attributes" = "3:512" 431 | } 432 | } 433 | "SourcePath" = "8:IronRuby.dll" 434 | "TargetName" = "8:" 435 | "Tag" = "8:" 436 | "Folder" = "8:_8B8E5D43868041DB9064AAA2F9464DEC" 437 | "Condition" = "8:" 438 | "Transitive" = "11:FALSE" 439 | "Vital" = "11:TRUE" 440 | "ReadOnly" = "11:FALSE" 441 | "Hidden" = "11:FALSE" 442 | "System" = "11:FALSE" 443 | "Permanent" = "11:FALSE" 444 | "SharedLegacy" = "11:FALSE" 445 | "PackageAs" = "3:1" 446 | "Register" = "3:1" 447 | "Exclude" = "11:FALSE" 448 | "IsDependency" = "11:TRUE" 449 | "IsolateTo" = "8:" 450 | } 451 | "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_2A441C556AF7282B2C56A2D462948D93" 452 | { 453 | "AssemblyRegister" = "3:1" 454 | "AssemblyIsInGAC" = "11:FALSE" 455 | "AssemblyAsmDisplayName" = "8:UIFramework, Version=1.0.3737.34866, Culture=neutral, processorArchitecture=MSIL" 456 | "ScatterAssemblies" 457 | { 458 | "_2A441C556AF7282B2C56A2D462948D93" 459 | { 460 | "Name" = "8:UIFramework.dll" 461 | "Attributes" = "3:512" 462 | } 463 | } 464 | "SourcePath" = "8:UIFramework.dll" 465 | "TargetName" = "8:" 466 | "Tag" = "8:" 467 | "Folder" = "8:_8B8E5D43868041DB9064AAA2F9464DEC" 468 | "Condition" = "8:" 469 | "Transitive" = "11:FALSE" 470 | "Vital" = "11:TRUE" 471 | "ReadOnly" = "11:FALSE" 472 | "Hidden" = "11:FALSE" 473 | "System" = "11:FALSE" 474 | "Permanent" = "11:FALSE" 475 | "SharedLegacy" = "11:FALSE" 476 | "PackageAs" = "3:1" 477 | "Register" = "3:1" 478 | "Exclude" = "11:TRUE" 479 | "IsDependency" = "11:TRUE" 480 | "IsolateTo" = "8:" 481 | } 482 | "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_30A77596C7D46001767716CD920616EC" 483 | { 484 | "AssemblyRegister" = "3:1" 485 | "AssemblyIsInGAC" = "11:FALSE" 486 | "AssemblyAsmDisplayName" = "8:ManagedMC3, Version=4.16.0.0, Culture=neutral, processorArchitecture=x86" 487 | "ScatterAssemblies" 488 | { 489 | "_30A77596C7D46001767716CD920616EC" 490 | { 491 | "Name" = "8:ManagedMC3.dll" 492 | "Attributes" = "3:512" 493 | } 494 | } 495 | "SourcePath" = "8:ManagedMC3.dll" 496 | "TargetName" = "8:" 497 | "Tag" = "8:" 498 | "Folder" = "8:_8B8E5D43868041DB9064AAA2F9464DEC" 499 | "Condition" = "8:" 500 | "Transitive" = "11:FALSE" 501 | "Vital" = "11:TRUE" 502 | "ReadOnly" = "11:FALSE" 503 | "Hidden" = "11:FALSE" 504 | "System" = "11:FALSE" 505 | "Permanent" = "11:FALSE" 506 | "SharedLegacy" = "11:FALSE" 507 | "PackageAs" = "3:1" 508 | "Register" = "3:1" 509 | "Exclude" = "11:TRUE" 510 | "IsDependency" = "11:TRUE" 511 | "IsolateTo" = "8:" 512 | } 513 | "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_5B86B6FDE87780DCEF84970245844283" 514 | { 515 | "AssemblyRegister" = "3:1" 516 | "AssemblyIsInGAC" = "11:FALSE" 517 | "AssemblyAsmDisplayName" = "8:IronRuby.Libraries, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" 518 | "ScatterAssemblies" 519 | { 520 | "_5B86B6FDE87780DCEF84970245844283" 521 | { 522 | "Name" = "8:IronRuby.Libraries.dll" 523 | "Attributes" = "3:512" 524 | } 525 | } 526 | "SourcePath" = "8:IronRuby.Libraries.dll" 527 | "TargetName" = "8:" 528 | "Tag" = "8:" 529 | "Folder" = "8:_8B8E5D43868041DB9064AAA2F9464DEC" 530 | "Condition" = "8:" 531 | "Transitive" = "11:FALSE" 532 | "Vital" = "11:TRUE" 533 | "ReadOnly" = "11:FALSE" 534 | "Hidden" = "11:FALSE" 535 | "System" = "11:FALSE" 536 | "Permanent" = "11:FALSE" 537 | "SharedLegacy" = "11:FALSE" 538 | "PackageAs" = "3:1" 539 | "Register" = "3:1" 540 | "Exclude" = "11:FALSE" 541 | "IsDependency" = "11:TRUE" 542 | "IsolateTo" = "8:" 543 | } 544 | "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_60150142D03A52FA1A130C6DEE890FC5" 545 | { 546 | "AssemblyRegister" = "3:1" 547 | "AssemblyIsInGAC" = "11:FALSE" 548 | "AssemblyAsmDisplayName" = "8:Microsoft.Dynamic, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" 549 | "ScatterAssemblies" 550 | { 551 | "_60150142D03A52FA1A130C6DEE890FC5" 552 | { 553 | "Name" = "8:Microsoft.Dynamic.dll" 554 | "Attributes" = "3:512" 555 | } 556 | } 557 | "SourcePath" = "8:Microsoft.Dynamic.dll" 558 | "TargetName" = "8:" 559 | "Tag" = "8:" 560 | "Folder" = "8:_8B8E5D43868041DB9064AAA2F9464DEC" 561 | "Condition" = "8:" 562 | "Transitive" = "11:FALSE" 563 | "Vital" = "11:TRUE" 564 | "ReadOnly" = "11:FALSE" 565 | "Hidden" = "11:FALSE" 566 | "System" = "11:FALSE" 567 | "Permanent" = "11:FALSE" 568 | "SharedLegacy" = "11:FALSE" 569 | "PackageAs" = "3:1" 570 | "Register" = "3:1" 571 | "Exclude" = "11:FALSE" 572 | "IsDependency" = "11:TRUE" 573 | "IsolateTo" = "8:" 574 | } 575 | "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_6A50AF42065A3D281099638DFF5DBF53" 576 | { 577 | "AssemblyRegister" = "3:1" 578 | "AssemblyIsInGAC" = "11:FALSE" 579 | "AssemblyAsmDisplayName" = "8:UIFrameworkServices, Version=0.0.0.0, Culture=neutral, processorArchitecture=x86" 580 | "ScatterAssemblies" 581 | { 582 | "_6A50AF42065A3D281099638DFF5DBF53" 583 | { 584 | "Name" = "8:UIFrameworkServices.dll" 585 | "Attributes" = "3:512" 586 | } 587 | } 588 | "SourcePath" = "8:UIFrameworkServices.dll" 589 | "TargetName" = "8:" 590 | "Tag" = "8:" 591 | "Folder" = "8:_8B8E5D43868041DB9064AAA2F9464DEC" 592 | "Condition" = "8:" 593 | "Transitive" = "11:FALSE" 594 | "Vital" = "11:TRUE" 595 | "ReadOnly" = "11:FALSE" 596 | "Hidden" = "11:FALSE" 597 | "System" = "11:FALSE" 598 | "Permanent" = "11:FALSE" 599 | "SharedLegacy" = "11:FALSE" 600 | "PackageAs" = "3:1" 601 | "Register" = "3:1" 602 | "Exclude" = "11:TRUE" 603 | "IsDependency" = "11:TRUE" 604 | "IsolateTo" = "8:" 605 | } 606 | "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_7BC9904394311221DAF1EFB1D2A1AED6" 607 | { 608 | "AssemblyRegister" = "3:1" 609 | "AssemblyIsInGAC" = "11:FALSE" 610 | "AssemblyAsmDisplayName" = "8:AdWindows, Version=3.0.267.0, Culture=neutral, processorArchitecture=x86" 611 | "ScatterAssemblies" 612 | { 613 | "_7BC9904394311221DAF1EFB1D2A1AED6" 614 | { 615 | "Name" = "8:AdWindows.dll" 616 | "Attributes" = "3:512" 617 | } 618 | } 619 | "SourcePath" = "8:AdWindows.dll" 620 | "TargetName" = "8:" 621 | "Tag" = "8:" 622 | "Folder" = "8:_8B8E5D43868041DB9064AAA2F9464DEC" 623 | "Condition" = "8:" 624 | "Transitive" = "11:FALSE" 625 | "Vital" = "11:TRUE" 626 | "ReadOnly" = "11:FALSE" 627 | "Hidden" = "11:FALSE" 628 | "System" = "11:FALSE" 629 | "Permanent" = "11:FALSE" 630 | "SharedLegacy" = "11:FALSE" 631 | "PackageAs" = "3:1" 632 | "Register" = "3:1" 633 | "Exclude" = "11:TRUE" 634 | "IsDependency" = "11:TRUE" 635 | "IsolateTo" = "8:" 636 | } 637 | "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_7DAAF3BC168D003314C6C664B9D1F5D9" 638 | { 639 | "AssemblyRegister" = "3:1" 640 | "AssemblyIsInGAC" = "11:FALSE" 641 | "AssemblyAsmDisplayName" = "8:Microsoft.Scripting.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" 642 | "ScatterAssemblies" 643 | { 644 | "_7DAAF3BC168D003314C6C664B9D1F5D9" 645 | { 646 | "Name" = "8:Microsoft.Scripting.Core.dll" 647 | "Attributes" = "3:512" 648 | } 649 | } 650 | "SourcePath" = "8:Microsoft.Scripting.Core.dll" 651 | "TargetName" = "8:" 652 | "Tag" = "8:" 653 | "Folder" = "8:_8B8E5D43868041DB9064AAA2F9464DEC" 654 | "Condition" = "8:" 655 | "Transitive" = "11:FALSE" 656 | "Vital" = "11:TRUE" 657 | "ReadOnly" = "11:FALSE" 658 | "Hidden" = "11:FALSE" 659 | "System" = "11:FALSE" 660 | "Permanent" = "11:FALSE" 661 | "SharedLegacy" = "11:FALSE" 662 | "PackageAs" = "3:1" 663 | "Register" = "3:1" 664 | "Exclude" = "11:FALSE" 665 | "IsDependency" = "11:TRUE" 666 | "IsolateTo" = "8:" 667 | } 668 | "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_9B3C0DF4D6FE067A369F8F711ACD2912" 669 | { 670 | "AssemblyRegister" = "3:1" 671 | "AssemblyIsInGAC" = "11:FALSE" 672 | "AssemblyAsmDisplayName" = "8:Microsoft.Scripting.ExtensionAttribute, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" 673 | "ScatterAssemblies" 674 | { 675 | "_9B3C0DF4D6FE067A369F8F711ACD2912" 676 | { 677 | "Name" = "8:Microsoft.Scripting.ExtensionAttribute.dll" 678 | "Attributes" = "3:512" 679 | } 680 | } 681 | "SourcePath" = "8:Microsoft.Scripting.ExtensionAttribute.dll" 682 | "TargetName" = "8:" 683 | "Tag" = "8:" 684 | "Folder" = "8:_8B8E5D43868041DB9064AAA2F9464DEC" 685 | "Condition" = "8:" 686 | "Transitive" = "11:FALSE" 687 | "Vital" = "11:TRUE" 688 | "ReadOnly" = "11:FALSE" 689 | "Hidden" = "11:FALSE" 690 | "System" = "11:FALSE" 691 | "Permanent" = "11:FALSE" 692 | "SharedLegacy" = "11:FALSE" 693 | "PackageAs" = "3:1" 694 | "Register" = "3:1" 695 | "Exclude" = "11:FALSE" 696 | "IsDependency" = "11:TRUE" 697 | "IsolateTo" = "8:" 698 | } 699 | "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_BCE5F4D7EF16184EA5E79DEB8C373A4D" 700 | { 701 | "AssemblyRegister" = "3:1" 702 | "AssemblyIsInGAC" = "11:FALSE" 703 | "AssemblyAsmDisplayName" = "8:RevitAPI, Version=2011.0.0.0, Culture=neutral, processorArchitecture=x86" 704 | "ScatterAssemblies" 705 | { 706 | "_BCE5F4D7EF16184EA5E79DEB8C373A4D" 707 | { 708 | "Name" = "8:RevitAPI.dll" 709 | "Attributes" = "3:512" 710 | } 711 | } 712 | "SourcePath" = "8:RevitAPI.dll" 713 | "TargetName" = "8:" 714 | "Tag" = "8:" 715 | "Folder" = "8:_8B8E5D43868041DB9064AAA2F9464DEC" 716 | "Condition" = "8:" 717 | "Transitive" = "11:FALSE" 718 | "Vital" = "11:TRUE" 719 | "ReadOnly" = "11:FALSE" 720 | "Hidden" = "11:FALSE" 721 | "System" = "11:FALSE" 722 | "Permanent" = "11:FALSE" 723 | "SharedLegacy" = "11:FALSE" 724 | "PackageAs" = "3:1" 725 | "Register" = "3:1" 726 | "Exclude" = "11:TRUE" 727 | "IsDependency" = "11:TRUE" 728 | "IsolateTo" = "8:" 729 | } 730 | "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_F342303DBF58E8212AD62C483D747896" 731 | { 732 | "AssemblyRegister" = "3:1" 733 | "AssemblyIsInGAC" = "11:FALSE" 734 | "AssemblyAsmDisplayName" = "8:Microsoft.Scripting, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" 735 | "ScatterAssemblies" 736 | { 737 | "_F342303DBF58E8212AD62C483D747896" 738 | { 739 | "Name" = "8:Microsoft.Scripting.dll" 740 | "Attributes" = "3:512" 741 | } 742 | } 743 | "SourcePath" = "8:Microsoft.Scripting.dll" 744 | "TargetName" = "8:" 745 | "Tag" = "8:" 746 | "Folder" = "8:_8B8E5D43868041DB9064AAA2F9464DEC" 747 | "Condition" = "8:" 748 | "Transitive" = "11:FALSE" 749 | "Vital" = "11:TRUE" 750 | "ReadOnly" = "11:FALSE" 751 | "Hidden" = "11:FALSE" 752 | "System" = "11:FALSE" 753 | "Permanent" = "11:FALSE" 754 | "SharedLegacy" = "11:FALSE" 755 | "PackageAs" = "3:1" 756 | "Register" = "3:1" 757 | "Exclude" = "11:FALSE" 758 | "IsDependency" = "11:TRUE" 759 | "IsolateTo" = "8:" 760 | } 761 | } 762 | "FileType" 763 | { 764 | } 765 | "Folder" 766 | { 767 | "{1525181F-901A-416C-8A58-119130FE478E}:_6865A7494AC24C1BA1AE954D103F9998" 768 | { 769 | "Name" = "8:#1919" 770 | "AlwaysCreate" = "11:FALSE" 771 | "Condition" = "8:" 772 | "Transitive" = "11:FALSE" 773 | "Property" = "8:ProgramMenuFolder" 774 | "Folders" 775 | { 776 | } 777 | } 778 | "{3C67513D-01DD-4637-8A68-80971EB9504F}:_8B8E5D43868041DB9064AAA2F9464DEC" 779 | { 780 | "DefaultLocation" = "8:[ProgramFilesFolder][Manufacturer]\\[ProductName]" 781 | "Name" = "8:#1925" 782 | "AlwaysCreate" = "11:FALSE" 783 | "Condition" = "8:" 784 | "Transitive" = "11:FALSE" 785 | "Property" = "8:TARGETDIR" 786 | "Folders" 787 | { 788 | } 789 | } 790 | "{1525181F-901A-416C-8A58-119130FE478E}:_E74549D23AAB49BC967DB464003557AA" 791 | { 792 | "Name" = "8:#1916" 793 | "AlwaysCreate" = "11:FALSE" 794 | "Condition" = "8:" 795 | "Transitive" = "11:FALSE" 796 | "Property" = "8:DesktopFolder" 797 | "Folders" 798 | { 799 | } 800 | } 801 | } 802 | "LaunchCondition" 803 | { 804 | } 805 | "Locator" 806 | { 807 | } 808 | "MsiBootstrapper" 809 | { 810 | "LangId" = "3:1033" 811 | "RequiresElevation" = "11:FALSE" 812 | } 813 | "Product" 814 | { 815 | "Name" = "8:Microsoft Visual Studio" 816 | "ProductName" = "8:RevitRubyShell" 817 | "ProductCode" = "8:{F5F51882-43C9-44B8-8F40-B08ADE804F51}" 818 | "PackageCode" = "8:{BBAC639D-D930-4FA6-8469-0B5F37637556}" 819 | "UpgradeCode" = "8:{01E8737C-B21E-448E-B3DB-0BBE583D1CA3}" 820 | "RestartWWWService" = "11:FALSE" 821 | "RemovePreviousVersions" = "11:TRUE" 822 | "DetectNewerInstalledVersion" = "11:TRUE" 823 | "InstallAllUsers" = "11:FALSE" 824 | "ProductVersion" = "8:0.1" 825 | "Manufacturer" = "8:Nosyko AS" 826 | "ARPHELPTELEPHONE" = "8:" 827 | "ARPHELPLINK" = "8:" 828 | "Title" = "8:RevitRubyShell" 829 | "Subject" = "8:" 830 | "ARPCONTACT" = "8:Håkon Clausen" 831 | "Keywords" = "8:" 832 | "ARPCOMMENTS" = "8:A Ruby Shell in Revit" 833 | "ARPURLINFOABOUT" = "8:www.hclausen.net" 834 | "ARPPRODUCTICON" = "8:" 835 | "ARPIconIndex" = "3:0" 836 | "SearchPath" = "8:" 837 | "UseSystemSearchPath" = "11:TRUE" 838 | "TargetPlatform" = "3:0" 839 | "PreBuildEvent" = "8:" 840 | "PostBuildEvent" = "8:" 841 | "RunPostBuildEvent" = "3:0" 842 | } 843 | "Registry" 844 | { 845 | "HKLM" 846 | { 847 | "Keys" 848 | { 849 | "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_D936AC63847A4CDA96217C0AA7FA4512" 850 | { 851 | "Name" = "8:Software" 852 | "Condition" = "8:" 853 | "AlwaysCreate" = "11:FALSE" 854 | "DeleteAtUninstall" = "11:FALSE" 855 | "Transitive" = "11:FALSE" 856 | "Keys" 857 | { 858 | "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_17CD5106499A457BA499B9990AC55675" 859 | { 860 | "Name" = "8:[Manufacturer]" 861 | "Condition" = "8:" 862 | "AlwaysCreate" = "11:FALSE" 863 | "DeleteAtUninstall" = "11:FALSE" 864 | "Transitive" = "11:FALSE" 865 | "Keys" 866 | { 867 | } 868 | "Values" 869 | { 870 | } 871 | } 872 | } 873 | "Values" 874 | { 875 | } 876 | } 877 | } 878 | } 879 | "HKCU" 880 | { 881 | "Keys" 882 | { 883 | "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_0E146918DD9A43F49B01AD4DDD3D5AB6" 884 | { 885 | "Name" = "8:Software" 886 | "Condition" = "8:" 887 | "AlwaysCreate" = "11:FALSE" 888 | "DeleteAtUninstall" = "11:FALSE" 889 | "Transitive" = "11:FALSE" 890 | "Keys" 891 | { 892 | "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_7DC758DEC05B4C9388F7D82A66F6F386" 893 | { 894 | "Name" = "8:[Manufacturer]" 895 | "Condition" = "8:" 896 | "AlwaysCreate" = "11:FALSE" 897 | "DeleteAtUninstall" = "11:FALSE" 898 | "Transitive" = "11:FALSE" 899 | "Keys" 900 | { 901 | } 902 | "Values" 903 | { 904 | } 905 | } 906 | } 907 | "Values" 908 | { 909 | } 910 | } 911 | } 912 | } 913 | "HKCR" 914 | { 915 | "Keys" 916 | { 917 | } 918 | } 919 | "HKU" 920 | { 921 | "Keys" 922 | { 923 | } 924 | } 925 | "HKPU" 926 | { 927 | "Keys" 928 | { 929 | } 930 | } 931 | } 932 | "Sequences" 933 | { 934 | } 935 | "Shortcut" 936 | { 937 | } 938 | "UserInterface" 939 | { 940 | "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_08A440BBB0E744A88E12D3B24738BE83" 941 | { 942 | "Name" = "8:#1902" 943 | "Sequence" = "3:2" 944 | "Attributes" = "3:3" 945 | "Dialogs" 946 | { 947 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_8DD57ADB6E1A497A9203B9ECA010AA2E" 948 | { 949 | "Sequence" = "3:100" 950 | "DisplayName" = "8:Finished" 951 | "UseDynamicProperties" = "11:TRUE" 952 | "IsDependency" = "11:FALSE" 953 | "SourcePath" = "8:\\VsdAdminFinishedDlg.wid" 954 | "Properties" 955 | { 956 | "BannerBitmap" 957 | { 958 | "Name" = "8:BannerBitmap" 959 | "DisplayName" = "8:#1001" 960 | "Description" = "8:#1101" 961 | "Type" = "3:8" 962 | "ContextData" = "8:Bitmap" 963 | "Attributes" = "3:4" 964 | "Setting" = "3:1" 965 | "UsePlugInResources" = "11:TRUE" 966 | } 967 | } 968 | } 969 | } 970 | } 971 | "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_0930F451FFFA407A96F414A69F50B690" 972 | { 973 | "Name" = "8:#1900" 974 | "Sequence" = "3:1" 975 | "Attributes" = "3:1" 976 | "Dialogs" 977 | { 978 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_333E9746CDDA4981B65C61A0A001AF9F" 979 | { 980 | "Sequence" = "3:300" 981 | "DisplayName" = "8:Confirm Installation" 982 | "UseDynamicProperties" = "11:TRUE" 983 | "IsDependency" = "11:FALSE" 984 | "SourcePath" = "8:\\VsdConfirmDlg.wid" 985 | "Properties" 986 | { 987 | "BannerBitmap" 988 | { 989 | "Name" = "8:BannerBitmap" 990 | "DisplayName" = "8:#1001" 991 | "Description" = "8:#1101" 992 | "Type" = "3:8" 993 | "ContextData" = "8:Bitmap" 994 | "Attributes" = "3:4" 995 | "Setting" = "3:1" 996 | "UsePlugInResources" = "11:TRUE" 997 | } 998 | } 999 | } 1000 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_91A86E14BBA74DE6855144ED5741558B" 1001 | { 1002 | "Sequence" = "3:200" 1003 | "DisplayName" = "8:Installation Folder" 1004 | "UseDynamicProperties" = "11:TRUE" 1005 | "IsDependency" = "11:FALSE" 1006 | "SourcePath" = "8:\\VsdFolderDlg.wid" 1007 | "Properties" 1008 | { 1009 | "BannerBitmap" 1010 | { 1011 | "Name" = "8:BannerBitmap" 1012 | "DisplayName" = "8:#1001" 1013 | "Description" = "8:#1101" 1014 | "Type" = "3:8" 1015 | "ContextData" = "8:Bitmap" 1016 | "Attributes" = "3:4" 1017 | "Setting" = "3:1" 1018 | "UsePlugInResources" = "11:TRUE" 1019 | } 1020 | "InstallAllUsersVisible" 1021 | { 1022 | "Name" = "8:InstallAllUsersVisible" 1023 | "DisplayName" = "8:#1059" 1024 | "Description" = "8:#1159" 1025 | "Type" = "3:5" 1026 | "ContextData" = "8:1;True=1;False=0" 1027 | "Attributes" = "3:0" 1028 | "Setting" = "3:0" 1029 | "Value" = "3:1" 1030 | "DefaultValue" = "3:1" 1031 | "UsePlugInResources" = "11:TRUE" 1032 | } 1033 | } 1034 | } 1035 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_9A1F7F7311874F8BA3C24EEEA7041ECE" 1036 | { 1037 | "Sequence" = "3:100" 1038 | "DisplayName" = "8:Welcome" 1039 | "UseDynamicProperties" = "11:TRUE" 1040 | "IsDependency" = "11:FALSE" 1041 | "SourcePath" = "8:\\VsdWelcomeDlg.wid" 1042 | "Properties" 1043 | { 1044 | "BannerBitmap" 1045 | { 1046 | "Name" = "8:BannerBitmap" 1047 | "DisplayName" = "8:#1001" 1048 | "Description" = "8:#1101" 1049 | "Type" = "3:8" 1050 | "ContextData" = "8:Bitmap" 1051 | "Attributes" = "3:4" 1052 | "Setting" = "3:1" 1053 | "UsePlugInResources" = "11:TRUE" 1054 | } 1055 | "CopyrightWarning" 1056 | { 1057 | "Name" = "8:CopyrightWarning" 1058 | "DisplayName" = "8:#1002" 1059 | "Description" = "8:#1102" 1060 | "Type" = "3:3" 1061 | "ContextData" = "8:" 1062 | "Attributes" = "3:0" 1063 | "Setting" = "3:1" 1064 | "Value" = "8:#1202" 1065 | "DefaultValue" = "8:#1202" 1066 | "UsePlugInResources" = "11:TRUE" 1067 | } 1068 | "Welcome" 1069 | { 1070 | "Name" = "8:Welcome" 1071 | "DisplayName" = "8:#1003" 1072 | "Description" = "8:#1103" 1073 | "Type" = "3:3" 1074 | "ContextData" = "8:" 1075 | "Attributes" = "3:0" 1076 | "Setting" = "3:1" 1077 | "Value" = "8:#1203" 1078 | "DefaultValue" = "8:#1203" 1079 | "UsePlugInResources" = "11:TRUE" 1080 | } 1081 | } 1082 | } 1083 | } 1084 | } 1085 | "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_4BFE5BFEB0D24644BF01A6F5F6D4C7C6" 1086 | { 1087 | "UseDynamicProperties" = "11:FALSE" 1088 | "IsDependency" = "11:FALSE" 1089 | "SourcePath" = "8:\\VsdBasicDialogs.wim" 1090 | } 1091 | "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_544672ADF3294F71A9141FB03A84BF1D" 1092 | { 1093 | "Name" = "8:#1900" 1094 | "Sequence" = "3:2" 1095 | "Attributes" = "3:1" 1096 | "Dialogs" 1097 | { 1098 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_08D96D0CBC864DA79287E03FD87BA9D8" 1099 | { 1100 | "Sequence" = "3:200" 1101 | "DisplayName" = "8:Installation Folder" 1102 | "UseDynamicProperties" = "11:TRUE" 1103 | "IsDependency" = "11:FALSE" 1104 | "SourcePath" = "8:\\VsdAdminFolderDlg.wid" 1105 | "Properties" 1106 | { 1107 | "BannerBitmap" 1108 | { 1109 | "Name" = "8:BannerBitmap" 1110 | "DisplayName" = "8:#1001" 1111 | "Description" = "8:#1101" 1112 | "Type" = "3:8" 1113 | "ContextData" = "8:Bitmap" 1114 | "Attributes" = "3:4" 1115 | "Setting" = "3:1" 1116 | "UsePlugInResources" = "11:TRUE" 1117 | } 1118 | } 1119 | } 1120 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_915C61958CCE483989C711ECC1699C2A" 1121 | { 1122 | "Sequence" = "3:300" 1123 | "DisplayName" = "8:Confirm Installation" 1124 | "UseDynamicProperties" = "11:TRUE" 1125 | "IsDependency" = "11:FALSE" 1126 | "SourcePath" = "8:\\VsdAdminConfirmDlg.wid" 1127 | "Properties" 1128 | { 1129 | "BannerBitmap" 1130 | { 1131 | "Name" = "8:BannerBitmap" 1132 | "DisplayName" = "8:#1001" 1133 | "Description" = "8:#1101" 1134 | "Type" = "3:8" 1135 | "ContextData" = "8:Bitmap" 1136 | "Attributes" = "3:4" 1137 | "Setting" = "3:1" 1138 | "UsePlugInResources" = "11:TRUE" 1139 | } 1140 | } 1141 | } 1142 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_E593B5A008E248019F8D534E01CC4660" 1143 | { 1144 | "Sequence" = "3:100" 1145 | "DisplayName" = "8:Welcome" 1146 | "UseDynamicProperties" = "11:TRUE" 1147 | "IsDependency" = "11:FALSE" 1148 | "SourcePath" = "8:\\VsdAdminWelcomeDlg.wid" 1149 | "Properties" 1150 | { 1151 | "BannerBitmap" 1152 | { 1153 | "Name" = "8:BannerBitmap" 1154 | "DisplayName" = "8:#1001" 1155 | "Description" = "8:#1101" 1156 | "Type" = "3:8" 1157 | "ContextData" = "8:Bitmap" 1158 | "Attributes" = "3:4" 1159 | "Setting" = "3:1" 1160 | "UsePlugInResources" = "11:TRUE" 1161 | } 1162 | "CopyrightWarning" 1163 | { 1164 | "Name" = "8:CopyrightWarning" 1165 | "DisplayName" = "8:#1002" 1166 | "Description" = "8:#1102" 1167 | "Type" = "3:3" 1168 | "ContextData" = "8:" 1169 | "Attributes" = "3:0" 1170 | "Setting" = "3:1" 1171 | "Value" = "8:#1202" 1172 | "DefaultValue" = "8:#1202" 1173 | "UsePlugInResources" = "11:TRUE" 1174 | } 1175 | "Welcome" 1176 | { 1177 | "Name" = "8:Welcome" 1178 | "DisplayName" = "8:#1003" 1179 | "Description" = "8:#1103" 1180 | "Type" = "3:3" 1181 | "ContextData" = "8:" 1182 | "Attributes" = "3:0" 1183 | "Setting" = "3:1" 1184 | "Value" = "8:#1203" 1185 | "DefaultValue" = "8:#1203" 1186 | "UsePlugInResources" = "11:TRUE" 1187 | } 1188 | } 1189 | } 1190 | } 1191 | } 1192 | "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_6FF1FF9E99044438AD13FD99B18CE061" 1193 | { 1194 | "UseDynamicProperties" = "11:FALSE" 1195 | "IsDependency" = "11:FALSE" 1196 | "SourcePath" = "8:\\VsdUserInterface.wim" 1197 | } 1198 | "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_73CF86D579F1486CADA75FDC05326B76" 1199 | { 1200 | "Name" = "8:#1902" 1201 | "Sequence" = "3:1" 1202 | "Attributes" = "3:3" 1203 | "Dialogs" 1204 | { 1205 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_5277A7D9AB5B46FC9F07680B474755B7" 1206 | { 1207 | "Sequence" = "3:100" 1208 | "DisplayName" = "8:Finished" 1209 | "UseDynamicProperties" = "11:TRUE" 1210 | "IsDependency" = "11:FALSE" 1211 | "SourcePath" = "8:\\VsdFinishedDlg.wid" 1212 | "Properties" 1213 | { 1214 | "BannerBitmap" 1215 | { 1216 | "Name" = "8:BannerBitmap" 1217 | "DisplayName" = "8:#1001" 1218 | "Description" = "8:#1101" 1219 | "Type" = "3:8" 1220 | "ContextData" = "8:Bitmap" 1221 | "Attributes" = "3:4" 1222 | "Setting" = "3:1" 1223 | "UsePlugInResources" = "11:TRUE" 1224 | } 1225 | "UpdateText" 1226 | { 1227 | "Name" = "8:UpdateText" 1228 | "DisplayName" = "8:#1058" 1229 | "Description" = "8:#1158" 1230 | "Type" = "3:15" 1231 | "ContextData" = "8:" 1232 | "Attributes" = "3:0" 1233 | "Setting" = "3:1" 1234 | "Value" = "8:#1258" 1235 | "DefaultValue" = "8:#1258" 1236 | "UsePlugInResources" = "11:TRUE" 1237 | } 1238 | } 1239 | } 1240 | } 1241 | } 1242 | "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_7AB07230A02F4CB9850B4D2A0203E069" 1243 | { 1244 | "Name" = "8:#1901" 1245 | "Sequence" = "3:2" 1246 | "Attributes" = "3:2" 1247 | "Dialogs" 1248 | { 1249 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_F25294565EA84D42A381B2A280A0BED2" 1250 | { 1251 | "Sequence" = "3:100" 1252 | "DisplayName" = "8:Progress" 1253 | "UseDynamicProperties" = "11:TRUE" 1254 | "IsDependency" = "11:FALSE" 1255 | "SourcePath" = "8:\\VsdAdminProgressDlg.wid" 1256 | "Properties" 1257 | { 1258 | "BannerBitmap" 1259 | { 1260 | "Name" = "8:BannerBitmap" 1261 | "DisplayName" = "8:#1001" 1262 | "Description" = "8:#1101" 1263 | "Type" = "3:8" 1264 | "ContextData" = "8:Bitmap" 1265 | "Attributes" = "3:4" 1266 | "Setting" = "3:1" 1267 | "UsePlugInResources" = "11:TRUE" 1268 | } 1269 | "ShowProgress" 1270 | { 1271 | "Name" = "8:ShowProgress" 1272 | "DisplayName" = "8:#1009" 1273 | "Description" = "8:#1109" 1274 | "Type" = "3:5" 1275 | "ContextData" = "8:1;True=1;False=0" 1276 | "Attributes" = "3:0" 1277 | "Setting" = "3:0" 1278 | "Value" = "3:1" 1279 | "DefaultValue" = "3:1" 1280 | "UsePlugInResources" = "11:TRUE" 1281 | } 1282 | } 1283 | } 1284 | } 1285 | } 1286 | "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_82FDAF13FF8E4D7EA8A68AD82BC7B678" 1287 | { 1288 | "Name" = "8:#1901" 1289 | "Sequence" = "3:1" 1290 | "Attributes" = "3:2" 1291 | "Dialogs" 1292 | { 1293 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_ACF388F4BAF24EF9B01436A8DCE2AD5E" 1294 | { 1295 | "Sequence" = "3:100" 1296 | "DisplayName" = "8:Progress" 1297 | "UseDynamicProperties" = "11:TRUE" 1298 | "IsDependency" = "11:FALSE" 1299 | "SourcePath" = "8:\\VsdProgressDlg.wid" 1300 | "Properties" 1301 | { 1302 | "BannerBitmap" 1303 | { 1304 | "Name" = "8:BannerBitmap" 1305 | "DisplayName" = "8:#1001" 1306 | "Description" = "8:#1101" 1307 | "Type" = "3:8" 1308 | "ContextData" = "8:Bitmap" 1309 | "Attributes" = "3:4" 1310 | "Setting" = "3:1" 1311 | "UsePlugInResources" = "11:TRUE" 1312 | } 1313 | "ShowProgress" 1314 | { 1315 | "Name" = "8:ShowProgress" 1316 | "DisplayName" = "8:#1009" 1317 | "Description" = "8:#1109" 1318 | "Type" = "3:5" 1319 | "ContextData" = "8:1;True=1;False=0" 1320 | "Attributes" = "3:0" 1321 | "Setting" = "3:0" 1322 | "Value" = "3:1" 1323 | "DefaultValue" = "3:1" 1324 | "UsePlugInResources" = "11:TRUE" 1325 | } 1326 | } 1327 | } 1328 | } 1329 | } 1330 | } 1331 | "MergeModule" 1332 | { 1333 | } 1334 | "ProjectOutput" 1335 | { 1336 | "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_933AF89F23CC4F87888AB6C3139E550B" 1337 | { 1338 | "SourcePath" = "8:" 1339 | "TargetName" = "8:" 1340 | "Tag" = "8:" 1341 | "Folder" = "8:_8B8E5D43868041DB9064AAA2F9464DEC" 1342 | "Condition" = "8:" 1343 | "Transitive" = "11:FALSE" 1344 | "Vital" = "11:TRUE" 1345 | "ReadOnly" = "11:FALSE" 1346 | "Hidden" = "11:FALSE" 1347 | "System" = "11:FALSE" 1348 | "Permanent" = "11:FALSE" 1349 | "SharedLegacy" = "11:FALSE" 1350 | "PackageAs" = "3:1" 1351 | "Register" = "3:1" 1352 | "Exclude" = "11:FALSE" 1353 | "IsDependency" = "11:FALSE" 1354 | "IsolateTo" = "8:" 1355 | "ProjectOutputGroupRegister" = "3:1" 1356 | "OutputConfiguration" = "8:" 1357 | "OutputGroupCanonicalName" = "8:ContentFiles" 1358 | "OutputProjectGuid" = "8:{7D338F72-25C9-4008-B1A1-E858BFE719A4}" 1359 | "ShowKeyOutput" = "11:TRUE" 1360 | "ExcludeFilters" 1361 | { 1362 | } 1363 | } 1364 | "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_E5D7AA4102D84BD186418F9F4BD16D36" 1365 | { 1366 | "SourcePath" = "8:..\\RevitRubyShell\\obj\\Release\\RevitRubyShell.dll" 1367 | "TargetName" = "8:" 1368 | "Tag" = "8:" 1369 | "Folder" = "8:_8B8E5D43868041DB9064AAA2F9464DEC" 1370 | "Condition" = "8:" 1371 | "Transitive" = "11:FALSE" 1372 | "Vital" = "11:TRUE" 1373 | "ReadOnly" = "11:FALSE" 1374 | "Hidden" = "11:FALSE" 1375 | "System" = "11:FALSE" 1376 | "Permanent" = "11:FALSE" 1377 | "SharedLegacy" = "11:FALSE" 1378 | "PackageAs" = "3:1" 1379 | "Register" = "3:1" 1380 | "Exclude" = "11:FALSE" 1381 | "IsDependency" = "11:FALSE" 1382 | "IsolateTo" = "8:" 1383 | "ProjectOutputGroupRegister" = "3:1" 1384 | "OutputConfiguration" = "8:" 1385 | "OutputGroupCanonicalName" = "8:Built" 1386 | "OutputProjectGuid" = "8:{7D338F72-25C9-4008-B1A1-E858BFE719A4}" 1387 | "ShowKeyOutput" = "11:TRUE" 1388 | "ExcludeFilters" 1389 | { 1390 | } 1391 | } 1392 | } 1393 | } 1394 | } 1395 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-hacker -------------------------------------------------------------------------------- /lib/IronRuby.Libraries.Yaml.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakonhc/RevitRubyShell/9fc7e30ce38c21c308e060ca52120dbff0913f89/lib/IronRuby.Libraries.Yaml.dll -------------------------------------------------------------------------------- /lib/IronRuby.Libraries.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakonhc/RevitRubyShell/9fc7e30ce38c21c308e060ca52120dbff0913f89/lib/IronRuby.Libraries.dll -------------------------------------------------------------------------------- /lib/IronRuby.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakonhc/RevitRubyShell/9fc7e30ce38c21c308e060ca52120dbff0913f89/lib/IronRuby.dll -------------------------------------------------------------------------------- /lib/Microsoft.Dynamic.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakonhc/RevitRubyShell/9fc7e30ce38c21c308e060ca52120dbff0913f89/lib/Microsoft.Dynamic.dll -------------------------------------------------------------------------------- /lib/Microsoft.Scripting.Metadata.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakonhc/RevitRubyShell/9fc7e30ce38c21c308e060ca52120dbff0913f89/lib/Microsoft.Scripting.Metadata.dll -------------------------------------------------------------------------------- /lib/Microsoft.Scripting.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakonhc/RevitRubyShell/9fc7e30ce38c21c308e060ca52120dbff0913f89/lib/Microsoft.Scripting.dll -------------------------------------------------------------------------------- /lib/RevitAPIUI_2014.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakonhc/RevitRubyShell/9fc7e30ce38c21c308e060ca52120dbff0913f89/lib/RevitAPIUI_2014.dll -------------------------------------------------------------------------------- /lib/RevitAPIUI_2015.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakonhc/RevitRubyShell/9fc7e30ce38c21c308e060ca52120dbff0913f89/lib/RevitAPIUI_2015.dll -------------------------------------------------------------------------------- /lib/RevitAPIUI_2016.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakonhc/RevitRubyShell/9fc7e30ce38c21c308e060ca52120dbff0913f89/lib/RevitAPIUI_2016.dll -------------------------------------------------------------------------------- /lib/RevitAPIUI_2017.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakonhc/RevitRubyShell/9fc7e30ce38c21c308e060ca52120dbff0913f89/lib/RevitAPIUI_2017.dll -------------------------------------------------------------------------------- /lib/RevitAPIUI_2018.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakonhc/RevitRubyShell/9fc7e30ce38c21c308e060ca52120dbff0913f89/lib/RevitAPIUI_2018.dll -------------------------------------------------------------------------------- /lib/RevitAPI_2014.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakonhc/RevitRubyShell/9fc7e30ce38c21c308e060ca52120dbff0913f89/lib/RevitAPI_2014.dll -------------------------------------------------------------------------------- /lib/RevitAPI_2015.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakonhc/RevitRubyShell/9fc7e30ce38c21c308e060ca52120dbff0913f89/lib/RevitAPI_2015.dll -------------------------------------------------------------------------------- /lib/RevitAPI_2016.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakonhc/RevitRubyShell/9fc7e30ce38c21c308e060ca52120dbff0913f89/lib/RevitAPI_2016.dll -------------------------------------------------------------------------------- /lib/RevitAPI_2017.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakonhc/RevitRubyShell/9fc7e30ce38c21c308e060ca52120dbff0913f89/lib/RevitAPI_2017.dll -------------------------------------------------------------------------------- /lib/RevitAPI_2018.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakonhc/RevitRubyShell/9fc7e30ce38c21c308e060ca52120dbff0913f89/lib/RevitAPI_2018.dll -------------------------------------------------------------------------------- /lib/RevitAddInUtility.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakonhc/RevitRubyShell/9fc7e30ce38c21c308e060ca52120dbff0913f89/lib/RevitAddInUtility.dll --------------------------------------------------------------------------------