Как изменить версию файла exe

As part of our build process I need to set the version information for all of our compiled binaries. Some of the binaries already have version information (added at compile time) and some do not. I

There are multiple tools, mentioned by many great answers, I’m going to pick one.

Resource Hacker

I downloaded latest version (5.1.7) from [AngusJ]: Resource Hacker. All the needed information can be found on that page (command line options, scripts, …). In the following walkthrough I’m going to operate on 2 executables (lab rats) which (for obvious reasons) I’ve copied in my cwd:

  • ResourceHacker.exe: I thought it would be interesting to operate on itself
  • cmake.exe: random executable with no Version Info set (part of v3.6.3 installation on my machine)

Before going further, I want to mention that ResourceHacker has a funny terminal output, and the the following copy / paste fragments might generate a bit of confusion.

1. Setup

This is more like a preliminary step, to get acquainted with the environment, to show there’s no funky business going on, …

e:WorkDevStackOverflowq000284258> sopr.bat
*** Set shorter prompt to better fit when pasted in StackOverflow (or other) pages ***

[prompt]> dir
 Volume in drive E is Work
 Volume Serial Number is 3655-6FED

 Directory of e:WorkDevStackOverflowq000284258

2019-01-28  20:09    <DIR>          .
2019-01-28  20:09    <DIR>          ..
2016-11-03  09:17         5,413,376 cmake.exe
2019-01-03  02:06         5,479,424 ResourceHacker.exe
2019-01-28  20:30               496 ResourceHacker.ini
               3 File(s)     10,893,296 bytes
               2 Dir(s)  103,723,261,952 bytes free

[prompt]> set PATH=%PATH%;c:Installx64CMakeCMake3.6.3bin

[prompt]> .cmake --help >nul 2>&1

[prompt]> echo %errorlevel%
0

[prompt]> .ResourceHacker.exe -help

[prompt]>

==================================
Resource Hacker Command Line Help:
==================================

-help             : displays these abbreviated help instructions.
-help commandline : displays help for single commandline instructions
-help script      : displays help for script file instructions.




[prompt]> echo %errorlevel%
0

As seen, the executables are OK, they run fine, and here’s how their Details (that we care about) look like:

Img0-Initial

2. Resources

Resource files are text files that contain resources. A resource (simplified) has:

  • Name
  • Type
  • Value

For more details check [MS.Docs]: About Resource Files. There are many tools (mentioned in existing answers) that facilitate resource file editing like:

  • VStudio creates a default one when starting a new project
  • One can create such a file manually
  • But, since it’s about Resource Hacker, and:

    • It is able to extract resources from an existing executable
    • It has resources embedded in it (as shown in the previous picture)

    I’m going to use it for this step (-action extract)

Next, In order for a resource to be embedded into an .exe (.dll, …) it must be compiled to a binary form, which fits into the PE format. Again, there are lots of tools who can achieve this, but as you probably guessed I’m going to stick to Resource Hacker (-action compile).

[prompt]> :: Extract the resources into a file
[prompt]> .ResourceHacker.exe -open .ResourceHacker.exe -save .sample.rc -action extract -mask VersionInfo,, -log con

[prompt]>

[28 Jan 2019, 20:58:03]

Current Directory:
e:WorkDevStackOverflowq000284258

Commandline:
.ResourceHacker.exe  -open .ResourceHacker.exe -save .sample.rc -action extract -mask VersionInfo,, -log con

Open    : e:WorkDevStackOverflowq000284258ResourceHacker.exe
Save    : e:WorkDevStackOverflowq000284258sample.rc


Success!

[prompt]> :: Modify the resource file and set our own values
[prompt]>
[prompt]> :: Compile the resource file
[prompt]> .ResourceHacker.exe -open .sample.rc -save .sample.res -action compile -log con

[prompt]>

[28 Jan 2019, 20:59:51]

Current Directory:
e:WorkDevStackOverflowq000284258

