我想使用 Visual Studio 创建 Windows 安装程序包。据我了解,在 vb6 中有一种简单的方法可以做到这一点,您可以添加一个安装程序,就像添加一个新表单一样。
我怎样才能在vb.net中做到这一点?我从http://www.microsoft.com/downloads/details.aspx?FamilyID=c17ba869-9671-4330-a63e-1fd44e0e2505&displaylang=en下载并安装了Windows SDK,因为它在某处说它可以创建安装程序包并有工具为 .net 这样做,但没有这样的运气。
我不想为此使用 NSIS 或 Inno Setup。
有什么方法可以通过安装程序包获得与 vb6 相同的功能吗?
谢谢,我觉得我在这里错过了重要的一步......
编辑:我使用的是 Visual Basic 2008 Express,不是专业的。我的模板选项下没有“设置和部署”或类似的内容。
我正在尝试使用加载 ESRI 的 ArcEngine 的 WindowsFormsHost 安装 C# WPF。
MSI 安装程序出现此错误:
Unable to install. The app requires assembly ESRI.ArcGIS.Framework Version
10.0.0.0 to be installed in the GAC first
Run Code Online (Sandbox Code Playgroud)
我已经安装了 ESRI ArcEngine Runtime 10,它应该可以处理这类事情,但我想它并不完美。
在目标计算机上,文件 Framework.dll 位于文件夹: 中 C:\Program Files\ArcGIS\DeveloperKit10.0\DotNet,但不在 中c:\windows\assembly。
我右键单击程序集,然后单击“注册”进行注册,但这并没有解决我的问题。
我觉得这个问题真的很傻,因为我知道我不应该在这个简单的任务中遇到这么多麻烦......但是当用户按下一个表单的按钮时,我正试图启动我的.msi.我确信这是一个单行,但我不能为我的生活弄清楚这一点.我的桌面上有.MSI文件,所以我希望按钮也能让用户选择msi文件所在的位置.如果有人能帮助我那将是伟大的......
所以我尝试像运行 exe 文件一样运行 .msi 文件,这可能是问题所在。我收到此错误消息
java.io.IOException:无法运行程序“\”:CreateProcess 错误=193,%1 不是有效的 Win32 应用程序
try { Runtime rf = Runtime.getRuntime();
Process pf = rf.exec("\\IE8fix.msi");
} catch(Exception e) {
System.out.println(e.toString());
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud) 我有一个 MSI 文件,我正在尝试提取文件属性的“详细信息”选项卡中指定的一些参数。
我找到了msilib,其中 SummaryInformation.GetProperty(field) 看起来像是要走的路,但我不明白如何使用它。我如何将其“连接”到现有的 MSI 文件而不是正在创建的文件?
什么是托管安装?“msi 正在服务器端运行”是什么意思?“可以将 msi 属性传递给服务器端”是什么意思?
这个问题来自“Property”元素“Secure”属性的wix文档:
Denotes that the Property can be passed to the server side when doing a managed installation with elevated privileges. See the SecureCustomProperties Property for more information.
Run Code Online (Sandbox Code Playgroud) 我们的客户端仅允许在以管理员身份登录时安装应用程序。必须为机器的当前用户安装需要安装的应用程序。该应用程序安装正常,当我需要在用户的 appdata/user 配置文件文件夹中放置一个配置文件时,我的问题就出现了。由于这是他们想要的地方,目前配置正在安装时被删除到管理员配置文件中。我如何解决这个问题,有没有办法让我检查安装是否有其他配置文件并可能写信给他们,但这感觉很脏。
我以前使用过InstallAware和InstallShield,它们很难使用,当出现问题时很难找到并解决问题。
我的问题是为什么我们不能使用 C# 编写的 Windows 应用程序来执行此操作。我知道 .Net Framework 可能不会安装在目标计算机上,所以我想知道为什么没有人使用过这种架构:我将使用 IntallSiheld(或任何其他类似工具)创建一个简单的安装程序来安装 .Net Framework,然后它提取并运行我自己的 Windows 应用程序,该应用程序是我在提升模式下使用 C# 编写的。我的应用程序将运行一个带有“后退”和“下一步”按钮的向导,我将处理其中的所有内容(复制文件、创建和启动 Windows 服务、添加注册表值、创建防火墙扩展等)。有人曾经这样做过吗?有什么事情吗?阻止人们这样做?
windows windows-installer installshield installaware winforms
规格 - 我在 Windows 10 机器上运行 VS2017 企业版。我有一个简单的 .DLL,我将从 Web 服务器更新并从外部引用属于另一家公司的软件。我通常使用 Inno Setup,但我想利用 ClickOnce。但是,当我尝试制作测试证书时,我收到一条错误消息。我找到了一些信息表明这是一个权限问题。我以管理员身份运行它,我是管理员。
问题 - 访问被拒绝。(来自 HRESULT 的期望:0x80070005(E_ACESSDENIED))
VS2017 以管理员模式运行,我的客户端拥有完全权限。
我可以从文件中导入我的公司证书,但我不想使用它。
有谁知道如何解决这个问题?谢谢。
.net clickonce windows-installer windows-10 visual-studio-2017
我在为我的项目制作安装程序时遇到问题,我按照本教程https://www.youtube.com/watch?v=fehVTLNQorQ,当我在输出控制台中构建安装项目时,我只得到这个
------ Starting pre-build validation for project 'Setup' ------
------ Pre-build validation for project 'Setup' completed ------
1>------ Build started: Project: Setup, Configuration: Debug ------
Building file 'C:\Users\Juan Finol\source\repos\Win-cloudmetadrive\Setup\Debug\Setup.msi'...
WARNING: Including primary output of project 'CloudMetaPrinter.csproj' with target framework '.NETCoreApp v3.1' may result in incomplete content. See here: https://go.microsoft.com/fwlink/?linkid=2112157
Packaging file 'CloudMetaPrinter.runtimeconfig.json'...
Packaging file 'CloudMetaPrinter.dll'...
========== Build: 1 succeeded, 0 failed, 1 up-to-date, 0 skipped ==========
Run Code Online (Sandbox Code Playgroud)
当我安装该项目时,快捷方式是 .ink,如果我尝试运行它,我会收到一条消息,说它是一个 dll 文件,可能会损坏我的系统,如果我转到安装文件夹,我只会看到一个名为 Setup 的文件夹和里面只有一个 .dll 文件和一个 .runtimeconfig.json 文件,我尝试寻找其他教程,但都是相同的,我没有找到问题的解决方案。
抱歉我的英语不好,谢谢你的帮助!
我是 WIX 的新手,正在尝试创建 MSI 来安装服务。安装项目正在生成 .wixlib 对象而不是 msi。我正在研究这个例子。
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<!-- TODO: Put your code here. -->
<Product Name="Smart Elf Service"
Id="*"
UpgradeCode="927E7BBE-58C0-4832-A821-24A6B19AEE63"
Version="1.0.0.0"
Manufacturer="Me!"
Language="1033">
<Package
Manufacturer="Me!"
InstallerVersion="100"
Languages="1033" />
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder" Name="Program Files(x86)">
<Directory Id="CorporationFolder" Name="Corporation">
<Directory Id="SmartElfFolder" Name="SmartElf Service">
<Component Id="SmartElfService">
<File Id="SmartElfServiceBinary" Name="ElfVerificationService.exe" Source ="..\ElfVerificationService\bin\debug\ElfVerificationService.exe" KeyPath="yes" Vital="yes"/>
<ServiceInstall
Id="SI_SmartElfService"
Vital="yes"
Name="sesvc"
DisplayName="SmartElf Service"
Start="auto"
ErrorControl="normal"
Type="ownProcess"
/>
<ServiceControl
Id="SC_SmartElfService"
Name="sesvc"
Start="install"
Stop="both"
Remove="uninstall"
Wait="yes"
/>
</Component>
</Directory>
</Directory> …Run Code Online (Sandbox Code Playgroud) 我正在尝试以静默模式安装sqlcmd,但我无法弄清楚如何自动接受EULA.我正在尝试安装的文件名为"MsSqlCmdLnUtils.msi"(从MS下载中心下载).这是我到现在为止所尝试的(与谷歌一起发现):
msiexec /i "MsSqlCmdLnUtils.msi" /passive AcceptEndUserLicenseAgreement=1
msiexec /i "MsSqlCmdLnUtils.msi" /passive ACCEPTEULA=1
msiexec /i "MsSqlCmdLnUtils.msi" /passive ACCEPT=1
msiexec /i "MsSqlCmdLnUtils.msi" /passive EULA=1
Run Code Online (Sandbox Code Playgroud)
以及"= yes"而不是"= 1"的所有组合
我得到的只是ERRORLEVEL 1603(错误1603:安装过程中发生了致命错误.)
有任何想法吗?
我正在尝试使用 asp.net 应用程序插入 msi 文件。当我在管理员模式下运行 Visual Studio 时它工作正常但是当我在正常模式下运行它时它不起作用。我曾尝试以下代码:
string installerFilePath;
installerFilePath = @"D:\ActivexPractice\test\test\NewFolder1\setup.msi";
System.Diagnostics.Process installerProcess = System.Diagnostics.Process.Start(installerFilePath, "/q");
Run Code Online (Sandbox Code Playgroud)
任何机构都可以指导我如何在没有管理员的情况下安装它