我没有在WiX文档(或Google)中找到这个问题的明确答案.当然我可以在HKCR中编写相应的注册表项,但这让我觉得很脏,我希望这是一个标准的任务,应该有一个很好的默认解决方案.
对于奖励积分,我想知道如何使其"安全",即不要覆盖文件类型的现有注册,并且只有在安装期间注册并且未更改时才删除卸载时的注册.
我正在编写一个需要安装在大量桌面上的应用程序,并且还需要自行更新.我们正在寻找WIX来创建安装.我使用过ClickOnce,这不是一个很好的解决方案.WIX似乎很合适,但我找到的自动更新没有好的过程.
我看过ClickThrough,但它似乎还没准备好迎接黄金时段.有没有人有另一个好的解决方案与WIX(或可能是另一个安装程序)一起使用来自动更新应用程序安装?
我想用我的安装程序部署基于.inf的USB驱动程序.
我想.inf需要放入%SystemRoot%\inf
,但是还有.cat(我猜是WHQL认证?)和.sys文件.我该怎么办?
编辑:已解决,感谢有用的答案.我能够P/Invoke函数,所以我有一个安装后的操作,它运行以下代码:
namespace DriverPackageInstallAction
{
static class Program
{
[DllImport("DIFXApi.dll", CharSet = CharSet.Unicode)]
public static extern Int32 DriverPackagePreinstall(string DriverPackageInfPath, Int32 Flags);
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
DirectoryInfo assemblyDir = new DirectoryInfo(Application.ExecutablePath);
DirectoryInfo installDir = assemblyDir.Parent;
int result = DriverPackagePreinstall(installDir.FullName + @"\Driver\XYZ.inf", 0);
if (result != 0)
MessageBox.Show("Driver installation failed.");
}
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个使用WiX版本3的MSI版本.
我们正在部署的产品的所有先前安装程序在指定的配置下工作正常(即:如果存在先前版本,删除,然后安装新版本) - 但是,我们构建的新MSI在运行时不会安装所有文件'先删除'路径.
如果我们手动删除现有安装,然后运行新版本,则会安装所有文件 - 当我在Orca中检查MSI文件时,会显示文件和功能,似乎没问题.
我们已经尝试运行详细和额外的日志记录打开(/l*vx
)然而我们只能看到文件是否未被注册然后安装.
有什么想法或建议吗?这让我们走上了墙.
我们的许多客户都可以访问InstallShield,WISE或AdminStudio.这些都不是问题.我希望有一些方法可以为我们的小客户提供免费的商业重新包装工具,这些工具和步骤可以自行更换文件.
只需要在压缩的MSI中替换单个配置文件,可以假定目标用户已经安装了Orca,知道如何使用它来自定义Property表(嵌入GPO部署的许可证详细信息)并生成MST文件.
免责声明:这与另一个问题非常相似,但该主题中的问题和答案都不清楚.
我正在开发一个Windows安装程序项目.现在我只希望软件只能安装在Windows 7或Windows Server 2008 R2系统上,我试着用这个:
<Condition Message='Windows Server 2008 R2 or Windows 7 is required'>(VersionNT = 600 AND ServicePackLevel = 1) OR VersionNT = 601 </Condition>
Run Code Online (Sandbox Code Playgroud)
但它仍然可以安装在Windows Vista上.请帮忙!
谢谢!
如何在一台机器上配置多个MySQL实例?网上有很多信息,但它们并不是很有用.
而不是只有具有多年MySQL管理经验的头脑才能理解的通用信息,我正在寻找一个指导我从头到尾的教程.我希望答案或指针是自给自足的,即不需要用户的大量知识,而不是晦涩的参考.
使用WiX,我的安装可以选择在完成时启动我安装的一个程序文件.但是,当我的应用程序由安装程序启动时,它通常不会显示在用户桌面的前台.它隐藏在其他窗口下,因此用户无法立即清楚程序正在运行.
我尝试让程序在运行时强行将自己置于顶端,但这并没有改变安装程序启动时的运行方式.
我正在开发一个国际软件,作为一个简单的项目管理软件,我正面临一个问题.此问题与日期/小时和时区有关.
当消息从一个时区发送到另一个时区时,我可以将UTC(GMT)时间存储在我的数据库中,然后根据用户的时区显示不同的时间.但是当我只使用日期时,这不可能完成.
如果我说任务是在3月21日.我是否应该考虑在其他一些国家这个日期可能是20或22?你对这个问题有什么建议?
我在众多版本的VMware中迷失了.我应该选择哪一个?
我只想:
我第一次使用VMware服务器,但是我的使用不是有点矫枉过正吗?我只会运行1个VM.
谢谢你的建议,
Teebot
wix ×5
installer ×3
install ×2
installation ×2
wix3 ×2
.net ×1
date ×1
driver ×1
localization ×1
msitransform ×1
mysql ×1
orca ×1
system ×1
time ×1
vmware ×1