相关疑难解决方法(0)

cx_freeze bdist_msi:创建注册表项?

我过去bdist_msi从 cx_freeze 使用过,效果很好。

现在我需要创建注册表项

是否可以bdist_msi从 cx_freeze创建注册表项?

过去使用 wixtools 完成了这些设置:

<!-- File extension .foostarter -->
<RegistryValue Root='HKCR' Type='string' Key='.foostarter' Value='foostarter.File' />
<RegistryValue Root='HKCR' Type='string' Key='.foostarter' Name='Content Type' 
                           Value='application/vnd.foobar-modstarter' />
<RegistryValue Root='HKCR' Key='foostarter.File\Shell\Open' Type='string' Value='Ausfuehren' />
<RegistryValue Root='HKCR' Key='foostarter.File\Shell\Open\Command' Type='string'
               Value='"[#foostarter.exe]" file "%%1"' />

<!-- protocol foostarter://... -->
<RegistryValue Root='HKCR' Key='foostarter' Type='string' Value='URL: foostarter Protocol' />
<RegistryValue Root='HKCR' Key='foostarter' Type='string' Name='URL Protocol' Value=''/>
<RegistryValue Root='HKCR' Key='foostarter\shell\open\command' Type='string' 
               Value='"[#foostarter.exe]" url "%%1"' />

<!-- start without asking -->
<RegistryValue Root='HKLM' …
Run Code Online (Sandbox Code Playgroud)

windows-installer cx-freeze

5
推荐指数
1
解决办法
587
查看次数

如何使用WiX创建.msi安装程序

有人可以帮我理解WiX的工作原理吗?我有一个目录结构,我想为其创建一个安装程序.我已经使用heat.exe生成了目录结构,当我构建安装项目时,它会生成一个.msi文件,但我认为它不会安装任何东西.

也许有人可以引导我完成生成.msi安装程序的步骤.

任何建议表示赞赏,谢谢

installer windows-installer wix

4
推荐指数
4
解决办法
5693
查看次数

为什么限制在我的WiX/MSI设置中使用自定义操作是个好主意?

为什么限制在我的WiX/MSI设置中使用自定义操作是个好主意?


部署是大多数开发的关键部分.请给这个内容一个机会.我坚信,通过应用程序设计的微小变化可以显着提高软件质量,使部署更加合理,更可靠 - 这就是"答案"的全部 - 软件开发.


这是一个Q/A风格的问题,从一个过长的答案中分离出来:如何避免我的WiX/MSI部署解决方案中的常见设计缺陷?.

windows-installer custom-action wix

3
推荐指数
1
解决办法
644
查看次数

具有Windows应用程序在线注册的安装程序

我们使用Visual Studio 2013在vb.net中开发了一个软件.现在我们要构建一个具有以下步骤/功能的自定义安装程序:

  1. 用户开始安装我们的软件.
  2. 在"输入串行密钥"选项中,用户输入我们提供的16位串口.
  3. 单击"确定"按钮后,我们的软件将连接到我们的IP并将串行密钥与其他用户的信息一起保存到我们的数据库中.
  4. 确认密钥将返回给我们的软件.
  5. 软件写入文件并将其保存到系统文件夹.

它几乎像Adobe或Corel注册过程.我们对其他技术持开放态度,这些技术必须确保我们的软件必须仅安装在一台机器上.请注意,我们是一群新手程序员(不是那么先进水平),所以; 如果这个过程得到详细阐述,对我们非常有帮助.

vb.net installer windows-installer wix visual-studio-2013

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

使用 Qt 安装程序框架创建 .msi 安装程序

我一直在研究 Qt 安装程序框架,但是当您使用此工具创建设置时,它是一个常规设置,尽管我想知道是否可以创建一个 msi 设置以便能够在网络范围内安装 Qt 程序。

我已经查看了安装程序框架文档,但到目前为止找不到任何关于此的信息。

c++ qt windows-installer qt-installer

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

Wix 安装程序:在命令行执行 MSIEXEC 管理员安装时设置组件条件属性

我们的产品有三种类型/口味,但只有一种用 WiX 编写的 MSI。当我们构建安装程序时,我们通过定义的常量传递风味:

Call MSBUILD.bat ..\MSIs\CoreProduct\OurProduct.sln /p:DefineConstants="FLAVOUR=%_Flavour%"
Run Code Online (Sandbox Code Playgroud)

