使用InstallShield为32位和64位环境生成安装程序的最佳方法是什么?我的大多数应用程序都是位中立的(.net,Java,数据文件).如果我只需要将这些文件打包一次,我会更喜欢它.是否有一种标准方法来减少installshield项目的维护?目前我能找到的唯一解决方案是有两个重复的项目,其中每个组件都标记为64位,默认安装目录设置为ProgramFiles64.必须有更好的方法来做到这一点!
我的应用程序中只有一小部分关心它的执行位置.我们有一些需要不同的C++ DLL和JNI调用.其中大部分是在运行时通过检查我们运行的JRE是否为64位来确定的.
我想避免分发两个130 MB的文件,理想情况下发送一个包含两个安装程序的大型zip文件,每个文件都引用了常见的组件.我是否需要为常见事物创建合并模块并在每个项目中引用它们?
如果这很重要,我们正在使用InstallShield 2009(Premier).
我需要在安装程序之前和之后比较Windows注册表数据吗?
我在Visual Studio Ultimate 2012中创建了一个项目,我已经激活了Installshield,这样我就可以为我的项目创建一个安装文件.这笔交易是InstallShield不会创建一个大的安装文件,而是一个文件夹,其中包含我可以运行以安装项目的安装文件.如果我从文件夹中取出安装文件,安装程序将失败.谁知道我做错了什么?我觉得创建一个安装文件的唯一目的是只有一个exe文件,而不是强制通过文件夹来查找安装文件.
添加了我的文件夹的图像:

我有一些组件MSI包需要一起安装才能形成最终应用程序.
问题是:组成包的组件可以更新,组件在http文件服务器上重新启动.我应该采取什么方法?
我写的安装程序是'主'安装程序.其中需要能够读取客户端计算机上安装的每个组件的版本,以便仅对该组件执行升级.
此外,如果首次安装应用程序,安装程序将下载并安装所有必需的组件.
我正在使用Installshield 2009.
我查看了链式MSI,但主安装程序是空的.因为它需要尽可能轻量级.
我不知道如何编写一个bootstrapper应用程序,我的公司更喜欢使用installshield来编写安装程序.
我已经研究过 - 显然先决条件并不是要卸载.
我相信我可以通过更改版本号来做一个小的更新,从而允许下载只下载它需要的组件而不是下载整个安装程序 - 目前我正在实施你建议的方式(sascha)和我的公司将使用InstallShield提供的FLEXnet连接服务.我提到的"组件"(我们的开发人员喜欢使用的术语)在概念上与InstallShield的组件概念类似.但是我已经修改了要由功能封装的"组件",以便在构建版本时我可以选择将每个"功能"包装在cab文件中.
这听起来很混乱 - 甚至对我来说也是如此.
我已经使用功能<组件(包括服务)
我的公司拒绝让我使用除Installshield之外的任何其他安装程序.我的猜测是,为了在不久的将来更新先决条件要求,需要编写新的安装程序并重新发布应用程序作为主要升级.这对我来说很有意义.
Perermtate,我认为有一种方法可以卸载先前安装的先决条件,因为前提条件可能需要作为其他应用程序的平台,因为所有"先决条件"都是应用程序的第三方组件.
感谢您的所有回复!
windows-installer installshield prerequisites chained bootstrapper
首先,他们拿走了默认的安装项目并给我们一个第三方工具来打包(也许是一个单独论坛的主题),但是visual studio继续用flexera客户支持页面打开一个新标签(带有恼人的javascript错误)每当我的代码中出现"错误"时.
我该如何禁用此功能?
我正在尝试使用包含空格的值在installshield安装程序中设置公共属性.在运行MSI安装程序时,我在PowerShell命令提示符下使用以下命令.由于该值包含空格,因此我使用双引号来传递值
msiexec -i "myinstaller.msi" MYDIRPATH="C:\new folder\data.txt"
Run Code Online (Sandbox Code Playgroud)
它打破了命令,因为参数值C:\new folder\data.txt在字符串中有一个空格,new folder并导致msiexec的错误提示下面,这表明传递给msiexec命令的参数有问题:
如果我在Windows默认命令shell提示符上运行相同的命令,那么它就像一个魅力.
我试过的选项:
powershell windows-installer installshield command-line-arguments msiexec
对我来说,可下载的应用程序提供多种类型的安装程序似乎总是很奇怪.例如,有时您可以选择.exe或.msi
某些类型的安装程序是否优于其他安装程序?你选择哪一个是否重要?作为开发人员,我为什么要为用户提供不同的安装程序?
Visual Studio Installer声明将每个文件安装为安装程序组件是最佳做法.Wix提供的热效用似乎也遵循将每个文件放在其自己的组件中的做法.
InstallShield的组件向导使用InstallShield的设置最佳实践,即将可移植可执行文件放在它们自己的组件中,但是将公共目标文件夹中的所有其他文件(例如,未版本控制的文件)组合在一起.
练习1(每个文件在其自己的组件中)的优点是每个文件都设置为密钥文件,如果您希望这些文件触发修复,这很重要.由于您要为每个文件创建组件,因此它还允许自动创建组件(例如加热).
练习1的缺点包括管理这么多组件的开销以及安装应用程序后注册表的膨胀.
在将数百个图形文件安装到一个目录的安装中可以看到练习2的优点.如果您不关心修复功能,是否有任何理由为此安装创建数百个组件?
这两种不同的做法是相互矛盾的,我想知道人们实际使用哪一种以及为什么.
我想在安装后使用InstallShield运行我的exe.InstallShield正确完成设置但不运行exe.
我找到了另一种在启动时添加exe的方法,但它在重启后运行.我希望它能在不重启的情况下运行.
可能吗 ?
installshield ×10
installation ×2
.net ×1
asp.net ×1
bootstrapper ×1
c# ×1
chained ×1
exe ×1
iis ×1
installer ×1
msiexec ×1
powershell ×1
registry ×1
windows ×1
wix ×1