我目前正在调查我们目前正在使用的安装包(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
我已经阅读了大量关于安装程序的文档,并没有遇到任何解释底层概念的好东西.我遇到的大多数安装程序软件都基于相同的"数据库"结构,我根本就不了解.
各种产品附带的所有文档 - 例如WiX,InstallAware,Wise,InstallShield等都希望您能够理解这些基本概念[我不会得到]以便遵循他们所谈论的内容.
任何人都可以指向我解释软件安装程序概念的文档方向,以便软件文档真正有意义吗?
如何避免WiX/MSI部署解决方案中的常见设计缺陷?
部署是大多数开发的关键部分 - 部署失败意味着您的最终用户永远无法评估您的产品.这很容易成为软件开发中最昂贵的错误.请给这个内容一个机会.我坚信,通过应用程序设计的微小变化可以显着提高软件质量,使部署更加合理,更可靠 - 这就是"答案"的全部 - 软件开发.
这是一个Q/A风格的问题,答案只列出了MSI文件中不要做的一些事情,以避免最常见的设计缺陷.
windows-installer installshield wix advanced-installer installshield-le
目前我正在开发一个使用MSI包部署的项目.要修补程序,我们只需部署另一个与MSP相对的MSI安装程序包.这是一种有效/高效的方法,还是我们应该部署MSP补丁包?我有MSI的经验但不是MSP.我还将如何创建MSP补丁?我在互联网上搜寻,似乎无法找到任何东西.
提前致谢!
在我迄今为止编写的所有程序中,如果我希望它在另一个工作站上工作,我只需复制并粘贴使其运行所需的可执行文件和必要文件(例如:.o文件,二进制文件......).
但是所有为商业用途而构建的程序总是带有安装程序.例如PC游戏.所以我的问题是:当我们只是将文件复制到目标工作站时,安装的主要好处/原因是什么?
- 其中一个原因可能是防止盗版.但除此之外,我确定还有其他更强的理由吗?
如何对两个(或更多)MSI文件进行 " 内容比较 " 并查看文件内部实际不同的内容 - 而不是进行无用的二进制比较?(这显然只告诉我我是否正在处理同一文件的副本).
一些相关和典型的问题场景:
这是一个Q/A风格的问题,主题是比较已编译的MSI文件以确定存在哪些真正的"内容差异".
基本上我们以手动安装程序(Windows powershell脚本)的形式发布我们的更改/修复.它将通过读取配置文件值在特定位置安装指定的.dll和SQL脚本文件(我们将在此文件中配置.dll和Sql脚本位置).相同的powershell脚本具有卸载代码以回滚特定的chage集.
是否有任何选项或机制来为上述要求创建Windows安装程序?
我想第一次写一个.bat.
我正在尝试使用脚本安装.msi,目前我们通过双击手动安装.
路径来自:d:/installed sw/$folder/.msi
路径:D:/program files/app/
$folder 意味着,它每次都不同,因为我们正在安装新的msi来安装,这些msi是在当前日期创建的文件夹中提供的.
这是我正在尝试的脚本:
@echo off
Title HOST: Installing Updates on %computername%
echo %computername%
set server=\\SERVERNAME or PATH\msifolder
:select
cls
echo Select one of the Following MSI Install Folders for installation task.
echo.
dir %server% /A:D /B
SET /P MSI=Please enter the MSI Folder to install:
SET source=%server%\%MSI%
echo Selected Installation %MSI%
echo.
echo.
:verify
ECHO Is This Correct?
echo.
echo.
ECHO 0: ABORT INSTALL
ECHO 1: YES
ECHO …Run Code Online (Sandbox Code Playgroud) 从控制面板和.msi本身卸载带有基于WiX的.msi的应用程序有什么区别吗?
如果有什么呢?
我问的原因如下:
不同之处如下:我的.msi将一些文件存储在%PROGRAMDATA%中.如果我从控制面板卸载那里的文件被卸载(似乎.msi跟踪那些(它们被定义为组件)),但当我打开我的.msi并尝试卸载(我有一个维护对话框)那些文件不会被删除.
另一个区别是:我还有一个自定义操作来停止我的应用程序,如果它正在运行,在InstallUeesecece中调用After ="AppSearch",在InstallExecuteSequence中调用Before ="CostFinalize",但是当从.msi中删除时它不是被召唤.只有一个对话框显示有文件要删除但正在使用但是有些进程,当我告诉它停止它们时它不会这样做.
wix ×7
installer ×5
.net ×1
appx ×1
batch-file ×1
c# ×1
deployment ×1
installation ×1
msi-patch ×1
msiexec ×1
msix ×1
msp ×1
orca ×1
package ×1
powershell ×1
resiliency ×1
windows ×1