我需要以编程方式访问引导程序的卸载位置。我需要此信息,因为在成功安装所有软件包后,需要将卸载过程中链中的软件包需要的一些文件移到此处。
我可能需要将注册表中 UninstallString 的值修改到其他位置,并将引导程序可执行文件和其他所需文件复制到该位置。这样做有什么副作用吗?
我需要以编程方式访问引导程序的卸载位置。我需要此信息,因为在成功安装所有软件包后,需要将卸载过程中链中的软件包需要的一些文件移到此处。
我可能需要将注册表中 UninstallString 的值修改到其他位置,并将引导程序可执行文件和其他所需文件复制到该位置。这样做有什么副作用吗?
您可以使用有效负载添加所需的文件。这些文件被打包到您的 boostrapper.exe 中,并且在执行期间在您执行引导程序的同一文件夹中可用。将引导程序应用程序所需的文件添加到引导程序应用程序的有效负载中。
<BootstrapperApplicationRef Id='ManagedBootstrapperApplicationHost'>
<Payload SourceFile='MyBA.dll' />
<Payload SourceFile='BootstrapperCore.config' />
... place additional playload files here ...
</BootstrapperApplicationRef>
您可以使用引导程序代码访问它们
Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "payloadfilename");
您还可以将文件添加到特定的包中。
<ExePackage InstallCommand="/q /norestart /ChainingPackage "[WixBundleName]""
UninstallCommand="/uninstall /q /norestart /ChainingPackage "[WixBundleName]"" >
<Payload SourceFile="payloadfilename"/>
</ExePackage>