gewuwei 2024-12-27 17:28 采纳率: 14.3%
浏览 72
已结题

VSTO程序安装时不要弹出提示

我们用VSTO自开发的EXCEL插件,用Advanced installer打了msi包,在用户首次安装时,总是弹出对话框,提示是否安装此自定义程序,如此一来,我们就无法使用AD来推送到用户的机器上并静默安装。

公司有几千台电脑,部署量很大。而我们在网上下了一些excel的插件,很多都没有这个步骤,所以如何去掉这个弹窗?

请专家们指导,谢谢😊

img

  • 写回答

38条回答 默认 最新

  • 阿里嘎多学长 2024-12-27 17:28
    关注
    获得0.20元问题酬金

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    VSTO程序安装时不要弹出提示

    你遇到的问题是,使用VSTO自开发的EXCEL插件,使用Advanced installer打了msi包,在用户首次安装时总是弹出对话框,提示是否安装此自定义程序。

    解决方案是,可以在msi包中添加一个Detect表单,来检测是否已经安装过该程序,如果已经安装过,就不弹出对话框。

    在Advanced installer中,可以在Setup->Detection->Detect表单中添加一个Registry检测,检测是否已经安装过该程序。

    例如:

    <Detection>
      <Registry>
        <Key>HKCU\Software\YourCompany\YourProduct</Key>
        <Value>Installed</Value>
      </Registry>
    </Detection>
    

    这样,在用户首次安装时,Advanced installer将检测是否已经安装过该程序,如果已经安装过,就不弹出对话框。

    另外,你也可以使用Property表单来设置一个Installed属性,如果已经安装过该程序,就将该属性设置为True

    例如:

    <Property>
      <Name>Installed</Name>
      <Value>False</Value>
    </Property>
    

    然后,在Setup->Actions->Install表单中添加一个Condition,检测Installed属性是否为True,如果是, 就不执行安装操作。

    例如:

    <Install>
      <Condition>Installed=False</Condition>
      <!-- 安装操作 -->
    </Install>
    

    这样,在用户首次安装时,Advanced installer将检测是否已经安装过该程序,如果已经安装过,就不执行安装操作。

    评论

报告相同问题?

问题事件

  • 系统已结题 1月4日
  • 创建了问题 12月27日