问题描述
我想使用Inno Setup将文件夹转换为具有IIS的应用程序。
I want to convert a folder to an application with IIS using Inno Setup.
我发现我可以使用PowerShell使用
I found that I can do it with PowerShell, using
ConvertTo-WebApplication 'IIS:\Sites\Default Web Site\MY_APP'
我已将其添加到我的Inno Setup脚本中:
I have added this to my Inno Setup script:
[Run]
Filename: "powershell.exe"; \
Parameters: "-ExecutionPolicy Bypass -Command ConvertTo-WebApplication 'IIS:\Sites\Default Web Site\MY_APP'" \
WorkingDir: {app}; Flags: runhidden
但是PowerShell失败:
But PowerShell is failing with:
推荐答案
作为32位应用程序中的Inno安装程序,默认情况下它将运行32位版本的PowerShell,该版本将依次使用32位COM类。
As Inno Setup in a 32-bit application, it will by default run 32-bit version of PowerShell, which in turn will use 32-bit COM classes.
ConvertTo-WebApplication
所需的COM类似乎仅对64位可用(或注册)。
The COM class needed for ConvertTo-WebApplication
seems to be available (or registered) for 64-bit only.
添加使Inno Setup使用64位版本的PowerShell。
Add the Flags: 64bit
to make Inno Setup use 64-bit version of PowerShell.
[Run]
Filename: "powershell.exe"; \
Parameters: "-ExecutionPolicy Bypass -Command ConvertTo-WebApplication 'IIS:\Sites\Default Web Site\MY_APP'" \
WorkingDir: {app}; Flags: runhidden 64bit
或使用。
有关类似问题,请参见 。
这篇关于从Inno安装程序执行的PowerShell脚本失败,并显示“为具有CLSID {XXXX}的组件检索COM类工厂失败-错误80040154”。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!