Commandline:
.ResourceHacker.exe  -open .sample.rc -save .sample.res -action compile -log con

Open    : e:WorkDevStackOverflowq000284258sample.rc
Save    : e:WorkDevStackOverflowq000284258sample.res

Compiling: e:WorkDevStackOverflowq000284258sample.rc
Success!

[prompt]> dir /b
cmake.exe
ResourceHacker.exe
ResourceHacker.ini
sample.rc
sample.res

In your case saving and editing the resource file won’t be necessary, as the file will already be present, I just did it for demonstrating purposes. Below it’s the resource file after being modified (and thus before being compiled).

sample.rc:

1 VERSIONINFO
FILEVERSION 3,1,4,1592
PRODUCTVERSION 2,7,1,8
FILEOS 0x4
FILETYPE 0x1
{
BLOCK "StringFileInfo"
{
    BLOCK "040904E4"
    {
        VALUE "CompanyName", "Cristi Fati"
        VALUE "FileDescription", "20190128 - SO q000284258 demo"
        VALUE "FileVersion", "3.1.4.1592"
        VALUE "ProductName", "Colonel Panic"
        VALUE "InternalName", "100"
        VALUE "LegalCopyright", "(c) Cristi Fati 1999-2999"
        VALUE "OriginalFilename", "ResHack"
        VALUE "ProductVersion", "2.7.1.8"
    }
}

BLOCK "VarFileInfo"
{
    VALUE "Translation", 0x0409 0x04E4  
}
}

3. Embed

This will also be performed by Resource Hacker (-action addoverwrite). Since the .exes are already copied I’m going to edit their resources in place.

[prompt]> .ResourceHacker.exe -open .cmake.exe -save .cmake.exe -res .sample.res -action addoverwrite -mask VersionInfo,, -log con

[prompt]>

[28 Jan 2019, 21:17:19]

Current Directory:
e:WorkDevStackOverflowq000284258

Commandline:
.ResourceHacker.exe  -open .cmake.exe -save .cmake.exe -res .sample.res -action addoverwrite -mask VersionInfo,, -log con

Open    : e:WorkDevStackOverflowq000284258cmake.exe
Save    : e:WorkDevStackOverflowq000284258cmake.exe
Resource: e:WorkDevStackOverflowq000284258sample.res

  Added: VERSIONINFO,1,1033

Success!

[prompt]> copy ResourceHacker.exe ResourceHackerTemp.exe
        1 file(s) copied.

[prompt]> .ResourceHackerTemp.exe -open .ResourceHacker.exe -save .ResourceHacker.exe -res .sample.res -action addoverwrite -mask VersionInfo,, -log con

[prompt]>

[28 Jan 2019, 21:19:29]

Current Directory:
e:WorkDevStackOverflowq000284258

Commandline:
.ResourceHackerTemp.exe  -open .ResourceHacker.exe -save .ResourceHacker.exe -res .sample.res -action addoverwrite -mask VersionInfo,, -log con

Open    : e:WorkDevStackOverflowq000284258ResourceHacker.exe
Save    : e:WorkDevStackOverflowq000284258ResourceHacker.exe
Resource: e:WorkDevStackOverflowq000284258sample.res

  Modified: VERSIONINFO,1,1033

Success!

[prompt]> del /f /q ResourceHackerTemp.*

[prompt]> dir
 Volume in drive E is Work
 Volume Serial Number is 3655-6FED

 Directory of e:WorkDevStackOverflowq000284258

2019-01-28  21:20    <DIR>          .
2019-01-28  21:20    <DIR>          ..
2016-11-03  09:17         5,414,400 cmake.exe
2019-01-03  02:06         5,479,424 ResourceHacker.exe
2019-01-28  21:17               551 ResourceHacker.ini
2019-01-28  20:05             1,156 sample.rc
2019-01-28  20:59               792 sample.res
               5 File(s)     10,896,323 bytes
               2 Dir(s)  103,723,253,760 bytes free

