我有一个我正在使用的安装项目,并已将EULA添加到用户界面。我需要支持无人值守(命令行)安装以及通过运行安装程序进行GUI安装。 EULA在GUI安装中强制执行,但不在无人值守的情况下强制执行。
目前,我正在以下列格式运行命令行安装,传递自定义操作中使用的参数:
MSIEXEC / i ProjectSetup.msi / qn / l * log.txt Param1 =“Foo”Param2 = Bar
最糟糕的情况我想我可能需要一个额外的参数“AcceptEULA”并且如果在我们进行命令行安装时找不到它,则会弹出安装。任何人都可以提供的任何指导都非常感谢。
答案 0 :(得分:2)
启动GUI时首次运行时显示EULA。例如。像各种sysinternals工具一样(FileMon,RegMon等)。好的想法是它适用于xcopy部署。
答案 1 :(得分:2)
每个人都应该意识到Param1 Param2和AcceptEULA不能传递给MSI。只能传递像ACCEPTEULA这样的公共属性(全部大写)。
MSI可以通过使用一个自定义属性(例如ACCEPTEULA和内置属性UILevel)的LaunchCondition来轻松完成此操作。目标是仅在UILevel = 5或ACCEPTEULA = 1或产品(已经)安装时才允许安装
条件:
UILevel = 5或ACCEPTEULA或已安装
您必须接受EULA才能安装[ProductName]。
公共属性: http://msdn.microsoft.com/en-us/library/aa370912(VS.85).aspx
启动条件: http://msdn.microsoft.com/en-us/library/aa369752(VS.85).aspx
UILevel: http://msdn.microsoft.com/en-us/library/aa372096(VS.85).aspx
答案 2 :(得分:0)
我通常认为单击“接受”不仅仅是简单地使用软件具有法律约束力。在某些司法管辖区,接受EULA是赋予用户安装/运行软件的权利。
否则,我只是调整安装程序,因此它永远不会出现EULA,因此我不受它们约束。