小编lei*_*ren的帖子

用于WiX的Dialog设计的GUI

WiX非常棒,因为没有GUI,您只需编写您想要的安装程序即可.没有摆弄GUI向导!

但是,绘制GUI实际上是我更喜欢使用GUI的一件事.

那么,是否有出口WiX数据的对话绘图程序?
(我想其他方面也许我可以将Visual Studio的表单编辑器转换为WiX-XML.)

/ L

wix

40
推荐指数
4
解决办法
5万
查看次数

以编程方式提取InstallShield setup.exe的内容

我试图提取InstallShield setup.exe文件的文件内容.(我的计划是在后台工具中使用它,因此必须以编程方式完成,而无需任何用户交互.)

这可能吗?
(初步研究似乎表明它会失败.)

如果可以使用通用解决方案,那么最适合所有最新版本的InstallShield.
否则,如果解决方案仅适用于某些版本的InstallShield,那么这将是一个步骤.(setup.exe通过查看exe文件的版本资源,可能会推断出哪个InstallShield版本是a .

发现一些InstallShield版本支持/b/extract_all.然而,没有好的方法可以知道,只需启动exe并希望它将有序地提取和终止,而不是显示GUI对话框似乎不是一个好的解决方案.因此,我正在寻找一种更稳定的方式.
想法欢迎.

installer installshield

22
推荐指数
3
解决办法
12万
查看次数

从Console.In读取二进制数据

有没有办法从C#中的stdin读取二进制数据?

在我的问题中,我有一个程序,它启动并在stdin上接收二进制数据.基本上: C:>myImageReader < someImage.jpg

我想写一个程序,如:

static class Program
{
    static void Main()
    {
        Image img = new Bitmap(Console.In);
        ShowImage(img);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是Console.In不是Stream,它是TextReader.(如果我尝试读取char [],TextReader会解释数据,不允许我访问原始字节.)

有人知道如何访问实际的二进制输入?

干杯,莱夫

c#

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

如何为ListViewSubItem设置图标?

在ListView中,您可以在每个项目上添加图标.
在详细信息模式下查看时,图标显示在最左侧的列中.

我可以在其他列中显示图标吗?

.net c# listview listviewitem winforms

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

什么是xmlns:XSD中的mstns?

xml:mstns在以下xsd-header中表达了什么?

<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="config"
    targetNamespace="http:/tempuri.org/config.xsd"
    elementFormDefault="qualified"
    xmlns=""
    xmlns:mstns="http://tempuri.org/config.xsd"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
  <xs:element name="config">
...
Run Code Online (Sandbox Code Playgroud)

xml xsd

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

在Windows.Forms中创建控件列表

我已经决定要有一个带有"复杂上下文"的列表,即自定义控件.(目标看起来像一个好友列表,包括照片,状态图标,文本和"开始聊天按钮".)

但我喜欢它表现为列表:滚动条,选择多个项目的可能性等.

当我一直在查看ListView和ListBox时,我只看到我可以添加文本和图标,但不能添加任意控件.我不知道这是怎么做到的?

或者我应该使用ListView/ListBox以外的东西?

c# winforms

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

WiX:使用wxs-fragment-file无法定义包含文件中的定义

我有一个defines.wxi-file,其中包含我所有wxs文件中使用的一些好的定义.

当我尝试从其中一个文件引用定义的值时,<Fragment>我会Undefined preprocessor variable '$(var.IMAGE_FOLDER)'回到我的脸上.

我想这里有一些微不足道的东西......我有什么想法吗?

编辑19:4月.
发现仅在从Fragment文件引用时才会出现该问题.
重新编写样本以匹配该样本.


defines.wxi

<Include>
    <?define IMAGE_FOLDER="Images" ?> 
</Include>
Run Code Online (Sandbox Code Playgroud)

一些-Fragment.wxs

<Fragment>
  <?Include defines.wxi ?>

  <Component Id='c.Images' Guid=".." Directory='INSTALLDIR.Images' >
     <File Id='f.sample.jpg' Source='$(var.IMAGE_FOLDER)sample.jpg' Name='sample.jpg' />
  </Component>
Run Code Online (Sandbox Code Playgroud)

wix

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

Err.Number 与 VB.net 中的 try-catch

我继承了一个旧的 VB.net 项目。代码主要使用 try-catch 进行错误处理。但是在某些地方我发现If Err.Number <> 0 Then.

如果发生错误,是什么决定是Exception应该抛出an还是只设置Err

我不想同时处理错误...

vb.net exception-handling try-catch

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

WiX:使用CustomAction强制启动之前的卸载

我正在为我们的产品写一个新的重大升级.在我的安装程序中,我首先查找以前版本的配置设置,然后我想卸载以前的版本.

我找到了几个指南,告诉我如何使MSI适合这种升级.

但是,之前的不是MSI.
这不符合最佳做法.

但是,它在注册表HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall {GUID}中指定了一个UninstallString.

使用RegistrySearch我可以很容易地找到下面的命令,我将其存储在UNINSTALL_CMD中.

RunDll32 C:\PROGRA~1\COMMON~1\INSTAL~1\PROFES~1\RunTime\10\01\Intel32\Ctor.dll,LaunchSetup 
    "C:\Program Files\InstallShield Installation Information\{GUID}\setup.exe"
    -l0x9  -removeonly 4:  
Run Code Online (Sandbox Code Playgroud)

我无法获得执行实际卸载所需的CustomAction.

       <CustomAction Id="ca.UninstPrev" Property="UNINSTALL_CMD" ExeCommand="" />
Run Code Online (Sandbox Code Playgroud)

MSI日志显示:
Info 1721.此Windows Installer程序包存在问题.无法运行此安装所需的程序.请联系您的支持人员或包装供应商.操作:ca.UninstallPrevious,位置:RunDll32 C:\ PROGRA~1\COMMON~1\INSTAL~1\PROFES~1\RunTime\10\01\Intel32\Ctor.dll,LaunchSetup"C:\ Program Files\InstallShield安装信息{GUID}\setup.exe"-l0x9 -removeonly,命令:

有谁看到我在这里做错了什么?

关心
莱夫

wix

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

在VB.net中显式添加/删除事件

在C#中,您可以在订阅/取消订阅时定义显式add/ remove代码event.

这可能在VB.net中吗?

vb.net

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