As seen, I had to d a little trick (gainarie) as I can’t (at least I don’t think I can) modify the .exe while in use.

4. Test

This is an optional phase, to make sure that:

  • The executables still work (they weren’t messed up in the process)
  • The resources have been added / updated
[prompt]> .cmake --help >nul 2>&1

[prompt]> echo %errorlevel%
0

[prompt]> .ResourceHacker.exe -help

[prompt]>

==================================
Resource Hacker Command Line Help:
==================================

-help             : displays these abbreviated help instructions.
-help commandline : displays help for single commandline instructions
-help script      : displays help for script file instructions.




[prompt]> echo %errorlevel%
0

And their Details:

Img1-Final

There are multiple tools, mentioned by many great answers, I’m going to pick one.

Resource Hacker

I downloaded latest version (5.1.7) from [AngusJ]: Resource Hacker. All the needed information can be found on that page (command line options, scripts, …). In the following walkthrough I’m going to operate on 2 executables (lab rats) which (for obvious reasons) I’ve copied in my cwd:

  • ResourceHacker.exe: I thought it would be interesting to operate on itself
  • cmake.exe: random executable with no Version Info set (part of v3.6.3 installation on my machine)

Before going further, I want to mention that ResourceHacker has a funny terminal output, and the the following copy / paste fragments might generate a bit of confusion.

1. Setup

This is more like a preliminary step, to get acquainted with the environment, to show there’s no funky business going on, …

e:WorkDevStackOverflowq000284258> sopr.bat
*** Set shorter prompt to better fit when pasted in StackOverflow (or other) pages ***

[prompt]> dir
 Volume in drive E is Work
 Volume Serial Number is 3655-6FED

 Directory of e:WorkDevStackOverflowq000284258

2019-01-28  20:09    <DIR>          .
2019-01-28  20:09    <DIR>          ..
2016-11-03  09:17         5,413,376 cmake.exe
2019-01-03  02:06         5,479,424 ResourceHacker.exe
2019-01-28  20:30               496 ResourceHacker.ini
               3 File(s)     10,893,296 bytes
               2 Dir(s)  103,723,261,952 bytes free

[prompt]> set PATH=%PATH%;c:Installx64CMakeCMake3.6.3bin

[prompt]> .cmake --help >nul 2>&1

[prompt]> echo %errorlevel%
0

[prompt]> .ResourceHacker.exe -help

[prompt]>

==================================
Resource Hacker Command Line Help:
==================================

-help             : displays these abbreviated help instructions.
-help commandline : displays help for single commandline instructions
-help script      : displays help for script file instructions.




[prompt]> echo %errorlevel%
0

As seen, the executables are OK, they run fine, and here’s how their Details (that we care about) look like:

Img0-Initial

2. Resources

Resource files are text files that contain resources. A resource (simplified) has:

  • Name
  • Type
  • Value

For more details check [MS.Docs]: About Resource Files. There are many tools (mentioned in existing answers) that facilitate resource file editing like:

  • VStudio creates a default one when starting a new project
  • One can create such a file manually
  • But, since it’s about Resource Hacker, and:

    • It is able to extract resources from an existing executable
    • It has resources embedded in it (as shown in the previous picture)

    I’m going to use it for this step (-action extract)

Next, In order for a resource to be embedded into an .exe (.dll, …) it must be compiled to a binary form, which fits into the PE format. Again, there are lots of tools who can achieve this, but as you probably guessed I’m going to stick to Resource Hacker (-action compile).

[prompt]> :: Extract the resources into a file
[prompt]> .ResourceHacker.exe -open .ResourceHacker.exe -save .sample.rc -action extract -mask VersionInfo,, -log con

[prompt]>

[28 Jan 2019, 20:58:03]

Current Directory:
e:WorkDevStackOverflowq000284258

Commandline:
.ResourceHacker.exe  -open .ResourceHacker.exe -save .sample.rc -action extract -mask VersionInfo,, -log con

