有没有一种简单的方法可以使用PowerShell 挂钩标准的" 添加或删除程序 "功能来卸载现有的应用程序?或者检查是否安装了应用程序?
如果尚未安装软件包,我需要安装MSI软件包.我还需要安静地安装它.该软件包提示用户:
我需要使用命令行参数或其他一些方法覆盖这两个参数.那么我该如何解决这两个问题呢.我将使用VBScript进行脚本编写.
我需要找到产品GUID对于安装MSI文件,以进行维护,如补丁,卸载,也为审计目的.
我目前正在调查我们目前正在使用的安装包(Wise Installer 9),并转向处理Windows Vista,Windows 7和64位系统之类的东西.安装人员的本地化将是有益的,因为我们也有许多加拿大法国客户.
我们目前使用以下技术安装软件包和实用程序:
我已经看过WiX和InstallShield,Altiris还替换了旧的Wise系统.
我还没有玩过很多关于InstallShield的东西,但是从我见过/安装过的所有东西来看,它似乎都是业界的最爱之一.我浏览了一些与InstallShield相关的Stack Overflow标签,我很想知道该组织对此有何看法.
我是否只是默认情况下去找他们?WiX在非.NET的东西有多好?
installer windows-installer installshield wix advanced-installer
我常常遇到Windows Installer尝试卸载软件包的问题,但它抱怨说:
您尝试使用的功能是在不可用的网络资源上.
当原始MSI根本不可用时,是否有已知的卸载此类软件包的方法?
我正在尝试自动卸载使用WiX创建的软件包,以便更改已安装的软件堆栈和配置,而无需重新配置整个操作系统.最终我将使用powershell脚本来执行此操作,但目前我似乎无法使用cmd以交互方式卸载我的测试包.
如果我跑:
msiexec /x '{A4BFF20C-A21E-4720-88E5-79D5A5AEB2E8}'
msiexec /x A4BFF20C-A21E-4720-88E5-79D5A5AEB2E8
我明白了:
"无法打开安装包.验证包是否存在以及您是否可以访问它,或联系应用程序供应商以验证这是否是有效的Windows Installer程序包."
如果我跑:
msiexec /x {A4BFF20C-A21E-4720-88E5-79D5A5AEB2E8}
我明白了:
"此操作仅对当前安装的产品有效"
我查看了Windows安装程序指南,WiX文档,msiexec文档,并使用orca自己查看.msi,但我还没有找到任何可以清楚地了解卸载处理方式的内容.是否需要.msi文件,如果没有,那么为什么Windows安装程序在给出GUID时似乎认为它是?
.msi安装程序的WiX代码是:
<?xml version='1.0' encoding='windows-1252'?>
<Wix xmlns='htp://schemas.microsoft.com/wix/2006/wi' >
<!--DO NOT COPY / PASTE THE PRODUCT ID GUID BELOW TO YOUR OWN WIX SOURCE -->
<Product Id='A4BFF20C-A21E-4720-88E5-79D5A5AEB2E8' Language='2057'
Manufacturer='COMPANYNAME IT-Operations'
Name='COMPANYNAMEServerListener' Version='1.0.0'
UpgradeCode='PUT-GUID-HERE'>
<Package Id='*' Manufacturer='COMPANYNAME IT-Operations' Compressed='yes' />
<Media Id='1' Cabinet='COMPANYNAMEServerListener.cab' EmbedCab='yes' />
<Directory Id='TARGETDIR' Name='SourceDir'>
<Directory Id='ProgramFilesFolder' Name='PFiles'>
<Directory Id='COMPANYNAME' Name='COMPANYNAME'>
<Directory Id='INSTALLDIR' Name='COMPANYNAMEServerListener'>
<Component Id='MainExecutable' Guid='*' > …Run Code Online (Sandbox Code Playgroud) 我们目前使用WiX来构建我们的MSI文件,因此它是我使用过的唯一一个MSI构建器.我知道您可以在Visual Studio中本地构建安装程序.使用WiX和Windows Installer有什么区别,各自的优缺点是什么?
Windows Installer技术支持管理安装.启动管理安装的命令行是:' msiexec/a setup.msi '.我想了解这种安装的目的以及它们在哪些情况下有用?
正如大多数人可能注意到的那样,当卸载MSI软件包时,Windows将要求提供原始.msi文件.这是为什么?
我只能看到它的缺点:
有人可以对此有所了解吗?
我正在学习VS 2008安装项目来为我们的C#应用程序创建安装.我在卸载过程中尝试删除exe本身时犯了一个错误.现在我手动删除了exe文件但该条目仍然在Add Remove Program列表中.我尝试安装一个固定的新版本,但msi不允许我这样做.
如何手动删除旧版本(我可以使用regedit,没问题)?我正在使用XP机器.谢谢
编辑:我删除其卸载注册表项中的子项后,我仍然无法安装我的新版本.
