标签: windows-installer

使用InstallUtil并静默设置Windows服务登录用户名/密码

我需要使用InstallUtil来安装C#windows服务.我需要设置服务登录凭据(用户名和密码).所有这一切都需要默默地完成.

有没有办法做这样的事情:

installutil.exe myservice.exe /customarg1=username /customarg2=password
Run Code Online (Sandbox Code Playgroud)

.net installer windows-installer windows-services

49
推荐指数
3
解决办法
7万
查看次数

如何防止Vista上的"此程序可能没有正确安装"消息

我有一个产品安装程序可执行文件,可以将一些文件复制到用户的硬盘上.它不是正常意义上的典型安装程序(它不会向"开始"菜单或"程序文件"文件夹添加任何内容).

每次在Vista上运行安装程序时,在exe终止后,Vista会生成一个任务对话框:

  • 此程序可能未正确安装
  • 使用推荐配置重新安装
  • 这个程序正确地安装了

是否有一个函数我需要从exe或注册表项调用来设置,以指示操作系统正确安装程序(或至少压制此消息)?

相关问题: Windows 7 RC中的"此程序可能未正确安装"消息(适用于Windows 7特定问题)

installer windows-installer uac windows-appcompat-platform

49
推荐指数
2
解决办法
5万
查看次数

Visual Studio Installer>如何在安装程序结束时启动应用程序

这可能是一个愚蠢的问题,我的谷歌搜索今天没有运作.

我有一个应用程序,我添加了一个Visual Studio安装程序>安装向导项目.我想知道如何添加一个按钮或复选框,成功安装后将启动该应用程序.这将位于MSI安装程序包的最后一页.我正在使用Visual Studio 2010 Ultimate.

我需要这样,以便当应用程序执行自动更新时,它会自动启动安装程序.我只需要安装程序在更新后重新启动应用程序.

这可能很简单,但对于我的生活,我无法弄明白.在此先感谢您的帮助.

c# windows-installer setup-project visual-studio-2010

47
推荐指数
4
解决办法
7万
查看次数

在没有MSI文件的情况下卸载

我常常遇到Windows Installer尝试卸载软件包的问题,​​但它抱怨说:

您尝试使用的功能是在不可用的网络资源上.

当原始MSI根本不可用时,是否有已知的卸载此类软件包的方法?

windows windows-installer

46
推荐指数
4
解决办法
8万
查看次数

什么是安装Java EE应用程序的优秀InstallAnywhere替换?

您建议使用哪种(商业或免费)安装程序工具将InstallAnywhere替换为Java EE应用程序的安装程序?你特别喜欢它,它的缺点是什么?

一些要求:

  • 必须支持在安装过程中运行自定义Java代码
  • 必须支持Windows,包括最新的64位版本,如Windows Server 2008; 支持其他目标操作系统是一个加号
  • 必须能够在Windows上将捆绑的应用程序服务器(如ResinTomcat)安装为服务
  • 必须支持基本的东西,如复制和移动文件,编辑配置文件,提取ZIP等.
  • (必须支持捆绑特定版本的JRE;至少包括要提取的ZIP)

编辑:还有几点:

  • 优选地,不依赖于目标机器上预先安装的JRE(或任何其他第三方运行时环境或库); 换句话说,可以生成一个独立的Windows .exe(或.msi)
  • 该工具最好应该是跨平台的,以便可以在Linux,Windows或Mac上完成安装程序开发.
  • 最好应该有一个合适的GUI来安装安装程序.但是,一旦完成,就必须跳过GUI并使安装程序构建自动构建过程的一部分.

编辑:我发布了一个单独的答案,关于我们最终选择了什么以及为什么.

java installer windows-installer java-ee

44
推荐指数
4
解决办法
3万
查看次数

为什么我的WiX安装程序需要一个空的CreateFolder来有条件地更新Xml文件?

TL; DR:为什么我需要在这个条件组件中使用 <CreateFolder/>元素才能使其工作?

我正在为一个内部应用程序组装一个简单的基于WiX的安装程序.此安装程序需要部署标准配置文件(普通.NET .config文件),然后使用msiexec在命令行上传递的属性对其进行自定义.