Open    : e:WorkDevStackOverflowq000284258ResourceHacker.exe
Save    : e:WorkDevStackOverflowq000284258sample.rc


Success!

[prompt]> :: Modify the resource file and set our own values
[prompt]>
[prompt]> :: Compile the resource file
[prompt]> .ResourceHacker.exe -open .sample.rc -save .sample.res -action compile -log con

[prompt]>

[28 Jan 2019, 20:59:51]

Current Directory:
e:WorkDevStackOverflowq000284258

Commandline:
.ResourceHacker.exe  -open .sample.rc -save .sample.res -action compile -log con

Open    : e:WorkDevStackOverflowq000284258sample.rc
Save    : e:WorkDevStackOverflowq000284258sample.res

Compiling: e:WorkDevStackOverflowq000284258sample.rc
Success!

[prompt]> dir /b
cmake.exe
ResourceHacker.exe
ResourceHacker.ini
sample.rc
sample.res

In your case saving and editing the resource file won’t be necessary, as the file will already be present, I just did it for demonstrating purposes. Below it’s the resource file after being modified (and thus before being compiled).

sample.rc:

1 VERSIONINFO
FILEVERSION 3,1,4,1592
PRODUCTVERSION 2,7,1,8
FILEOS 0x4
FILETYPE 0x1
{
BLOCK "StringFileInfo"
{
    BLOCK "040904E4"
    {
        VALUE "CompanyName", "Cristi Fati"
        VALUE "FileDescription", "20190128 - SO q000284258 demo"
        VALUE "FileVersion", "3.1.4.1592"
        VALUE "ProductName", "Colonel Panic"
        VALUE "InternalName", "100"
        VALUE "LegalCopyright", "(c) Cristi Fati 1999-2999"
        VALUE "OriginalFilename", "ResHack"
        VALUE "ProductVersion", "2.7.1.8"
    }
}

BLOCK "VarFileInfo"
{
    VALUE "Translation", 0x0409 0x04E4  
}
}

3. Embed

This will also be performed by Resource Hacker (-action addoverwrite). Since the .exes are already copied I’m going to edit their resources in place.

[prompt]> .ResourceHacker.exe -open .cmake.exe -save .cmake.exe -res .sample.res -action addoverwrite -mask VersionInfo,, -log con

[prompt]>

[28 Jan 2019, 21:17:19]

Current Directory:
e:WorkDevStackOverflowq000284258

Commandline:
.ResourceHacker.exe  -open .cmake.exe -save .cmake.exe -res .sample.res -action addoverwrite -mask VersionInfo,, -log con

Open    : e:WorkDevStackOverflowq000284258cmake.exe
Save    : e:WorkDevStackOverflowq000284258cmake.exe
Resource: e:WorkDevStackOverflowq000284258sample.res

  Added: VERSIONINFO,1,1033

Success!

[prompt]> copy ResourceHacker.exe ResourceHackerTemp.exe
        1 file(s) copied.

[prompt]> .ResourceHackerTemp.exe -open .ResourceHacker.exe -save .ResourceHacker.exe -res .sample.res -action addoverwrite -mask VersionInfo,, -log con

[prompt]>

[28 Jan 2019, 21:19:29]

Current Directory:
e:WorkDevStackOverflowq000284258

Commandline:
.ResourceHackerTemp.exe  -open .ResourceHacker.exe -save .ResourceHacker.exe -res .sample.res -action addoverwrite -mask VersionInfo,, -log con

Open    : e:WorkDevStackOverflowq000284258ResourceHacker.exe
Save    : e:WorkDevStackOverflowq000284258ResourceHacker.exe
Resource: e:WorkDevStackOverflowq000284258sample.res

  Modified: VERSIONINFO,1,1033

Success!

[prompt]> del /f /q ResourceHackerTemp.*

[prompt]> dir
 Volume in drive E is Work
 Volume Serial Number is 3655-6FED

 Directory of e:WorkDevStackOverflowq000284258

