Exploring the World of ICOM Type Libraries: The Ultimate Resource Optimization Toolkit
Exploring the World of ICOM Type Libraries: The Ultimate Resource Optimization Toolkit
Table of Contents
- Introduction
- Registration
- Using Advanced Installer
- GUI
- Working with Projects
- Installer Project
- Patch Project
- Merge Module Project
- Updates Configuration Project
- Windows Store App Project
- Modification Package Project
- Optional Package Project
- Windows Mobile CAB Projects
- Visual Studio Extension Project
- Software Installer Wizards - Advanced Installer
- Visual Studio integration
- Alternative to AdminStudio/Wise
- Replace Wise
- Migrating from Visual Studio Installer
- Keyboard Shortcuts
- Shell Integration
- Command Line
- Advanced Installer PowerShell Automation Interfaces
* IAdvancedInstaller
* IAdvinstProject
* IProductDetails
* IFolder
* ILaunchConditionsComponent
* IFilesComponent
* IIniFilesComponent
* IShortcut
* ITempFile
* IXmlFile
* IDirectoryMember
* IRegistryComponent
* IInstallParameters
* IBuildComponent
* ITextFileUpdatesComponent
* ITextUpdateFile
* ITextUpdateAppendOrCreate
* ITextUpdateReplace
* IFileAssociations
* IDefaultProgramFA
* IExtensionFA
* IProgIdFA
* IVerbFA
* IEnvironment
* IEnvironmentVariable
* IProductCode
* IUpgradeCode
* IMergeModulesComponent
* IMergeModule
* IDigitalSignature
* ICustomActionsComponent
* ITranslationsComponent
* IDriversComponent
* ISearch
* IServices
* IOrganizationComponent
* IComComponent
* IComClass
* IComClassActiveX
* IComClassAppId
* IComInterface
* IComPlus
* IComTypeLibrary
* IRemoveFilesComponent
* IRemoveFile
* IUpdatesProject
* IUpdaterComponent
* IPatchProject
* IPropertyComponent
* IProperty
* IPathVariable
* IMsixComponent
* IMsixDependencies
* IMsixDriverDependency
* IMsixDriverConstraint
* IMsixExternalDependency
* IMsixPackageDependency
- Features and Functionality
- Tutorials
- Samples
- How-tos
- FAQs
- Windows Installer
- Deployment Technologies
- IT Pro
- MSIX
- Video Tutorials
- Advanced Installer Blog
- Table of Contents
Disclaimer: This post includes affiliate links
If you click on a link and make a purchase, I may receive a commission at no extra cost to you.
IComTypeLibrary
Declaration
IComTypeLibrary: IDispatch
Overview
This interface is meant to allow you to specify the information that will be placed in the registry during the Type Library’s registration process.
Properties
String Guid - Gets the GUID of the type library.
IFile File - Gets the the type library file (.tlb).
String Language - Gets or sets the type library’s language.
String Version - Gets or sets the type library’s version.
IFolder Directory - Gets or sets the directory that contains the Help file for the type library.
UINT Cost - Gets or sets the cost, in bytes, associated with the type library properties.
String RegistryPath - Gets or sets the registry location where the Type Library is registered. For type libraries defined through MSI TypeLib table this location is read only.
Supported values: HKEY_CLASSES_ROOT\TypeLib, HKEY_CURRENT_USER\Software\Classes\TypeLib, HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib, HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\TypeLib.
Examples
$advinst = new-object -comObject “AdvancedInstaller”
$proj = $advinst.CreateProjectS(“architect”)
$clsid_id = "{4819544F-6FAF-4553-86C3-7B58F73BA4D0}"
$interface_GUID = "{E4C611D8-6DA8-48F7-8AD8-D6CB6D64293C}"
$typelib_GUID = "{37687F89-8603-4E42-A5F4-4FBAB011D5F3}"
add new class
$file = $proj.FilesComponent.AddFileS("appdir", "D:\MyApp.exe")
$new_class = $proj.ComComponent.NewClass("{222AD1AD-EB4D-4859-A11E-B5EC859CC0BB}",$file)
edit ActiveX
$new_class.ActiveX.IsActivXControl = $true
$new_class.ActiveX.IsProgrammable = $true
$new_class.ActiveX.IsInsertable = $true
$new_class.ActiveX.BitmapPath = "$($file.FullPath)"
$new_class.ActiveX.BitmapResourceId = 1
$new_class.ActiveX.Default = 4
$new_class.ActiveX.Content = 131473
$new_class.ActiveX.Thumbnail = 44456
$new_class.ActiveX.Icon = 778
$new_class.ActiveX.Docprint = 89
$new_class.ActiveX.Extensions = ".test,.aaa"
$new_class.ActiveX.AddDotNetCategory()
$new_class.ActiveX.AddSafeForInitializingCategory()
$new_class.ActiveX.AddSafeForScriptingCategory()
$new_class.ActiveX.AddCategory("{7DD95802-9882-11CF-9FA9-00AA006C42C4}")
edit AppId
$new_class.AppId.AppId = "{10000000-0000-0000-0000-000000000001}"
$new_class.AppId.RemoteServerToLaunch = "server name"
$new_class.AppId.LocalService = "service name"
$new_class.AppId.DllSurrogate = "aaa"
$new_class.AppId.ActivateAtStorage = $true
$new_class.AppId.RunAsInteractiveUser = $true
$new_class.ThreadingModel = "Both"
$progId = $proj.FileAssociations.NewProgId()
$new_class.ProgId = $progId
$new_class.VersionIndependentProgId = "Test.ProgId.1"
$new_class.Description = "new description for this class"
$new_class.Version = "1.2.3"
$new_class.TypeLibraryId = "{37687F89-8603-4E42-A5F4-4FBAB011D5F3}"
$new_class.IconPath = "$currentPath\resources\resources-powershell\sample.exe"
$new_class.DefaultInProcHandler = "2"
$new_class.Argument = "/test"
$new_class.HasRelativePath = $true
add new interface
$new_interface = $proj.ComComponent.NewInterface("{00000000-674B-41F9-9EC2-4925BF949F12}", "TestInterface")
$new_interface.NumberOfMethods = 3
$new_interface.BaseInterface = "{20000000-0000-0000-0000-000000000000}"
$new_interface.CLSID16 = "{16000000-0000-0000-0000-000000000000}"
$new_interface.CLSID32 = "{32000000-0000-0000-0000-000000000000}"
$new_interface.TypeLibId = "{50000000-0000-0000-0000-000000000000}"
$new_interface.TypeLibVersion = "2.5"
$new_interface.RegistryPath = "HKEY_CURRENT_USER\Software\Classes\Interface"
add new type librabry
$new_typelib = $proj.ComComponent.NewTypeLibrary($file)
$new_typelib.GUID = "{23487F89-8603-4E42-A5F4-4FBAB011D5F3}"
$new_typelib.Language = "bg"
$new_typelib.Version = "1.2"
$new_typelib.Description = "new description for typelib"
$new_typelib.Cost = 3
Copy
See also
Did you find this page useful?
Please give it a rating:
Thanks!
Report a problem on this page
Information is incorrect or missing
Information is unclear or confusing
Something else
Can you tell us what’s wrong?
Send message
Also read:
- [New] 16 Best Kickstart Videos on YouTube for Visibility Boost
- [New] 2024 Approved Erase Effortlessly Social Media Live on Desktop & Phone
- [New] In 2024, Top 7 Video-to-Text Converters for Seamless Content Translation
- [New] Start Your Journey to Savvy Social Analytics on Facebook for 2024
- [Updated] Select Your Dreams Best VR Bike Trails for 2024
- [Updated] Streamlined Techniques to Record Screen Dialogue for 2024
- Comparing the Newest: Apple Watch Series with GPS and Cellular Connectivity
- How to Access and Modify Folder Settings Through the Properties Window
- How-To Guide on Assessing SQL Link Establishment Successfully
- In 2024, The Updated Method to Bypass Infinix Hot 30 5G FRP
- Learn How To Generate Festive Season Wishes With No Cost - Step-by-Step DIY Video Card Tutorial
- Snapping Secrets: The Invisible Way to Save Messages From Snapchat
- Streamline Your Apps with ModularMerge Components: The Ultimate Unification Tool
- Top 5 Car Locator Apps for Apple iPhone 6s | Dr.fone
- Ultimate No-Cost PDF Editor for Windows 10: Top Rated & Free Download
- Title: Exploring the World of ICOM Type Libraries: The Ultimate Resource Optimization Toolkit
- Author: Paul
- Created at : 2024-10-05 02:13:38
- Updated at : 2024-10-10 21:56:55
- Link: https://fox-metric.techidaily.com/exploring-the-world-of-icom-type-libraries-the-ultimate-resource-optimization-toolkit/
- License: This work is licensed under CC BY-NC-SA 4.0.