我正在使用Visual Studio 2008编写安装,而我对安装完全不熟悉.我已经创建了一个安装,并使用C#程序集成功编写了一些自定义操作.一个操作设置RunOnce注册表值,现在我需要提示用户在安装完成时重新启动,但我不知道如何.我已经阅读了Installer类文档,但我找不到任何重启的提及.
我假设我需要以某种方式调用MsiSetProperty并设置REBOOT属性,但我不知道如何从我的.NET安装程序项目中执行此操作.
我正在为工作环境构建一个部署,并使用Inno Setup进行部署.我将其他安装程序包装在一个Inno-exe-File中.它与其他exe安装程序一起正常工作,但在MSI安装程序方面失败了.
我不知道是否有任何一般性问题,但它完全忽略了我与MSI exe的文件关联(它在Explorer中工作正常,关联是可以的).
有任何想法吗 ?可能有一些普遍的问题..
我的项目使用几个带有activex控件的dll文件.
现在我正在制作一个部署项目(Windows安装程序).
我需要使用regsvr32通过Windows安装程序注册dll.我该怎么办?我可以检测regsvr32是否失败?
我正在使用wix编写安装程序.作为安装的一部分,我正在安装服务并启动它.但我无法启动该服务.
这是wix代码:
<Component Id="Service" Guid="*">
<File Id="MyService.exe"
Name="MyService.exe"
Source="MyService.exe"/>
<ServiceInstall Id="ServiceInstaller"
Type="ownProcess"
Vital="yes"
Name="MyService"
DisplayName="Name="MyService.exe"
Description="Name="MyService.exe"
Start="auto"
Account="LocalSystem"
ErrorControl="normal"
Interactive="no">
<ServiceDependency Id="CcmExec"/>
</ServiceInstall>
<ServiceControl Id="ServiceController"
Start="install"
Stop="both"
Remove="uninstall"
Name="MyService"
Wait="no"/>
</Component>
</DirectoryRef>
Run Code Online (Sandbox Code Playgroud)
在浏览msi详细日志后,它会显示错误1920
但是,如果我手动安装服务(使用来自cmd提示符的MyService -service)并使用Services.msc启动它,它可以正常工作.之后,我的安装程序能够卸载,并在重新安装时再次启动服务,没有任何问题.
我在将msi安装到Windows 2008 Web服务器上时遇到问题.先前已成功安装完全相同的msi.msi用于我创建并安装到IIS中的.net 4.0 Web应用程序.
发生的事情是msi似乎正确安装,它在进度条上剩余0秒,然后突然开始回滚.我查看了事件查看器以获取有关此信息的信息但没有出现在那里,以帮助找到问题的根源.
由于之前安装的msi没有问题,我相信问题可能与更改服务器而不是与msi有关.
任何人之前都有过这方面的经验,或者想知道我可以在哪里找到有关msi安装程序回滚的原因的更多信息?
好吧,我在Bogdan Mitrache回复的帮助下做的是比较来自成功服务器和导致问题的服务器的日志,这是我发现错误发生的部分:
FAILED: -2147024864
FAILED: -2147024864
Custom Action failed with code: '32'
Custom Action failed with code: '32'
Custom Action completed with return code: '32'
Info 1903. Scheduling reboot operation: Deleting file << root directory >>\TBD2D0E.tmp. Must reboot to complete operation.
Info 1903. Scheduling reboot operation: Deleting file << root directory >>\TBD2ED3.tmp. Must reboot to complete operation.
Info 1903. Scheduling reboot operation: Deleting file << root directory >>\TBD2F41.tmp. Must reboot to complete …Run Code Online (Sandbox Code Playgroud) 我的印象是Inno Setup完全绕过了Windows Installer.任何人都可以证实或反驳这一观点吗?
我在Visual Studio 2015中创建了一个安装程序项目。成功完全构建了该应用程序并安装在我的系统中(我使用的是Windows 10 64位)。但是,当我尝试在32位OS上安装该软件包时,出现了错误消息“此处理器不支持安装软件包”。我已经检查了项目的属性,但是与此没有任何关系。解决方案中的所有项目(我有4个项目)都是通过AnyCPU模式构建的。
当我从中打开配置管理器时,有用于选择其他项目的配置和平台的选项,但是我们不能为安装项目选择平台。我附上了屏幕截图。
希望有人会指导我创建可以使用Visual Studio 2015在32位和64位操作系统上安装的安装程序包。
.net windows windows-installer visual-studio visual-studio-2015
我正在尝试安装一个软件,当手动完成时,您可以在完成整个过程时选择配置选项.我试图找到一种使用PowerShell自动化的方法,但我仍然坚持如何设置这些配置选项.我相信我需要在安装程序.exe上运行start-process命令,但我不知道从那里去哪里.我可以使用start-process命令中的参数来传递我想要的配置吗?
在我的WIX项目中,我有一个像这样的目录结构:
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="INSTALLLOCATION" Name="FolderName">
...
</Directory>
<Directory Id="MYDIRECTORY" Name="SomeDifferentDirectory">
...
</Directory>
</Directory>
Run Code Online (Sandbox Code Playgroud)
这里INSTALLLOCATION代表我程序的安装文件夹,但是我想另外创建另一个安装目录之外的目录,例如D:\MyFolder1\MyFolder2,从上面的例子中我如何分配这个值,MYDIRECTORY以便在安装完成后创建它?
我正在创建一个bootsrapper,我想删除在安装过程中创建的链接.所以我写下面的步骤:
<Chain>
...
<ExePackage Id="removelnk" Cache="no" SourceFile="run.bat" InstallCommand="del "C:\Users\Public\Desktop\Parity UI.lnk"" />
</Chain>
Run Code Online (Sandbox Code Playgroud)
其中run.bat仅仅是%*允许的描述来运行任意代码在这里.
但是,它不起作用:
[19EC:0E2C][2018-06-16T18:32:27]i301: Applying execute package: removelnk, action: Install, path: C:\ProgramData\Package Cache\1608BB75347CD8C40187E5F3C0A969ED73A98D51\run.bat, arguments: '"C:\ProgramData\Package Cache\1608BB75347CD8C40187E5F3C0A969ED73A98D51\run.bat" del "C:\Users\Public\Desktop\Parity UI.lnk"'
[19EC:0E2C][2018-06-16T18:32:27]e000: Error 0x80070001: Process returned error: 0x1
[19EC:0E2C][2018-06-16T18:32:27]e000: Error 0x80070001: Failed to execute EXE package.
[0AE4:2B94][2018-06-16T18:32:27]e000: Error 0x80070001: Failed to configure per-machine EXE package.
[0AE4:2B94][2018-06-16T18:32:27]i319: Applied execute package: removelnk, result: 0x80070001, restart: None
[0AE4:2B94][2018-06-16T18:32:27]e000: Error 0x80070001: Failed to execute EXE package.
Run Code Online (Sandbox Code Playgroud)
如果我从登录中执行此命令,cmd那么它按预期工作.它甚至没有管理员权限. …
installer ×4
.net ×3
wix ×3
inno-setup ×2
windows ×2
automation ×1
burn ×1
c# ×1
install ×1
powershell ×1
regsvr32 ×1
webserver ×1
wix3.11 ×1