2019-01-28  21:20    <DIR>          .
2019-01-28  21:20    <DIR>          ..
2016-11-03  09:17         5,414,400 cmake.exe
2019-01-03  02:06         5,479,424 ResourceHacker.exe
2019-01-28  21:17               551 ResourceHacker.ini
2019-01-28  20:05             1,156 sample.rc
2019-01-28  20:59               792 sample.res
               5 File(s)     10,896,323 bytes
               2 Dir(s)  103,723,253,760 bytes free

As seen, I had to d a little trick (gainarie) as I can’t (at least I don’t think I can) modify the .exe while in use.

4. Test

This is an optional phase, to make sure that:

  • The executables still work (they weren’t messed up in the process)
  • The resources have been added / updated
[prompt]> .cmake --help >nul 2>&1

[prompt]> echo %errorlevel%
0

[prompt]> .ResourceHacker.exe -help

[prompt]>

==================================
Resource Hacker Command Line Help:
==================================

-help             : displays these abbreviated help instructions.
-help commandline : displays help for single commandline instructions
-help script      : displays help for script file instructions.




[prompt]> echo %errorlevel%
0

And their Details:

Img1-Final

Я использую Microsoft Visual C # 2010 Express. Мне нужно изменить версию моего exe-файла. Подскажите, пожалуйста, как это сделать, с помощью моего кода C # или пакетного файла.

3 ответа

Лучший ответ

Где-нибудь в вашем коде (предпочтительно в AssemblyInfo.cs в папке Properties вашего проекта) поместите это:

[assembly: AssemblyVersion("1.0.0.0")]

Также возможен атрибут версии файла:

[assembly: AssemblyFileVersion("1.0.0.0")]

Убедитесь, что у вас есть только один экземпляр атрибутов AssemblyVersion и / или AssemblyFileVersion в одной сборке — все остальное не будет компилироваться.


34

Basuro
9 Июл 2013 в 17:16

Вы можете изменить версию Exe через файл сборки. Есть 2 варианта:

1-й вариант — отредактировать файл сборки:

 [assembly: AssemblyTitle("TApplciation Name")]
    [assembly: AssemblyDescription("")]
    [assembly: AssemblyConfiguration("")]
    [assembly: AssemblyCompany("")]
    [assembly: AssemblyProduct("")]
    [assembly: AssemblyCopyright("Copyright ©  2015")]
    [assembly: AssemblyTrademark("")]
    [assembly: AssemblyCulture("")]
    [assembly: AssemblyVersion("5.8.3")]
    [assembly: AssemblyFileVersion("5.8.3")]

2-й вариант — через проект Property. Перейдите в свойство проекта и нажмите кнопку в кружке: введите здесь описание изображения

Change Application Details


16

Pete
23 Окт 2018 в 21:35

На всякий случай, если кто-то, кто здесь наткнулся, пытается изменить версию внешнего exe-файла (заголовок вопроса сформулирован неоднозначно), существует библиотека .NET под названием Ressy. Это помогает работать с собственными ресурсами, хранящимися в файлах PE, и редактировать их. Версии файлов и продуктов хранятся на одном из таких ресурсов, для которых Ressy также предоставляет первоклассную поддержку.

Пример: изменить файл и версию продукта для другого файла .exe или .dll:

using Ressy;
using Ressy.HighLevel.Versions;

var portableExecutable = new PortableExecutable("program.exe");

portableExecutable.SetVersionInfo(v => v
    .SetFileVersion(new Version(1, 2, 3, 4))
    .SetProductVersion(new Version(5, 6, 7, 8))
);


2

Tyrrrz
1 Дек 2021 в 18:34

Лучший ответ Сообщение было отмечено как решение

Решение

wroud, я думаю ТС это надо сделать программно, иначе тема находилась бы в разделе софта…

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
using System;
using System.Runtime.InteropServices;
 