其中一个自定义是仅在已定义RUNTIME属性时才创建特定的应用程序设置.这是WiX组件:

  <Component Id="C.Rbnz.Fsis.CollectionPeriodService.exe.config.runtime"
             Guid="*">
    <Condition>
      <![CDATA[RUNTIME]]>
    </Condition>

    <CreateFolder/>

    <util:XmlFile Id="X.Runtime.1"
                  Action="createElement"
                  ElementPath="/configuration/appSettings"
                  File="[#F.Rbnz.Fsis.CollectionPeriodService.exe.config]"
                  Name="add"
                  Sequence="2"/>

    <util:XmlFile Id="X.Runtime.2"
                  File="[#F.Rbnz.Fsis.CollectionPeriodService.exe.config]"
                  ElementPath="/configuration/appSettings/add[\[]not(@key)[\]]"
                  Action="setValue"
                  Name="key"
                  Value="RunTime"
                  Sequence="3"/>

    <util:XmlFile Id="X.Runtime.3"
                  File="[#F.Rbnz.Fsis.CollectionPeriodService.exe.config]"
                  ElementPath="/configuration/appSettings/add[\[]@key='RunTime'[\]]"
                  Action="setValue"
                  Name="value"
                  Value="[RUNTIME]"
                  Sequence="4"/>

  </Component>
Run Code Online (Sandbox Code Playgroud)

这正如我想要的那样 - 如果在命令行上指定了RUNTIME,则会msiexec创建新元素; 如果没有,没有任何反应.

为什么我必须<CreateFolder/>在此组件中使用空?

当我试图让这个工作时,我找到了" Wix条件声明 ",它显示了一个工作组件,但没有解释为什么<CreateFolder/>是必要的.

删除<CreateFolder/>给我这个错误:

ICE18:组件的KeyPath:'C.Rbnz.Fsis.CollectionPeriodService.exe.config.runtime'是目录:'INSTALLDIR'.目录/组件对必须在CreateFolders表中列出.

一旦你知道这意味着什么,我相信,这是非常有用的.

windows-installer wix wix-extension msiexec

44
推荐指数
2
解决办法
2万
查看次数

创建MSI日志文件

我一直在尝试使用以下命令为安装程序创建问题的日志文件:

msiexec /i "installer.msi" /l*v "log.log"
msiexec /i "installer.msi" /l*v
msiexec /l*v /i "installer.msi"
msiexec /l*v "log.log" /i "installer.msi"
Run Code Online (Sandbox Code Playgroud)

和命令的其他几个变体,但它总是弹出窗口,说明哪些命令行参数对msiexec有效.使msi文件创建日志的正确方法是什么?我有Windows安装程序4.5.

logging windows-installer msiexec

43
推荐指数
2
解决办法
6万
查看次数

WMI"已安装"查询与添加/删除程序列表不同?

尝试使用WMI获取已安装的Windows XP程序列表.使用wmic,我试过:

wmic /output:c:\ProgramList.txt product get name,version
Run Code Online (Sandbox Code Playgroud)

我得到了许多已安装程序的列表,但在根据显示的"添加/删除程序"清除此列表后,我看到添加/删除程序的GUI中列出的程序多于WMI查询.我需要使用另一个WMI查询来安装其余的程序吗?或者还有其他一些我需要寻找的地方吗?

此外,WMI查询中列出的两个已安装的程序不在"添加/删除程序"中.知道为什么吗?

windows wmi windows-installer

39
推荐指数
6
解决办法
16万
查看次数

Windows Installer中BannerBitmap属性的图像大小

我正在使用Visual Studio中的快速安装程序,并希望更改横幅位图.任何人都知道新横幅图像的理想尺寸(或所需尺寸)是什么?谢谢.

windows-installer

38
推荐指数
1
解决办法
2万
查看次数

Wix:如何设置文件夹和所有子文件夹的权限

我知道如何设置文件夹的权限:

<DirectoryRef Id="ProgramFilesFolder">
  <Directory Id="PHPFolder" Name="PHP">
    <Component Id="PHP_comp" DiskId="1" Guid="*">
      <CreateFolder>
        <Permission User="Everyone" GenericAll="yes" />
      </CreateFolder>
Run Code Online (Sandbox Code Playgroud)

但是,我还需要将权限应用于所有子文件夹.是否可以列出所有文件夹?

permissions installer windows-installer wix wix-extension

38
推荐指数
3
解决办法
3万
查看次数