Tag: wix3

WiX未定义的预处理器variables

我开始使用WiX来执行自动构build来创build我的c#项目的msi,并且遇到错误“未定义的预处理器variables”$(var.MyProject.TargetDir)'“ 我正在使用最新的WiX v3.0.5419。 在我的wxs文件里,我试图使用这个网页上列出的预处理器variables( http://blogs.msdn.com/jrock/archive/2008/01/29/complete-list-of-candle-preprocessor- variables.aspx ) <Component Id="MyId" Guid="MyGuid"> <File Id="MyId" Name="MyName" KeyPath="yes" Source="$(var.MyProject.TargetDir)\MyName.dll" /> </Component> 我已经将MyProject的参考添加到.wixproj,如果我在记事本中打开它,我可以看到参考。 <ItemGroup> <ProjectReference Include="..\MyProject.csproj"> <Name>MyProject</Name> <Project>{guid}</Project> <Private>True</Private> </ProjectReference> </ItemGroup> 这是我用来创buildmsi的nant构build脚本。 也许是因为.wixproj知道在构build中没有使用的项目引用? <exec basedir="${tools.wix}" managed="true" program="candle.exe"> <arg line='-out "${tools.wix.objfile}"' /> <arg value="../MySetup.wxs" /> </exec> 任何人都可以启发我呢?

在WiX文件中,Name =“SourceDir”是指什么?

WiX文件似乎总是包含这一行: <Directory Id="TARGETDIR" Name="SourceDir"> 什么是“SourceDir”? 它是干什么用的? 这不是一个真正的目录名称。 这是一种神奇的价值吗?

维克斯3.0抛出错误217,而通过持续集成执行

这是在Windows 2008上运行ICE (从WiX 2.0迁移到WiX 3.0之后)自动生成套件引发的错误: LGHT0217:执行ICE操作“ICE01”时出错。 这种ICE失败的最常见原因是注册不正确的脚本引擎。 有关详细信息以及如何解决此问题,请参阅http://wix.sourceforge.net/faq.html#Error217 。 外部UI消息logging器不需要以下string格式:“Windows Installer服务无法访问,如果Windows Installer安装不正确,可能会发生这种情况。请联系您的支持人员寻求帮助。 在light.exe(0,0) 另外,这些是事件日志中显示的错误: MSIInstaller:无法连接到服务器。 错误:0x80070005产品:[ProductName] – 错误1719.无法访问Windows Installer服务。 如果Windows安装程序安装不正确,可能会发生这种情况。 请联系您的支持人员寻求帮助。 直观: VBScript和JScript是在pipe理员下注册的。 集成服务具有桌面交互和所有文件的权限 当由另一个用户甚至是以集成账户(通过RDP )login的用户在同一台​​机器上手动执行时,构build成功, 到目前为止我还没有想法。 如何在保持ICEvalidation的同时解决这个问题?

如何在没有许可证页面的情况下构build最小化的WiX安装程序UI?

我想使用WixUI_Minimal安装程序,但我不需要许可证页面。 我怎样才能做到这一点?

Wix:每个组件一个文件或每个组件多个文件?

我是否应该将所有要安装到单个组件的文件进行包装? 将多个文件放在一个组件中的优点是什么?

Wix为所有用户/每台机器创build不公开的快捷方式

在WIX中,如何在allusersconfiguration文件中创build一个非公布的快捷方式? 到目前为止,我只能用广告的快捷方式来完成这个任务。 我更喜欢非广告快捷方式,因为您可以转到快捷方式的属性并使用“查找目标”。 在我看到的教程中,使用registry值作为快捷键的键盘path。 问题是他们使用HKCU作为根源。 当使用HKCU,并且另一个用户卸载该程序(因为它为所有用户安装)registry项被留下。 当我使用HKMU作为根时,我得到一个ICE57错误,但是当其他用户卸载程序时,这个键被删除。 尽pipeHKMU看起来行为正确(每个用户或所有用户),但我似乎被推向使用HKCU。 当我尝试创build非广告快捷方式时,我得到各种ICE错误,如ICE38,ICE43或ICE57。我见过的大多数文章都build议“忽略冰错误”。 必须有一种方法来创build非广告快捷方式,而不会产生ICE错误。 请发表示例代码。

在wix中更改我的组件GUID?

什么时候应该更改或不更改WIX中的组件GUID? Microsoft SDK信息令人困惑 。 Glytzhkof编辑 :为了澄清,该问题处理何时应该更改MSI组件的组件GUID。 一个组件可以改变的方面,如:改变目的地path,添加或删除文件到/从相同的组件,添加registry数据等…这导致问题的所谓的组件引用,即最佳做法在MSI中创build组件 。