WIX配置(二)-创建快捷方式
2015-01-25 00:04
162 查看
创建开始菜单快捷方式
与上一节相同,需要先创建目录结构:<Directory Id="ProgramMenuFolder">
<Directory Id="ApplicationProgramsFolder" Name="My Application Name"/>
</Directory>
第一个Directory的Id必须为"ProgramMenuFolder"(为windows安装程序指向开始菜单的属性值),该部分内容应该被放到id为TARGETDIR的目录中
为安装包添加快捷方式:
<DirectoryRef Id="ApplicationProgramsFolder">
<Component Id="ApplicationShortcut" Guid="4039b7c2-b789-48fe-b082-231215c34412">
<Shortcut Id="ApplicationStartMenuShortcut"
Name="MyApplication"
Description="My Application Description"
Target="[#WindowsFormsApplication.exe]"
WorkingDirectory="APPLICATIONROOTDIRECTORY"/>
<!--确保卸载时正确删除目录-->
<RemoveFolder Id="ApplicationProgramsFolder" On="uninstall"/>
<!--表示软件被安装-->
<RegistryValue Root="HKCU" Key="Software\Microsoft\MyApplication" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
</Component>
</DirectoryRef>
需要告诉安装程序去创建快捷方式:
<ComponentRef Id="ApplicationShortcut" />
直接在Feature下添加
创建卸载开始菜单快捷方式
直接在上一步中DirectoryRef下添加一个卸载的Shortcut即可:<Shortcut Id="UninstallProduct"
Name="Uninstall MyApplication"
Target="[System64Folder]msiexec.exe"
Arguments="/x [ProductCode]"
Description="Uninstalls My Application" />
添加桌面快捷方式
先添加一个目录,同样必须在Id为TARGETDIR的目录下<Directory Id="DesktopFolder" Name="Desktop" />
为安装包添加快捷方式:
<DirectoryRef Id="DesktopFolder">
<Component Id="DesktopFolderShortcut" Guid="5A254682-DD1F-453D-8333-144457282026">
<Shortcut Id="DesktopShortcut" Directory="DesktopFolder" Name="myApplication" Target="[APPLICATIONROOTDIRECTORY]WindowsFormsApplication.exe" WorkingDirectory=" APPLICATIONROOTDIRECTORY " >
</Shortcut>
<RegistryValue Root="HKCU" Key="Software\Microsoft\MyApplication" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
</Component>
</DirectoryRef>
完整的示例
<?xml version="1.0" encoding="UTF-8"?><Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="4039b7c2-b7be-48fe-b082-231215cb84a2" Name="SetupProject" Language="1033" Version="1.0.0.0" Manufacturer="man" UpgradeCode="4039b7c2-b7be-48fe-b082-231215cb8412">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate />
<Feature Id="ProductFeature" Title="SetupProject" Level="1">
<ComponentGroupRef Id="ProductComponents" />
<ComponentRef Id="ApplicationShortcut" />
<ComponentRef Id="DesktopFolderShortcut" />
</Feature>
</Product>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="APPLICATIONROOTDIRECTORY" Name="MyApplication " />
</Directory>
<!--开始菜单中的目录-->
<Directory Id="ProgramMenuFolder">
<Directory Id="ApplicationProgramsFolder" Name="MyApplication"/>
</Directory>
<!--桌面目录-->
<Directory Id="DesktopFolder" Name="Desktop" />
</Directory>
<DirectoryRef Id="APPLICATIONROOTDIRECTORY">
<Component Id="WindowsFormsApplication.exe" Guid="4039b7c2-b7be-48fe-b082-231215c34412">
<File Id="WindowsFormsApplication.exe" Source="MySourceFiles\WindowsFormsApplication.exe" KeyPath="yes" Checksum="yes"/>
</Component>
<Directory Id="Files" Name="Files">
<Component Id="noimage1.jpg" Guid="4030b7c2-b7be-48fe-b282-231215cb8812">
<File Id="noimage1.jpg" Source="MySourceFiles\files\noimage1.jpg" KeyPath="yes"/>
</Component>
<Component Id="noimage.jpg" Guid="4030b7c2-b98e-48fe-b282-231215cb8412">
<File Id="noimage.jpg" Source="MySourceFiles\files\noimage.jpg" KeyPath="yes"/>
</Component>
</Directory>
</DirectoryRef>
<!--开始菜单快捷方式定义-->
<DirectoryRef Id="ApplicationProgramsFolder">
<Component Id="ApplicationShortcut" Guid="4039b7c2-b789-48fe-b082-231215c34412">
<Shortcut Id="ApplicationStartMenuShortcut"
Name="MyApplication"
Description="My Application Description"
Target="[#WindowsFormsApplication.exe]"
WorkingDirectory="APPLICATIONROOTDIRECTORY"/>
<!--卸载-->
<Shortcut Id="UninstallProduct"
Name="Uninstall MyApplication"
Target="[System64Folder]msiexec.exe"
Arguments="/x [ProductCode]"
Description="Uninstalls My Application" />
<!--确保卸载时正确删除目录-->
<RemoveFolder Id="ApplicationProgramsFolder" On="uninstall"/>
<!--表示软件被安装-->
<RegistryValue Root="HKCU" Key="Software\Microsoft\MyApplication" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
</Component>
</DirectoryRef>
<!--桌面快捷方式-->
<DirectoryRef Id="DesktopFolder">
<Component Id="DesktopFolderShortcut" Guid="5A254682-DD1F-453D-8333-144457282026">
<Shortcut Id="DesktopShortcut" Directory="DesktopFolder" Name="myApplication" Target="[APPLICATIONROOTDIRECTORY]WindowsFormsApplication.exe" WorkingDirectory="APPLICATIONROOTDIRECTORY" >
</Shortcut>
<RegistryValue Root="HKCU" Key="Software\Microsoft\MyApplication" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
</Component>
</DirectoryRef>
</Fragment>
<Fragment>
<ComponentGroup Id="ProductComponents" Directory="APPLICATIONROOTDIRECTORY">
<ComponentRef Id="WindowsFormsApplication.exe"/>
<ComponentRef Id="noimage1.jpg"/>
<ComponentRef Id="noimage.jpg"/>
</ComponentGroup>
</Fragment>
</Wix>
相关文章推荐
- Windows Moible 5 Config(内部资料) 配置三 创建快捷方式
- ubuntu16.04配置opencv3.4.0 + pycharm 创建快捷方式
- iOS 使用iPhone配置实用工具 创建桌面快捷方式
- linux下配置eclipse及快捷方式创建
- linux下如何配置jdk,安装eclipse并且创建快捷方式
- 为WEB程序创建桌面快捷方式^_^
- C#创建快捷方式
- 在 .NET 中创建快捷方式 [C#]
- 在C#中快速创建快捷方式到指定位置
- ACCESS 中如何用 WSH 创建桌面快捷方式
- 在应用程序中创建快捷方式
- [VC++]如何创建快捷方式 - Web
- 引用COM组件Windows Script Host Object Model,创建快捷方式
- VC创建快捷方式
- 如何编程实现在快速启动栏创建快捷方式
- 在 .NET 中创建快捷方式 [C#]
- C#创建一个文件的快捷方式
- InstallShield 6.2 创建卸载快捷方式
- VC学习资料收集(23):创建快捷方式
- 如何在桌面或者开始菜单中创建快捷方式