Hi, You can use "Quiet Execution Custom Action" to finish register files. I don't whether you can read Chinses or not, but there are some notes in my blog in Chinses. http://blog.csdn.net/salever/archive/2009/11/02/4758313.aspx I hope it's useful. For example, execute a cmd line during msi installation: <Property Id="QtExecCmdLine" Value="command line to run"/> <CustomAction Id="QtExecExample" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="immediate" Return="check"/> <InstallExecuteSequence> <Custom Action="QtExecExample" After="TheActionYouWantItAfter"/> </InstallExecuteSequence> Another exmple, execute a command using another application: <CustomAction Id="QtExecDeferredExampleWithProperty_Cmd" Property="QtExecDeferredExampleWithProperty" Value=""[#MyExecutable.exe]"" Execute="immediate"/> <CustomAction Id="QtExecDeferredExampleWithProperty" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="check" Impersonate="no"/> <InstallExecuteSequence> <Custom Action="QtExecDeferredExampleWithProperty_Cmd" After="CostFinalize"/> <Custom Action="QtExecDeferredExampleWithProperty" After="TheActionYouWantItAfter"/> </InstallExecuteSequence Please remember that the Value should be quoted. In wix document , there are more examples. Good luck.
2009-11-17 salever.lee 发件人: Elene Sanston 发送时间: 2009-11-17 12:49:11 收件人: wix-users 抄送: 主题: Re: [WiX-users] Example Help Needed -review Thank you so much. I think it helped. Below is the code I have modified from your sample but I need to register 4 files with regasm like I am doing in the batch file: %SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe "%SYSTEMROOT%\system32\Hyland\SigDef\SDEpicAnalysis.dll" /codebase %SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe "%SYSTEMROOT%\system32\Hyland\SigDef\SDEpicSigning.dll" /codebase %SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe "%SYSTEMROOT%\system32\Hyland\SigDef\Hyland.Types.dll" /codebase %SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe "C:\Program Files\EpicSys\v7.6\Shared Files\OBEpicViewer76.dll" /codebase --=====My Code=====-- <?xml version="1.0" encoding="utf-8"?> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> <Product Id="990BC821-8D22-4D69-8210-4F1BA643217A" Name="WixExample" Language="1033" Version="1.0.0.0" Manufacturer="WixExample" UpgradeCode="B7D2CE34-C221-4F55-B13F-700884B975A7"> <Package InstallerVersion="200" Compressed="yes" /> <Media Id="1" Cabinet="media1.cab" EmbedCab="yes" /> <!-- make sure that .netframework 3.5 is installed --> <Condition Message="This application requires .NET Framework 3.5. Please install the .NET Framework then run this installer again."><![CDATA[Installed OR NETFRAMEWORK35]]></Condition> <!-- administrator to install --> <Condition Message="You need to be an administrator to install this product."> Privileged </Condition> <!-- Directory --> <!-- set directory to Windows/System32--> <SetDirectory Id="SYSTEMFOLDER" Value="[SystemFolder]" /> <SetDirectory Id="EPICCDRIVE" Value="C:\Program Files\EpicSys\v7.6\Shared Files" /> <Directory Id="TARGETDIR" Name="SourceDir"> <Directory Id="SYSTEMFOLDER"> <!-- replace WixExample to you folder name --> <Directory Id="INSTALLLOCATION" Name="Hyland"> <Directory Id="INSTALLLOCATION1" Name="Scan" /> <Directory Id="INSTALLLOCATION2" Name="SigDef" /> </Directory> </Directory> <Directory Id="EPICCDRIVE" /> </Directory> <!-- registry entry --> <DirectoryRef Id="TARGETDIR"> <Component Id="RegistryEntries" Guid="F8E77547-63A9-4D9C-A5D7-52F79393B7EF"> <RegistryKey Root="HKLM" Key="Software\ACEpicScanControl\Debug" Action="createAndRemoveOnUninstall"> <RegistryValue Type="integer" Name="WriteLog" Value="0" KeyPath="yes" /> <RegistryValue Type="integer" Value="0" KeyPath="yes" Name="showoutput" /> <RegistryValue KeyPath="yes" Name="showinput" Type="integer" Value="0" /> </RegistryKey> <RegistryKey Root="HKLM" Key="Software\ACEpicScanControl\Diskgroup" Action="createAndRemoveOnUninstall"> <RegistryValue Type="string" Name="Path" Value="" KeyPath="yes" /> </RegistryKey> <RegistryKey Root="HKLM" Key="Software\ACEpicScanControl\Mapping" Action="createAndRemoveOnUninstall"> <RegistryValue Type="string" Name="FilePath" Value="TBD\\keywordmapping.txt" KeyPath="yes" /> </RegistryKey> <RegistryKey Root="HKLM" Key="Software\ACEpicScanControl\Scan" Action="createAndRemoveOnUninstall"> <RegistryValue Type="integer" Name="LowTwainMode" Value="1" KeyPath="yes" /> </RegistryKey> <RegistryKey Root="HKLM" Key="Software\ACEpicScanControl\Init" Action="createAndRemoveOnUninstall"> <RegistryValue Type="integer" Name="UseServices" Value="1" KeyPath="yes" /> <RegistryValue Type="string" Value="" KeyPath="yes" Name="ServiceURL" /> <RegistryValue Type="string" Value="" KeyPath="yes" Name="ServiceDatasource" /> <RegistryValue Type="integer" Value="1" KeyPath="yes" Name="AutoSaveRotation" /> <RegistryValue Type="integer" Value="0" KeyPath="yes" Name="GeneralHKCU" /> <RegistryValue Type="integer" Value="1" KeyPath="yes" Name="ScanHKCU" /> <RegistryValue KeyPath="yes" Name="showinput" Type="integer" Value="0" /> </RegistryKey> <RegistryKey Root="HKLM" Key="Software\Hyland\DMDesktop\RemoteServers" Action="createAndRemoveOnUninstall"> <RegistryValue Type="string" Value="http://obprd.meriter.com/appserver" KeyPath="yes" Name="PRD" /> <RegistryValue Type="string" Value="OnBase_Prod" KeyPath="yes" Name="PRD_datasource" /> <RegistryValue Type="string" Value="http://obtest.meriter.com/appserver" KeyPath="yes" Name="TST4" /> <RegistryValue Type="string" Value="OnBase_DEV" KeyPath="yes" Name="TST4_datasource" /> </RegistryKey> </Component> </DirectoryRef> <!-- your install source files --> <DirectoryRef Id="INSTALLLOCATION2"> <Component Id="Component1" Guid="F38F12CB-72D1-4DB2-868E-72E54DCBE351"> <File Id="AxInterop.OBXAltViewerLib.dll" Source="Epic08_Files\SigDef\AxInterop.OBXAltViewerLib.dll" /> </Component> <Component Id="Component2" Guid="47C21482-20AD-4BAA-B392-17FB919EC591"> <File Id="Hyland.Types.dll" Source="Epic08_Files\SigDef\Hyland.Types.dll" /> </Component> <Component Id="Component3" Guid="EFEC6DFF-244A-468A-9591-0256D37FCEDE"> <File Id="Interop.EHIMIScanSig75.dll" Source="Epic08_Files\SigDef\Interop.EHIMIScanSig75.dll" /> </Component> <Component Id="Component4" Guid="EFEC6DFF-244A-468A-9591-0256D37FCEDE"> <File Id="Interop.EHIMIScanSig76.dll" Source="Epic08_Files\SigDef\Interop.EHIMIScanSig76.dll" /> </Component> <Component Id="Component5" Guid="EFEC6DFF-244A-468A-9591-0256D37FCEDE"> <File Id="Interop.EHIMIScanSig77.dll" Source="Epic08_Files\SigDef\Interop.EHIMIScanSig77.dll" /> </Component> <Component Id="Component6" Guid="EFEC6DFF-244A-468A-9591-0256D37FCEDE"> <File Id="Interop.OBXAltViewerLib.dll" Source="Epic08_Files\SigDef\Interop.OBXAltViewerLib.dll" /> </Component> <Component Id="Component7" Guid="EFEC6DFF-244A-468A-9591-0256D37FCEDE"> <File Id="Interop.VBA.dll" Source="Epic08_Files\SigDef\Interop.VBA.dll" /> </Component> <Component Id="Component8" Guid="EFEC6DFF-244A-468A-9591-0256D37FCEDE"> <File Id="SDEpicAnalysis.dll" Source="Epic08_Files\SigDef\SDEpicAnalysis.dll" /> </Component> <Component Id="Component9" Guid="EFEC6DFF-244A-468A-9591-0256D37FCEDE"> <File Id="SDEpicSigning.dll" Source="Epic08_Files\SigDef\SDEpicSigning.dll" /> </Component> </DirectoryRef> <DirectoryRef Id="INSTALLLOCATION1"> <Component Id="Component10" Guid="AE40CC4D-50DC-4E20-9509-176D7E91E2C8"> <File Id="obepicscan76.dll" Source="Epic08_Files\Scan\obepicscan76.dll" SelfRegCost="1" /> </Component> <Component Id="Component11" Guid="4C2EA522-0A78-444D-B9B8-F9D9888F0BDB"> <File Id="obepicscanwrp76.dll" Source="Epic08_Files\Scan\obepicscanwrp76.dll" SelfRegCost="1" /> </Component> </DirectoryRef> <DirectoryRef Id="EPICCDRIVE"> <Component Id="Component12" Guid="65511B44-813F-46D9-948E-EA6C2ECCA618"> <File Id="AxInterop.OBXAltViewerLib.dll" Source="Epic08_Files\Viewer\AxInterop.OBXAltViewerLib.dll" /> </Component> <Component Id="Component13" Guid="65511B44-813F-46D9-948E-EA6C2ECCA618"> <File Id="AxInterop.SHDocVw.dll" Source="Epic08_Files\Viewer\AxInterop.SHDocVw.dll" /> </Component> <Component Id="Component14" Guid="65511B44-813F-46D9-948E-EA6C2ECCA618"> <File Id="Hyland.Types.dll" Source="Epic08_Files\Viewer\Hyland.Types.dll" /> </Component> <Component Id="Component15" Guid="65511B44-813F-46D9-948E-EA6C2ECCA618"> <File Id="Interop.EACMediaInterfaces76.dll" Source="Epic08_Files\Viewer\Interop.EACMediaInterfaces76.dll" /> </Component> <Component Id="Component16" Guid="65511B44-813F-46D9-948E-EA6C2ECCA618"> <File Id="Interop.EDInterfaces76.dll" Source="Epic08_Files\Viewer\Interop.EDInterfaces76.dll" /> </Component> <Component Id="Component17" Guid="65511B44-813F-46D9-948E-EA6C2ECCA618"> <File Id="Interop.OBXAltViewerLib.dll" Source="Epic08_Files\Viewer\Interop.OBXAltViewerLib.dll" /> </Component> <Component Id="Component18" Guid="65511B44-813F-46D9-948E-EA6C2ECCA618"> <File Id="Interop.SHDocVw.dll" Source="Epic08_Files\Viewer\Interop.SHDocVw.dll" /> </Component> <Component Id="Component19" Guid="65511B44-813F-46D9-948E-EA6C2ECCA618"> <File Id="OBEpicViewer76.dll" Source="Epic08_Files\Viewer\OBEpicViewer76.dll" /> </Component> <Component Id="Component20" Guid="65511B44-813F-46D9-948E-EA6C2ECCA618"> <File Id="OBXAltViewer.ocx" Source="Epic08_Files\Viewer\OBXAltViewer.ocx" /> </Component> </DirectoryRef> <DirectoryRef Id="SYSTEMFOLDER"> <Component Id="Component21" Guid="D0268C54-823B-465C-8D3D-0CFAE8B5BB3B"> <File Id="dmimage_alt.dll" Source="Epic08_Files\Common\dmimage_alt.dll" /> </Component> <Component Id="Component22" Guid="D0268C54-823B-465C-8D3D-0CFAE8B5BB3B"> <File Id="dmlocale_alt.dll" Source="Epic08_Files\Common\dmlocale_alt.dll" /> </Component> <Component Id="Component23" Guid="D0268C54-823B-465C-8D3D-0CFAE8B5BB3B"> <File Id="OBXAltViewer.ocx" Source="Epic08_Files\Common\OBXAltViewer.ocx" SelfRegCost="1" /> </Component> <Component Id="Component24" Guid="D0268C54-823B-465C-8D3D-0CFAE8B5BB3B"> <File Id="snbd17dm.dll" Source="Epic08_Files\Common\snbd17dm.dll" /> </Component> </DirectoryRef> <Feature Id="ProductFeature" Title="WixExample" Level="1"> <ComponentRef Id="RegistryEntries" /> <ComponentRef Id="Component1" /> <ComponentRef Id="Component2" /> <ComponentRef Id="Component3" /> <ComponentRef Id="Component4" /> <ComponentRef Id="Component5" /> <ComponentRef Id="Component6" /> <ComponentRef Id="Component7" /> <ComponentRef Id="Component8" /> <ComponentRef Id="Component9" /> <ComponentRef Id="Component10" /> <ComponentRef Id="Component11" /> <ComponentRef Id="Component12" /> <ComponentRef Id="Component13" /> <ComponentRef Id="Component14" /> <ComponentRef Id="Component15" /> <ComponentRef Id="Component16" /> <ComponentRef Id="Component17" /> <ComponentRef Id="Component18" /> <ComponentRef Id="Component19" /> <ComponentRef Id="Component20" /> <ComponentRef Id="Component21" /> <ComponentRef Id="Component22" /> <ComponentRef Id="Component23" /> <ComponentRef Id="Component24" /> </Feature> <UI /> </Product> </Wix> ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users