namespace ConsoleApplication30
{
    class Program
    {
        [DllImport( "kernel32.dll", SetLastError = true, CharSet = CharSet.Unicode )]
        static extern IntPtr BeginUpdateResource (
            [In] string pFileName,
            [In] bool bDeleteExistingResources
            );
 
        [DllImport( "kernel32.dll", SetLastError = true, CharSet = CharSet.Unicode )]
        [return: MarshalAs( UnmanagedType.Bool )]
        static extern bool UpdateResource (
            [In]            IntPtr hUpdate,
            [In]            IntPtr lpType,
            [In]            IntPtr lpName,
            [In]            ushort wLanguage,
            [In, Optional]  string lpData, // или byte[]
            [In]            int cbData
            );
 
        [DllImport( "kernel32.dll", SetLastError = true, CharSet = CharSet.Unicode )]
        [return: MarshalAs( UnmanagedType.Bool )]
        static extern bool EndUpdateResource (
            [In] IntPtr hUpdate,
            [In] bool fDiscard
            );
 
        static readonly IntPtr VERSION_INFO_ID = (IntPtr)16;    // По умолчанию для ресурса с информацией
        static readonly IntPtr VERSION_NAME_ID = (IntPtr)1;     // По умолчанию первый в директории
        const           ushort VERSION_LANG_ID = 4105;          // Может быть другим, брал
                                                                // для конкретного EXE
 
        static void Main ( string[] args )
        {
            IntPtr hRes   = BeginUpdateResource( "f:\peview.exe", false );
            bool   result = false;
 
            if ( hRes == IntPtr.Zero )
                return;
 
            result = UpdateResource( hRes, VERSION_INFO_ID, VERSION_NAME_ID, VERSION_LANG_ID, "Hello", 10 );
 
            if ( !result )
                Console.WriteLine( Marshal.GetLastWin32Error() );
 
            if ( !EndUpdateResource( hRes, false ) )
                Console.WriteLine( Marshal.GetLastWin32Error() );
 
            Console.ReadKey();
        }
    }
}

Замена указанного ресурса (с помощью VERSION_INFO_ID, VERSION_NAME_ID, VERSION_LANG_ID) на заданный. Вам остается только динамически определять язык нужного Вам ресурса (была тема на форума по перечислению ресурсов в корневом разделе .NET) если это необходимо, и верно построить структуру VERSION_INFO, так чтобы её смог прочитать Explorer и отобразить данные.

Ссылки для изучения: Using Resources, Version Information, EnumResourceLanguages.

p.s. Если в BeginUpdateResource второй параметр установить в true, то не все EXE обрабатываются корректно, после редактирования они становятся неисправными. Второй параметр отвечает за удаление исходных ресурсов, поэтому в Вашем случае должно быть всё нормально, т.к. Вам не надо удалять ресурс.



3



У меня есть несколько VB6 exe / dll, которые я создал, когда я щелкаю правой кнопкой мыши по файлу и получаю свойства, которые он говорит:

  • File version4.2.0.9
  • Product Version4.02.0009

Можно ли изменить File Version? Я хочу это сказать 4.2.9.123

Я хочу изменить это программно, так где же файл, где я могу найти эти значения? Они в определенном месте?

Не вызовет ли это проблемы с регистрацией exe / dll в COM, если я изменю внутреннюю версию?

(Если у кого-то есть кодовое решение, я предпочитаю VB.NET)

2 ответы

ответ дан 23 мая ’17, 13:05

Вам нужен такой редактор ресурсов РезПравить
Вы найдете FileVersion внутри ресурса VersionInfo.
Изменение информации FileVersion не должно иметь побочных эффектов для COM
Однако лучше сначала иметь резервную копию …….

ответ дан 09 мар ’12, в 12:03

Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками

vb.net
vb6
versioning

or задайте свой вопрос.

EXE, однако он не запустится, так как файл. EXE файл — это скомпилированный файл. Если вы хотите изменить тип файла, он должен быть преобразован или сохранен как тип файла назначенияс соответствующим расширением файла.

