我正在使用WIX,并且要在卸载过程中显示默认选中的复选框(例如,删除与应用相关的文件)
并且如果选中,将触发自定义操作,该操作将删除一些与应用程序相关的文件夹。
我的要求是:
卸载应用程序时默认选中的复选框。
仅在选中复选框的情况下,才会在卸载时触发的自定义操作。
将要删除的文件夹的位置传递给自定义操作;我知道可以使用Property元素完成此操作,但我无法做到这一点。
参考方案
如果您要为产品的安装程序运送MSI,并注册要由控制面板卸载的MSI,则无法覆盖“卸载”按钮以显示任何自定义对话框。默认情况下,Windows将调用“ msiexec / x ”来卸载产品。此命令将使用“基本” UI运行MSI,并跳过所有对话框。
我能想到的几个选择:
在您的MSI中设置ARPNOREMOVE = 1,这样用户只能从控制面板运行“更改”或“修改”安装。这样,您就可以显示自定义对话框。
将MSI包裹在引导程序中(例如WiX的刻录程序),以便引导程序可以处理“控制面板”中的卸载过程。
我正在寻找一种语言或库,以使我可以尽可能地模拟按键,而无需实际按下按键。(我对按键级别的具体衡量标准是,当我的计算机已经在运行按键侦听器(例如MouseKey和StickyKeys)时,它是否会产生与物理按键相同的输出。)我已经尝试了许多模拟按键的方法。Java AWT库,Java win32api,python win32com sendKeys,pyth…
Windows Service增加CPU消耗 - c#在我的工作中,我负责使用C#2003编写的六个Windows服务。每个服务都包含一个计时器,该计时器每分钟左右触发一次,大部分工作都在该计时器上进行。我的问题是,随着这些服务的运行,即使没有任何有意义的工作要做,它们也会在循环的每次迭代中消耗越来越多的CPU时间(即,它们只是闲着,浏览数据库)做某事)。当它们启动时,每个服务平均使用4个CPU的(大约)2-3…
Windows Media Player如何处理监视器的刷新率? - c#我正在C#/ WinForms中编写动画应用程序(请参见this question)。基本上,我应用程序中的动画是平滑的,但显示出撕裂效果;当我拍摄相同的动画并将其渲染为AVI文件并使用Windows Media Player播放时,该动画完全没有显示撕裂效果。我知道WMP不会更改帧速率,因为动画与音乐同步。我假设WMP使用DirectX或其他知道监视器刷新…
Windows 8 Metro应用程序的图表 - c#As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely …
如何在Universal Windows App中使用BackgroundMediaPlayer播放内部声音 - c#我在C#中创建一个计时器。计时器结束后,用户将收到通知。如果我的应用程序被暂停,我会使用ToastNotificationManager安排通知,并在Toast XML中将声音设置为内部声音,例如:<audio src='ms-winsoundevent:Notification.Looping.Alarm10' loop=…