我正在开发Basic MSI类型的InstallShield项目。最后的SetupComplete
对话框中有一个自述文件复选框。我尝试在REMOVE<>"ALL"
条件中为复选框和关联标签添加条件Show
。它无法阻止在卸载过程中出现自述文件复选框。我将绑定到REMOVE属性的文本框添加到同一个对话框中,卸载后它为空。
答案 0 :(得分:0)
在installvalidate序列之前,为什么在SetupComplete期间REMOVE属性为空,即使在卸载后也是如此?
REMOVE=ALL不可用。有关详情,请点击此处:Conditioning Actions to Run During Removal
什么是防止自述文件在卸载后出现的好方法?
你的方法是正确的。为您的复选框和相应的文本Show
条件设置为NOT Installed
(首次安装)。有关不同类型条件的更多信息,请参阅Common MSI Conditions Cheat Sheet
答案 1 :(得分:0)
我从http://www.itninja.com/question/remove-the-setupcompletesuccess-dialog了解到,SetupCompleteSuccess对话框是按自己的顺序进行的,该对话框没有接收到其他序列中可用的许多变量。从那个页面,有人评论说:
我相信标准安装期间MSI的执行顺序 看起来像这样:
InstallUISequence(LaunchConditions - &gt; ExecuteAction) - &gt;即时 &#34; InstallExecuteSequence&#34; (LauchConditions - &gt; InstallFinalize) - &gt; 延期&#34; InstallExecuteSequence&#34; (InstallInitialize - &gt; InstallFinalize) - &gt;立即&#34; InstallExecuteSequence&#34; (InstallFinalize - &gt; End) - &gt; InstallUISequence(ExecuteAction - &gt; End)
似乎在&#34; InstallExecuteSequence&#34;期间设置了属性。是 在最后的(post-&#34; ExecuteAction&#34;)部分中没有 &#34; InstallUISequence&#34;
该页面还建议使用_IsMaintenance
属性作为REMOVE属性的替代,该属性在该阶段不可用。所以我使用_IsMaintenance <> "Remove"