常量在 Visual Studio 中设置,在 Build -> Define preprocessor variables as FLAVOUR=50 下。构建过程传递值 50、200 或 LITE 作为风味。

在 WiX 代码中,我们在组件上有很多条件,告诉它根据风格安装哪个文件;例如

      <Component Id="cmp7F45920B1AA100729BAE37FC846B3FC5" Guid="*">
    <File Id="fil238A776D9294E14671E012472F9F7196"
          KeyPath="yes"
          Source="$(var.MenusPath)\ClientListView 200.r5m"  
    <Condition>$(var.FLAVOUR)=200</Condition>
  </Component>

      <Component Id="cmp8BFF42B232724DC4BA5B8F87994DEF21" Guid="*">
    <File Id="fil808D6428D67248DDB8CA65DBC5978283" 
          KeyPath="yes" 
          Source="$(var.MenusPath)\ClientListView Lite.r5m"
    <Condition>$(var.FLAVOUR)=LITE</Condition>
  </Component>
Run Code Online (Sandbox Code Playgroud)

因此,如果 FLAVOR 为 LITE,上面的示例将安装一个名为“ClientListView Lite.r5m”的文件,如果 FLAVOR 为 200,它将安装一个名为“ClientListView 200.r5m”的文件。

这一切都按预期工作,并且已经做了多年!!

但是现在,我们有我们产品的网络版本,我们需要一个 zip 文件来包含将为每种口味安装的文件夹结构和文件。我发现您可以使用 MSIEXEC 和 /a 参数在命令行上运行 msi,然后将所有已安装到文件夹中的内容重定向并认为这正是我想要的......但可惜它不像我那样工作早就料到了。

它似乎正在做的是运行 MSI 并将文件提取到目标文件夹中,但它忽略了风味,因此您最终将“ClientListView Lite.r5m”和“ClientListView 200.r5m”文件都提取到文件夹; 这显然不是我想要的。

在阅读 MSIEXEC 上的文档后,您似乎可以传递公共属性的值,例如 msiexec.exe /a "C:\Example.msi" MY_PROP="myValue" - 所以我认为这可能对我有帮助;所以在我的 …

windows-installer wix admin conditional-statements

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

Windows服务未显示在控制面板下的“添加删除程序”中

我通过(服务名称:测试服务)安装了Windows服务

Windows 7计算机中.NET Framework(:\ Windows \ Microsoft.NET \ FrameWork64 \ v4)中存在的InstallUtil.exe。

我可以在服务控制台下看到我的服务。

但是,我转到控制面板的程序和功能来手动卸载同一服务,但我没有在程序和功能下看到我的服务?

有什么想法为什么服务不会显示,以便用户可以卸载它?

我也检查了显示隐藏文件,但仍然没有显示服务?

.net c# service windows-installer windows-services

1
推荐指数
1
解决办法
3273
查看次数

从管理员配置文件在当前用户配置文件上创建文件夹和文件

我们的客户端仅允许在以管理员身份登录时安装应用程序。必须为机器的当前用户安装需要安装的应用程序。该应用程序安装正常,当我需要在用户的 appdata/user 配置文件文件夹中放置一个配置文件时,我的问题就出现了。由于这是他们想要的地方,目前配置正在安装时被删除到管理员配置文件中。我如何解决这个问题,有没有办法让我检查安装是否有其他配置文件并可能写信给他们,但这感觉很脏。

c# windows windows-installer wix profiles

0
推荐指数
1
解决办法
2211
查看次数

使用 C# Winforms 而不是安装程序工具创建 Windows 安装程序

我以前使用过InstallAware和InstallShield,它们很难使用,当出现问题时很难找到并解决问题。

我的问题是为什么我们不能使用 C# 编写的 Windows 应用程序来执行此操作。我知道 .Net Framework 可能不会安装在目标计算机上,所以我想知道为什么没有人使用过这种架构:我将使用 IntallSiheld(或任何其他类似工具)创建一个简单的安装程序来安装 .Net Framework,然后它提取并运行我自己的 Windows 应用程序,该应用程序是我在提升模式下使用 C# 编写的。我的应用程序将运行一个带有“后退”和“下一步”按钮的向导,我将处理其中的所有内容(复制文件、创建和启动 Windows 服务、添加注册表值、创建防火墙扩展等)。有人曾经这样做过吗?有什么事情吗?阻止人们这样做?

windows windows-installer installshield installaware winforms

0
推荐指数
1
解决办法
4342
查看次数