小编Cod*_*396的帖子

如何使用命令行实用程序编辑exe的资源(文件描述,图标等)?

整个故事: 我创建了一个花哨的.NET程序,它有一个由Visual Studio Installer(VSI)创建的安装程序.VSI创建2个文件(setup.exe和MyProgramSetup.msi).我理解需要两个文件的原因,但是,我只想向用户分发一个SINGLE可执行安装程序.我不希望他们看到2个文件,必须在它们之间进行选择.

为了做到这一点,我已经使用IExpress将2个文件合并到一个自解压存档中(如本答案所示:Merge msi和exe).这很好用,但是,创建的自解压存档有一个丑陋的图标和令人困惑的文件信息(文件描述是"Win32 Cabinet Self-Extractor",后面有43个空格).

我需要用我的自定义替换图标并更改一些文件属性,如"描述","公司"等.我希望自动完成这个作为构建步骤,所以有一个程序,这是一个命令行/控制台实用程序会很棒.

我已经搜索了一段时间,只能找到一个完全符合我想要的程序(ResourceTuner控制台:http://www.heaventools.com/command-line_resource_editor.htm),但它花费了一条胳膊和一条腿,我的预算是0美元.

有没有人知道更好的方法来实现我想要的,或者知道一个程序可以替换可执行文件的资源而无需使用GUI?

顺便说一句,我还尝试过SiComponents的Resource Builder 3,它甚至无法打开可执行文件,而ResEdit只是在执行命令时崩溃:

resedit.exe -convert "Modified Resources.rc" "MyProgramSetup.exe"
Run Code Online (Sandbox Code Playgroud)

.net deployment resources windows-installer iexpress

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

如何将app.config移动到Solution Explorer中的其他文件夹?

我正在使用Visual Studio 2010.在我的解决方案资源管理器中,我喜欢将项目项目排序到文件夹(Forms的文件夹,Classes的文件夹,Misc文件夹等)

看来,如果我将"app.config"文件移动到名为"Config Files"的文件夹,一切都会有效,直到我更改Settings.settings文件中的设置.一旦我这样做,就会创建一个新的app.config,并且"Config Files"文件夹中的那个没有得到更新.

我搜索了整个解决方案的文本"app.config",但没有找到任何结果.如何移动此文件以使我的解决方案资源管理器看起来干净整洁?

visual-studio-2010 winforms

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

如何确定用户操作或代码是否触发了事件?

我在表单上有一堆控件,所有"更改"事件都指向同一个事件处理程序.其中一些是txtInput1的TextChanged,chkOption1的CheckedChanged和cmbStuff1的SelectedIndexChanged.这是事件处理程序:

private void UpdatePreview(object sender, EventArgs e)
{
    // TODO: Only proceed if event was fired due to a user's clicking/typing, not a programmatical set
    if (sender.IsSomethingThatTheUserDid) // .IsSomethingThatTheUserDid doesn't work
    {
        txtPreview.Text = "The user has changed one of the options!";
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望if语句只在​​用户更改TextBox文本或单击复选框或其他任何内容时运行.如果文本或复选框被程序的其他部分更改,我不希望它发生.

.net c# events

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

如何使用LINQ to XML将XML元素移动到上一个元素之上?

我有以下XML结构:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Root xmlns:xsi="My Program">
    <NotRoot Text="Hello">
        <SomeOption Text="Option 1" Centered="False">
            <SomeOption Text="Option 1.1" Centered="False">
                <SomeOption Text="Option 1.1.1" Centered="false">
                    <SomeOption Text="A" Centered="false">
                        <SpecialName Text="Blah blah" Centered="false">
                            <Number>1</Number>
                        </SpecialName>
                    </SomeOption>
                    <SomeOption Text="B" Centered="false">
                        <SpecialName Text="Hi" Centered="true">
                            <SomeStrangeName>42</SomeStrangeName>
                        </SpecialName>
                    </SomeOption>
                    <SomeOption Text="C" Centered="false">
                        <SpecialName Text="Some text here" Centered="false">
                            <Stuff>
                                <Thing1>10</Thing1>
                                <Thing2>20</Thing2>
                                <Thing3>30</Thing3>
                            </Stuff>
                        </SpecialName>
                    </SomeOption>
                    <SomeOption Text="D" Centered="false">
                        <SpecialName Text="Bye" Centered="false">
                            <Things>
                                <Random1>9846516981</Random1>
                                <Random2>8784749874</Random2>
                            </Things>
                        </SpecialName>
                    </SomeOption>
                </SomeOption>
            </SomeOption>
        </SomeOption>
    </NotRoot>
</Root>
Run Code Online (Sandbox Code Playgroud)

我想将元素"C"向上移动一个位置,以便输出如下所示:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Root xmlns:xsi="My …
Run Code Online (Sandbox Code Playgroud)

.net c# xml linq-to-xml

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