Пользователи Windows

  1. Щелкните файл правой кнопкой мыши (не ярлык).
  2. Выберите в меню пункт «Переименовать».
  3. Сотрите файл. txt из myfile. …
  4. Тип .

Как изменить программу по умолчанию для EXE-файлов в Windows 7?

Изменение ассоциаций файлов в Windows 7 (программы по умолчанию)

  1. Откройте «Программы по умолчанию», нажав кнопку «Пуск» и выбрав «Программы по умолчанию».
  2. Щелкните «Связать тип файла или протокол с программой».
  3. Щелкните тип файла или протокол, для которого программа должна работать по умолчанию.
  4. Щелкните Изменить программу.

Как изменить расширение файла?

Вы также можете сделать это щелкнув правой кнопкой мыши неоткрытый файл и выбрав параметр «Переименовать». Просто измените расширение на любой формат файла, который вы хотите, и ваш компьютер выполнит преобразование за вас.

Как исправить расширения файлов в Windows 7?

Как исправить. Расширение файла EXE в Windows 7

  1. Введите команду в диалоговом окне ВЫПОЛНИТЬ, чтобы открыть командную строку.
  2. Когда командная строка запущена, введите cd windows.
  3. Введите regedit, чтобы открыть реестры.
  4. Разверните HKEY_CLASSES_ROOT и найдите папку с .exe.

Как удалить расширение .txt?

txt, мы удалим его расширение файла, выполнив следующие действия.

  1. Щелкните файл правой кнопкой мыши (не ярлык).
  2. Выберите в меню пункт «Переименовать».
  3. Сотрите файл. txt из myfile. txt и нажмите Enter.
  4. Нажмите Да на предупреждении о том, что файл становится непригодным для использования, если вы уверены, что хотите удалить расширение имени файла.

Как изменить расширение EXE-файла в Windows 10?

Просто дважды щелкните имя файла, а затем отредактируйте расширения файлов, как вам нравится, на ПК с Windows 10. В качестве альтернативы вы можете щелкнуть правой кнопкой мыши файл, который хотите отредактировать, а затем выберите «Переименовать» в контекстном меню. щелкните правой кнопкой мыши, чтобы начать изменение расширения для выбранного файла в Windows 10.

Как мне восстановить ассоциации расширений файлов по умолчанию в Windows 7?

Восстановить ассоциацию файлов по умолчанию в Windows Vista и Windows 7

  1. Запустите редактор реестра и перейдите к: HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts [расширение]
  2. Разверните ключ [extension], выберите ключ UserChoice и удалите все его подключи.

Как восстановить программы по умолчанию в Windows 7?

Как восстановить программы по умолчанию в Windows 7?

  1. Щелкните меню «Пуск»> «Найти программы по умолчанию» и щелкните его.
  2. Выберите «Связать тип файла или протокол с программой».
  3. Выберите тип файла или расширение, которое вы хотите связать с программой> Нажмите «Изменить программу …»

Какая программа открывает .EXE файл?

Если вы хотите открыть самораспаковывающийся EXE-файл без сброса его файлов, используйте распаковщик файлов, например 7-Zip, PeaZipили jZip. Например, если вы используете 7-Zip, просто щелкните правой кнопкой мыши EXE-файл и выберите его открытие с помощью этой программы, чтобы просмотреть EXE-файл как архив.

Как создать файл без расширения?

Чтобы создать файл без расширения с помощью Блокнота, использовать кавычки. Кавычки обеспечивают целостность имени файла, выбранного без расширения. Файл сохраняется с именем и типом файла «файл» без расширения.

Как исправить проблему с расширением файла?

Чтобы изменить расширение файла в Windows или macOS, просто щелкните файл и отредактируйте последние три или четыре буквы, чтобы показать правильное расширение для формата. Изменение расширения на самом деле не меняет содержимого файла, но может помочь вашим приложениям распознать файл, тем самым помогая вам его открыть.

