Vb6Helper
Enables building of Visual Basic 6 projects
Also includes a do-it-all function that will embed interop
side-by-side manifest to executables from Vb6 using
functions from the Side-by-side helper module
 
  Nested types and modules
  
      
    
      | Type | Description | 
    
    
        
          | 
            Vb6BuildParams
           | 
          Parameters for running a VB6 build 
 | 
        
        
          | 
            Vb6Project
           | 
          Represents a VB6 project 
 | 
        
        
          | 
            Vb6Reference
           | 
          Represents a VB6 Reference 
 | 
        
        
          | 
            Vb6ReferenceVersion
           | 
          Represents the version of a VB6 reference
References from VB6 projects only care about Major.Minor versions 
 | 
        
        
          | 
            Vb6Version
           | 
          Represents the version of a VB6 project
ToString () will return a Maj.Min.Rev.Patch version string 
 | 
        
    
  
   
  Functions and values
  
    
      | Function or value | Description | 
    
    
      
        
          
            BuildAndEmbedInteropManifests (...)
          
          
            Signature: getConfig:(Vb6BuildParams -> Vb6BuildParams) -> vb6Projects:seq<string> -> possibleAssemblies:seq<string> -> unit 
                       
         | 
        
            
               
               
            
          All-In-one build and manifest function for VB6 applications referencing .net libraries 
Paramteters
getConfig- function to alter default VB6 build parameters 
vb6Projects - Paths to all .vbp files to build 
possibleAssemblies - Paths to assemblies that may be referenced by the VB6 projects 
 
Process
This function will: 
- Determine which of the 
possibleAssemnblies are referenced by any of the provided .vbp files 
- Temporarily register any referenced assemblies using 
RegAsm /codebase /tlb 
- Run VB6 command line make on all provided 
.vbp projects 
- Unregister all registered assemblies
 
- Generate and embed Side-By-Side interop appplication manifests in all generated VB6 executables
 
- Generate and embed Side-By-Side interop assembly manifest in all referenced assemblies
 
 
         | 
      
      
        
          
            GetVb6ApplicationProjDetails projects
          
          
            Signature: projects:seq<string> -> seq<Vb6Project> 
                       
         | 
        
            
               
               
            
          Returns application details for provided .vbp files. 
Information returned
- Name of created binary file
 
- Version as saved in 
.vbpfile 
- GUIDs of all referenced libraries and components
 
 
Usage
This is used for creating Side-By-Side interop manifests. 
         | 
      
      
        
          
            RegisterDependenciesForDevelopment (...)
          
          
            Signature: getConfig:(Vb6BuildParams -> Vb6BuildParams) -> vb6Projects:seq<string> -> possibleAssemblies:seq<string> -> unit 
                       
         | 
        
            
               
               
            
          Determines which of the provided assemblies are referenced by the
provided VB6 projects, and registers them so the VB6 ide can
find them. 
Paramteters
getConfig- function to alter default VB6 build parameters 
vb6Projects - Paths to all .vbp files to build 
possibleAssemblies - Paths to assemblies that may be referenced by the VB6 projects 
 
         | 
      
      
        
          
            UnRegisterDependenciesForDevelopment (...)
          
          
            Signature: getConfig:(Vb6BuildParams -> Vb6BuildParams) -> vb6Projects:seq<string> -> possibleAssemblies:seq<string> -> unit 
                       
         | 
        
            
               
               
            
          Determins which of the provided assemblies are referenced by the
provided VB6 projects, and un-registers them 
Paramteters
getConfig- function to alter default VB6 build parameters 
vb6Projects - Paths to all .vbp files to build 
possibleAssemblies - Paths to assemblies that may be referenced by the VB6 projects 
 
         | 
      
      
        
          
            UpdateDependencyVersions (...)
          
          
            Signature: getConfig:(Vb6BuildParams -> Vb6BuildParams) -> vb6Projects:seq<string> -> possibleAssemblies:seq<string> -> unit 
                       
         | 
        
            
               
               
            
          Fixes dependency versions in VB6 project files 
Paramteters
getConfig- function to alter default VB6 build parameters 
vb6Projects - Paths to all .vbp to update references in 
possibleAssemblies - Paths to assemblies that may be referenced by the VB6 projects 
 
Running this task will: 
- In all VB6 projects provided: Get all references that intersects with the provided assemblies arg
 
- Check if there is a version difference
 
- Update the VB6 project file to reflect the actual version used.
 
 
Note: Vb6 Reference versions are hex numbers not decimals like .net verions. This task handles
this difference automatically. 
         | 
      
      
        
          
            Vb6Make getConfig vb6Projects
          
          
            Signature: getConfig:(Vb6BuildParams -> Vb6BuildParams) -> vb6Projects:seq<string> -> unit 
                       
         | 
        
            
               
               
            
          Executes a VB6 command line make on all provided VB6 projects 
Builds will be executed in paralell 
Parameters
getConfig - function to modify the build params record from default values 
vb6Projects- Seq of paths to .vbp files to build 
 
         |