共用方式為


Installer::P rovideAssembly 方法

Installer物件的ProvideAssembly方法會傳回元件的已安裝路徑。

語法

retVal = .ProvideAssembly(
  assembly,
  appContext,
  installMode,
  assemblyInfo
)

參數

裝配

要查詢之已安裝元件的強式名稱。

appCoNtext

針對通用群組件設定為 null。 針對私人元件,請將 appCoNtext 設定為應用程式組態檔的完整路徑,或設定為元件已設為私用的應用程式可執行檔的完整路徑。

installMode

定義安裝模式。 此參數可以是下列其中一個值。

意義
msiInstallModeDefault
0
提供元件,並執行提供元件所需的任何安裝。
msiInstallModeExisting
-1
只有在功能存在時,才提供元件。 此選項會驗證元件是否存在。
msiInstallModeNoDetection
-2
只有在功能存在時,才提供元件。 此選項不會驗證元件是否存在。
msiInstallModeNoSourceResolution
-3
只有在安裝本機組件時,才提供元件。
ReinstallFeature所使用的旗標組合
呼叫 ReinstallFeature 方法,使用此參數重新安裝 重新安裝Mode的功能,然後傳回元件路徑。

 

assemblyInfo

元件資訊和元件類型。 會設定為下列其中一個值。

意義
msiProvideAssemblyNet
0
.NET 元件。
msiProvideAssemblyWin32
1
Win32 並存元件。

 

傳回值

已安裝元件的路徑。

備註

ProvideAssembly方法會使用MsiProvideAssembly 函式

範例

下列範例腳本示範使用 ProvideAssembly 方法。

Dim installer
Set installer = CreateObject("WindowsInstaller.Installer")

'
' ProvideAssembly - .NET global
'   
MsgBox Installer.ProvideAssembly("System.Security,Version=""1.0.5000.0"",PublicKeyToken=""b03f5f7f11d50a3a"",Culture=""neutral"",FileVersion=""1.1.4322.573""", vbNullString, 0, 0)

'
' ProvideAssembly - .NET private
'   
MsgBox Installer.ProvideAssembly("Sample,Version=""1.0.0.0"",Culture=""neutral""", "C:\Program Files\Microsoft\Sample\Sample.exe", 0, 0)

'
' ProvideAssembly - win32 global
'
MsgBox Installer.ProvideAssembly("Microsoft.MSXML2,publicKeyToken=""6bd6b9abf345378f"",version=""4.1.0.0"",type=""win32"",processorArchitecture=""x86""", vbNullString , -2, 1)

規格需求

需求
版本
Windows Server 2012、Windows 8、Windows Server 2008 R2 或 Windows 7 上的 Windows Installer 5.0。 Windows Server 2008 或 Windows Vista 上的 Windows Installer 4.0 或 Windows Installer 4.5。 Windows Server 2003 和 Windows XP 上的 Windows Installer 4.5
DLL
Msi.dll
IID
IID_IInstaller定義為 000C1090-0000-0000-C000-000000000046

另請參閱

安裝程式

Windows Installer 3.1 和舊版不支援