Как изменить расширение файла на MP4?

Чтобы преобразовать видео в MP4, используйте настольное приложение, например Movavi Video Converter.

  1. Загрузите, установите и запустите конвертер файлов MP4.
  2. Нажмите «Добавить медиа» и выберите «Добавить видео». Импортируйте файл, который хотите преобразовать.
  3. Откройте вкладку «Видео» и выберите «MP4», затем выберите желаемую предустановку.
  4. Щелкните Преобразовать, чтобы запустить процесс.

Как исправить проблемы при открытии Windows 7?

Что делать, если мне не удается открыть какую-либо программу в Windows 7

  1. Восстановить реестр по умолчанию.
  2. Измените настройки реестра.
  3. Просканируйте свою систему на наличие вредоносных программ.
  4. Используйте средство устранения неполадок Windows.
  5. Восстановить сопоставление файлов .exe.
  6. Переместите файл .exe в другое место.

Как удалить расширения файлов в Windows 7?

Как удалить расширения файлов

  1. Откройте Windows Internet Explorer, щелкнув правой кнопкой мыши «Пуск» и выбрав «Исследовать».
  2. Нажмите «Инструменты» и «Параметры папки».
  3. Щелкните вкладку «Просмотр».
  4. Прокрутите вниз до «Скрыть расширения для известных типов файлов» и снимите флажок.
  5. Нажмите кнопку «Применить ко всем папкам».

Как изменить информацию о версии файла и версии продукта в .exe-файле?

К примеру изменить дату создания можно через IO.File.SetCreationTime, а как быть с остальной информацией?

P.S. Нужно изменить у скомпилированного файла, а не до его сборки.

Arhadthedev's user avatar

Arhadthedev

11.4k8 золотых знаков39 серебряных знаков69 бронзовых знаков

задан 4 апр 2017 в 21:02

Limbend's user avatar

6

  1. Воспользуйтесь низкоуровневыми вызовами Win32 API — подробнее по ссылке
  2. Можно также использовать высокоуровневую обёртку над этими вызовами, которая распространяется в виде подключаемого NuGet-пакета:

    Install-Package Vestris.ResourceLib

Пример использования этой библиотеки:

  • Получение информации о ресурсах dll или exe

    string filename = "ConsoleApp1.exe"; // path to dll or exe
    VersionResource vr = new VersionResource();
    vr.LoadFrom(filename);
    
    StringFileInfo sfi = (StringFileInfo)vr["StringFileInfo"];
    foreach (var stringTableEntry in sfi.Default.Strings)
    {
        Console.WriteLine($"{stringTableEntry.Value.Key} = {stringTableEntry.Value.StringValue}");
    }
    

    //output:

    Comments = 
    CompanyName = 
    FileDescription = ConsoleApp1
    FileVersion = 1.0.0.0
    InternalName = ConsoleApp1.exe
    LegalCopyright = Copyright ©  2017
    LegalTrademarks = 
    OriginalFilename = ConsoleApp1.exe
    ProductName = ConsoleApp1
    ProductVersion = 1.0.0.0
    Assembly Version = 1.0.0.0
    
  • Запись изменений обратно в файл сборки

    sfi["CompanyName"] = "New company name";
    sfi["ProductVersion"] = "1.1.1.2";
    sfi["LegalCopyright"] = "New copyright";
    
    vr.SaveTo(filename);
    

Остальная документация тут

ответ дан 4 апр 2017 в 22:55

Nikita's user avatar

NikitaNikita

1,9901 золотой знак15 серебряных знаков26 бронзовых знаков

1

Понравилась статья? Поделить с друзьями:
  • Как изменить версию скайрим se
  • Как изменить версию симс 4 на более старую
  • Как изменить версию сервера майнкрафт на хостинге
  • Как изменить версию сервера sql
  • Как изменить версию прошивки андроид