我需要使用InstallUtil来安装C#windows服务.我需要设置服务登录凭据(用户名和密码).所有这一切都需要默默地完成.
有没有办法做这样的事情:
installutil.exe myservice.exe /customarg1=username /customarg2=password
Run Code Online (Sandbox Code Playgroud) 我有一个产品安装程序可执行文件,可以将一些文件复制到用户的硬盘上.它不是正常意义上的典型安装程序(它不会向"开始"菜单或"程序文件"文件夹添加任何内容).
每次在Vista上运行安装程序时,在exe终止后,Vista会生成一个任务对话框:
是否有一个函数我需要从exe或注册表项调用来设置,以指示操作系统正确安装程序(或至少压制此消息)?
相关问题: Windows 7 RC中的"此程序可能未正确安装"消息(适用于Windows 7特定问题)
这可能是一个愚蠢的问题,我的谷歌搜索今天没有运作.
我有一个应用程序,我添加了一个Visual Studio安装程序>安装向导项目.我想知道如何添加一个按钮或复选框,成功安装后将启动该应用程序.这将位于MSI安装程序包的最后一页.我正在使用Visual Studio 2010 Ultimate.
我需要这样,以便当应用程序执行自动更新时,它会自动启动安装程序.我只需要安装程序在更新后重新启动应用程序.
这可能很简单,但对于我的生活,我无法弄明白.在此先感谢您的帮助.
我常常遇到Windows Installer尝试卸载软件包的问题,但它抱怨说:
您尝试使用的功能是在不可用的网络资源上.
当原始MSI根本不可用时,是否有已知的卸载此类软件包的方法?
您建议使用哪种(商业或免费)安装程序工具将InstallAnywhere替换为Java EE应用程序的安装程序?你特别喜欢它,它的缺点是什么?
一些要求:
编辑:还有几点:
编辑:我发布了一个单独的答案,关于我们最终选择了什么以及为什么.
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表中列出.
一旦你知道这意味着什么,我相信,这是非常有用的.
我一直在尝试使用以下命令为安装程序创建问题的日志文件:
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.
尝试使用WMI获取已安装的Windows XP程序列表.使用wmic,我试过:
wmic /output:c:\ProgramList.txt product get name,version
Run Code Online (Sandbox Code Playgroud)
我得到了许多已安装程序的列表,但在根据显示的"添加/删除程序"清除此列表后,我看到添加/删除程序的GUI中列出的程序多于WMI查询.我需要使用另一个WMI查询来安装其余的程序吗?或者还有其他一些我需要寻找的地方吗?
此外,WMI查询中列出的两个已安装的程序不在"添加/删除程序"中.知道为什么吗?
我正在使用Visual Studio中的快速安装程序,并希望更改横幅位图.任何人都知道新横幅图像的理想尺寸(或所需尺寸)是什么?谢谢.
我知道如何设置文件夹的权限:
<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)
但是,我还需要将权限应用于所有子文件夹.是否可以列出所有文件夹?