MSI Build卸载-无法删除已安装的目录 [英] MSI Build uninstall- Installed directory not removing

查看:264
本文介绍了MSI Build卸载-无法删除已安装的目录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我为我们的应用程序创建了MSI构建包.安装完成后,在安装程序类的提交事件中,我们在单独的过程中触发了另一个依赖的驱动程序软件,如下所示,

I created the MSI build package for our application. After this installation, we triggered another dependent driver software in the separate process in a committed event of Installer class like below,

Process.Start(驱动程序软件路径")

Process.Start (" Path of driver software ")

我们正面临一个问题,已卸载目录中的已安装目录(为空)文件夹没有被删除.实际上,就像安装一样,我们通过覆盖安装程序类的Uninstall方法在单独的过程中触发了从属驱动程序软件的卸载.

We are facing an issue, installed directory ( It's empty ) folder is not removing while un-installing the same. Actually like installation, we triggered the un-installation of dependent driver software in the separate process by overriding the Uninstall method of installer class.

任何人,请帮助我解决此问题?如何删除已安装的目录?

Anyone, please help me to overcome this issue? How could I remove the installed directory?

我无法更改安装过程,因为我们知道当另一个安装/卸载正在进行时,我们无法处理另一个安装/卸载.

I can't change the installation procedure, since we are aware that we can't process another installation/un-installation when another one is going.

推荐答案

您是从MSI内部运行非MSI驱动程序安装EXE吗?是吗?还是可能是将MSI封装在EXE中?

You are running a non-MSI driver install EXE from within your MSI? Correct? Or maybe it is an MSI wrapped in an EXE?

您有 Installshield Premier 吗?您可以使用套件项目并在MSI安装之前(或之后)通过引导程序安装EXE吗?老实说,我从未使用过此功能,但是按顺序运行设置是为了实现此目的.众所周知,启动EXE文件的MSI文件中的嵌入式自定义操作是不可靠的. -在我看来-如果您还同时使用托管代码(我认为您是在运行),则尤其如此.

Do you have Installshield Premier? Could you use a suite project and install the EXE via the bootstrapper before (or after) the MSI install? I have honestly never used this feature, but running setups in sequence is what it is for. Embedded custom actions in MSI files kicking off EXE files are notoriously unreliable. This is - in my opinion - especially true if you are running with managed code as well (which I think you are).

从长远来看,托管代码可能会产生更安全的自定义操作代码(基于 CAS 的安全性考虑),但目前看来,它会引起不必要的运行时依赖性-尤其是针对针对不同Windows版本(Vista,7、8、10)的超大规模发行版(全局发行版).

In the long run managed code may yield safer custom action code (security-wise based on CAS), but for now it seems to cause unwanted runtime dependencies - especially for very large-scale distribution (global distribution) targeting diverse Windows versions (Vista, 7, 8, 10).

我被告知需要一段时间才能习惯Installshield的套件功能,但也许对您更好?您可以依次运行EXE文件,MSI文件,修补程序和zip.我猜想有些麻烦的定义卸载和升级行为以及大量测试.我非常确定,企业应用程序包装商将很高兴看到套件而不是其中嵌入了许多奇怪内容的MSI.

I am told it takes a while to get used to Installshield's suite feature, but maybe it is better for you? You can run EXE files, MSI files, patches and zips in sequence. Some fiddling to define uninstall and upgrade behavior I guess and lots of testing. I am pretty sure corporate application packagers would be happy to see a suite rather than an MSI with lots of strange stuff embedded in it.

更新:编译套件setup.exe文件后,可以按以下说明将其提取:

UPDATE: Once you have compiled a suite setup.exe file it can be extracted as described here: Regarding silent installation using Setup.exe generated using Installshield 2013 (.issuite) project file

或者,您可以尝试提取驱动程序安装程序的setup.exe文件,并将驱动程序安装为常规MSI组件,然后运行 DIFx ).也很笨拙-特别是当您需要包括卸载时.

Alternatively you could try to extract the setup.exe files for the driver setup and install the drivers as regular MSI components and run DPinst.exe to install / uninstall the drivers (tool from DIFx). Also quite clunky - especially when you need to include uninstall.

您的驱动程序设置可能已经使用DPInst.exe.我将检查您是否可以从EXE中提取MSI并使用它而不是EXE包含在套件项目中.有关如何处理setup.exe文件的一些提示(提取,运行时参数等等):

Your driver setup likely uses DPInst.exe already. I would check if you can extract an MSI from the EXE and use it instead of the EXE to include in the suite project. Some hints for how to deal with setup.exe files (extraction, runtime paramenters etc...): Extract MSI from EXE.

WiX在其中一个元素中具有 Driver元素用于处理驱动程序安装的扩展.我从来没有机会进行测试.

WiX has the Driver element in one of its extensions to deal with driver installs. I have never had the chance to test it.

这篇关于MSI Build卸载-无法删除已安装的目录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