From 4c5bfb172a2d7fe6efe1d1010219f2141bd7f7ab Mon Sep 17 00:00:00 2001 From: Robo Date: Mon, 24 Nov 2025 21:32:12 +0900 Subject: [PATCH] feat: create versioned resources for windows setup (#263998) * feat: create versioned resources for windows setup * chore: use inno_updater to remove old installation * chore: remove old installation as part of setup * chore: update explorer-command * chore: prefer session-end * chore: uninst delete updating_version * chore: make session-ending write synchronous * chore: cleanup updateService.win32.ts * chore: invoke inno_updater gc path for non background update * chore: move session-end path to runtime * chore: use commit for updating_version * chore: fix invalid string * chore: set appUpdate path * chore: update inno_updater * chore: empty commit for testing * chore: some cleanups 1) Check for session-ending flag in appx and tunnel callsites 2) Move gc for background update to cleanup phase in updateservice 3) Set update state to ready when there is a running inno_setup * chore: disallow same version update * chore: disallow application launch in the middle of update * chore: empty commit for testing * chore: bump inno_updater * chore: empty commit for testing * chore: move gc to update startup * chore: move feature behind insider only check * chore: bump inno_updater * chore: bump explorer-command * fix: build * fix: gc for background update in system setup * chore: create separate cli entrypoints for build * fix: check for setup mutex created by inno * chore: remove problematic updatingVersionPath deletion * chore: remove redundant update check * chore: bump inno_updater * chore: fix build * chore: bump inno updater --- build/azure-pipelines/win32/codesign.ts | 5 +- .../steps/product-build-win32-compile.yml | 8 +- .../win32/steps/product-build-win32-test.yml | 6 +- build/checksums/explorer-dll.txt | 8 +- build/gulpfile.vscode.mjs | 56 +- build/gulpfile.vscode.win32.mjs | 18 +- build/win32/Cargo.lock | 4 +- build/win32/Cargo.toml | 2 +- build/win32/code-insider.iss | 1740 +++++++++++++++++ build/win32/explorer-dll-fetcher.ts | 4 +- build/win32/inno_updater.exe | Bin 567808 -> 587776 bytes resources/win32/insider/bin/code.cmd | 7 + resources/win32/insider/bin/code.sh | 63 + src/vs/code/electron-main/main.ts | 23 + .../contrib/defaultExtensionsInitializer.ts | 14 +- .../remoteTunnel/node/remoteTunnelService.ts | 12 +- .../electron-main/abstractUpdateService.ts | 8 +- .../electron-main/updateService.win32.ts | 66 +- test/automation/src/electron.ts | 29 +- 19 files changed, 2023 insertions(+), 50 deletions(-) create mode 100644 build/win32/code-insider.iss create mode 100644 resources/win32/insider/bin/code.cmd create mode 100644 resources/win32/insider/bin/code.sh diff --git a/build/azure-pipelines/win32/codesign.ts b/build/azure-pipelines/win32/codesign.ts index ccb30309e12..c70d14a7a4f 100644 --- a/build/azure-pipelines/win32/codesign.ts +++ b/build/azure-pipelines/win32/codesign.ts @@ -43,11 +43,8 @@ async function main() { // Package client if (process.env['BUILT_CLIENT']) { - // Product version - const version = await $`node -p "require('../VSCode-win32-${arch}/resources/app/package.json').version"`; - printBanner('Package client'); - const clientArchivePath = `.build/win32-${arch}/VSCode-win32-${arch}-${version}.zip`; + const clientArchivePath = `.build/win32-${arch}/VSCode-win32-${arch}.zip`; await $`7z.exe a -tzip ${clientArchivePath} ../VSCode-win32-${arch}/* "-xr!CodeSignSummary*.md"`.pipe(process.stdout); await $`7z.exe l ${clientArchivePath}`.pipe(process.stdout); } diff --git a/build/azure-pipelines/win32/steps/product-build-win32-compile.yml b/build/azure-pipelines/win32/steps/product-build-win32-compile.yml index 950846aa01c..98cb768f1f8 100644 --- a/build/azure-pipelines/win32/steps/product-build-win32-compile.yml +++ b/build/azure-pipelines/win32/steps/product-build-win32-compile.yml @@ -192,7 +192,8 @@ steps: $ErrorActionPreference = "Stop" $ArtifactName = (gci -Path "$(Build.ArtifactStagingDirectory)/cli" | Select-Object -last 1).FullName Expand-Archive -Path $ArtifactName -DestinationPath "$(Build.ArtifactStagingDirectory)/cli" - $AppProductJson = Get-Content -Raw -Path "$(Agent.BuildDirectory)\VSCode-win32-$(VSCODE_ARCH)\resources\app\product.json" | ConvertFrom-Json + $ProductJsonPath = (Get-ChildItem -Path "$(Agent.BuildDirectory)\VSCode-win32-$(VSCODE_ARCH)" -Name "product.json" -Recurse | Select-Object -First 1) + $AppProductJson = Get-Content -Raw -Path "$(Agent.BuildDirectory)\VSCode-win32-$(VSCODE_ARCH)\$ProductJsonPath" | ConvertFrom-Json $CliAppName = $AppProductJson.tunnelApplicationName $AppName = $AppProductJson.applicationName Move-Item -Path "$(Build.ArtifactStagingDirectory)/cli/$AppName.exe" -Destination "$(Agent.BuildDirectory)/VSCode-win32-$(VSCODE_ARCH)/bin/$CliAppName.exe" @@ -249,7 +250,8 @@ steps: - powershell: | $ErrorActionPreference = "Stop" - $PackageJson = Get-Content -Raw -Path ..\VSCode-win32-$(VSCODE_ARCH)\resources\app\package.json | ConvertFrom-Json + $PackageJsonPath = (Get-ChildItem -Path "..\VSCode-win32-$(VSCODE_ARCH)" -Name "package.json" -Recurse | Select-Object -First 1) + $PackageJson = Get-Content -Raw -Path ..\VSCode-win32-$(VSCODE_ARCH)\$PackageJsonPath | ConvertFrom-Json $Version = $PackageJson.version mkdir $(Build.ArtifactStagingDirectory)\out\system-setup -Force @@ -259,7 +261,7 @@ steps: mv .build\win32-$(VSCODE_ARCH)\user-setup\VSCodeSetup.exe $(Build.ArtifactStagingDirectory)\out\user-setup\VSCodeUserSetup-$(VSCODE_ARCH)-$Version.exe mkdir $(Build.ArtifactStagingDirectory)\out\archive -Force - mv .build\win32-$(VSCODE_ARCH)\VSCode-win32-$(VSCODE_ARCH)-$Version.zip $(Build.ArtifactStagingDirectory)\out\archive\VSCode-win32-$(VSCODE_ARCH)-$Version.zip + mv .build\win32-$(VSCODE_ARCH)\VSCode-win32-$(VSCODE_ARCH).zip $(Build.ArtifactStagingDirectory)\out\archive\VSCode-win32-$(VSCODE_ARCH)-$Version.zip mkdir $(Build.ArtifactStagingDirectory)\out\server -Force mv .build\win32-$(VSCODE_ARCH)\vscode-server-win32-$(VSCODE_ARCH).zip $(Build.ArtifactStagingDirectory)\out\server\vscode-server-win32-$(VSCODE_ARCH).zip diff --git a/build/azure-pipelines/win32/steps/product-build-win32-test.yml b/build/azure-pipelines/win32/steps/product-build-win32-test.yml index 034cbb8f44b..89d9bdded50 100644 --- a/build/azure-pipelines/win32/steps/product-build-win32-test.yml +++ b/build/azure-pipelines/win32/steps/product-build-win32-test.yml @@ -76,7 +76,8 @@ steps: . build/azure-pipelines/win32/exec.ps1 $ErrorActionPreference = "Stop" $AppRoot = "$(agent.builddirectory)\test\VSCode-win32-$(VSCODE_ARCH)" - $AppProductJson = Get-Content -Raw -Path "$AppRoot\resources\app\product.json" | ConvertFrom-Json + $ProductJsonPath = (Get-ChildItem -Path "$AppRoot" -Name "product.json" -Recurse | Select-Object -First 1) + $AppProductJson = Get-Content -Raw -Path "$AppRoot\$ProductJsonPath" | ConvertFrom-Json $AppNameShort = $AppProductJson.nameShort $env:INTEGRATION_TEST_ELECTRON_PATH = "$AppRoot\$AppNameShort.exe" $env:VSCODE_REMOTE_SERVER_PATH = "$(agent.builddirectory)\test\vscode-server-win32-$(VSCODE_ARCH)" @@ -98,7 +99,8 @@ steps: . build/azure-pipelines/win32/exec.ps1 $ErrorActionPreference = "Stop" $AppRoot = "$(agent.builddirectory)\test\VSCode-win32-$(VSCODE_ARCH)" - $AppProductJson = Get-Content -Raw -Path "$AppRoot\resources\app\product.json" | ConvertFrom-Json + $ProductJsonPath = (Get-ChildItem -Path "$AppRoot" -Name "product.json" -Recurse | Select-Object -First 1) + $AppProductJson = Get-Content -Raw -Path "$AppRoot\$ProductJsonPath" | ConvertFrom-Json $AppNameShort = $AppProductJson.nameShort $env:INTEGRATION_TEST_ELECTRON_PATH = "$AppRoot\$AppNameShort.exe" $env:VSCODE_REMOTE_SERVER_PATH = "$(agent.builddirectory)\test\vscode-server-win32-$(VSCODE_ARCH)" diff --git a/build/checksums/explorer-dll.txt b/build/checksums/explorer-dll.txt index fb8ad756847..4d34e265297 100644 --- a/build/checksums/explorer-dll.txt +++ b/build/checksums/explorer-dll.txt @@ -1,4 +1,4 @@ -11b36db4f244693381e52316261ce61678286f6bdfe2614c6352f6fecf3f060d code_explorer_command_arm64.dll -bfab3719038ca46bcd8afb9249a00f851dd08aa3cc8d13d01a917111a2a6d7c2 code_explorer_command_x64.dll -b5cd79c1e91390bdeefaf35cc5c62a6022220832e145781e5609913fac706ad9 code_insider_explorer_command_arm64.dll -f04335cc6fbe8425bd5516e6acbfa05ca706fd7566799a1e22fca1344c25351f code_insider_explorer_command_x64.dll +5dbdd08784067e4caf7d119f7bec05b181b155e1e9868dec5a6c5174ce59f8bd code_explorer_command_arm64.dll +c7b8dde71f62397fbcd1693e35f25d9ceab51b66e805b9f39efc78e02c6abf3c code_explorer_command_x64.dll +968a6fe75c7316d2e2176889dffed8b50e41ee3f1834751cf6387094709b00ef code_insider_explorer_command_arm64.dll +da071035467a64fabf8fc3762b52fa8cdb3f216aa2b252df5b25b8bdf96ec594 code_insider_explorer_command_x64.dll diff --git a/build/gulpfile.vscode.mjs b/build/gulpfile.vscode.mjs index d1d4fc5dc83..26413c4312f 100644 --- a/build/gulpfile.vscode.mjs +++ b/build/gulpfile.vscode.mjs @@ -45,6 +45,7 @@ const glob = promisify(globCallback); const rcedit = promisify(rceditCallback); const root = path.dirname(import.meta.dirname); const commit = getVersion(root); +const versionedResourcesFolder = (product.quality && product.quality === 'insider') ? commit.substring(0, 10) : ''; // Build const vscodeEntryPoints = [ @@ -328,6 +329,7 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op deps ); + let customElectronConfig = {}; if (platform === 'win32') { all = es.merge(all, gulp.src([ 'resources/win32/bower.ico', @@ -360,6 +362,12 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op 'resources/win32/code_70x70.png', 'resources/win32/code_150x150.png' ], { base: '.' })); + if (quality && quality === 'insider') { + customElectronConfig = { + createVersionedResources: true, + productVersionString: `${versionedResourcesFolder}`, + }; + } } else if (platform === 'linux') { const policyDest = gulp.src('.build/policies/linux/**', { base: '.build/policies/linux' }) .pipe(rename(f => f.dirname = `policies/${f.dirname}`)); @@ -377,7 +385,7 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op .pipe(util.skipDirectories()) .pipe(util.fixWin32DirectoryPermissions()) .pipe(filter(['**', '!**/.github/**'], { dot: true })) // https://github.com/microsoft/vscode/issues/116523 - .pipe(electron({ ...config, platform, arch: arch === 'armhf' ? 'arm' : arch, ffmpegChromium: false })) + .pipe(electron({ ...config, platform, arch: arch === 'armhf' ? 'arm' : arch, ffmpegChromium: false, ...customElectronConfig })) .pipe(filter(['**', '!LICENSE', '!version'], { dot: true })); if (platform === 'linux') { @@ -393,19 +401,37 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op if (platform === 'win32') { result = es.merge(result, gulp.src('resources/win32/bin/code.js', { base: 'resources/win32', allowEmpty: true })); - result = es.merge(result, gulp.src('resources/win32/bin/code.cmd', { base: 'resources/win32' }) - .pipe(replace('@@NAME@@', product.nameShort)) - .pipe(rename(function (f) { f.basename = product.applicationName; }))); + if (quality && quality === 'insider') { + result = es.merge(result, gulp.src('resources/win32/insider/bin/code.cmd', { base: 'resources/win32/insider' }) + .pipe(replace('@@NAME@@', product.nameShort)) + .pipe(replace('@@VERSIONFOLDER@@', versionedResourcesFolder)) + .pipe(rename(function (f) { f.basename = product.applicationName; }))); - result = es.merge(result, gulp.src('resources/win32/bin/code.sh', { base: 'resources/win32' }) - .pipe(replace('@@NAME@@', product.nameShort)) - .pipe(replace('@@PRODNAME@@', product.nameLong)) - .pipe(replace('@@VERSION@@', version)) - .pipe(replace('@@COMMIT@@', commit)) - .pipe(replace('@@APPNAME@@', product.applicationName)) - .pipe(replace('@@SERVERDATAFOLDER@@', product.serverDataFolderName || '.vscode-remote')) - .pipe(replace('@@QUALITY@@', quality)) - .pipe(rename(function (f) { f.basename = product.applicationName; f.extname = ''; }))); + result = es.merge(result, gulp.src('resources/win32/insider/bin/code.sh', { base: 'resources/win32/insider' }) + .pipe(replace('@@NAME@@', product.nameShort)) + .pipe(replace('@@PRODNAME@@', product.nameLong)) + .pipe(replace('@@VERSION@@', version)) + .pipe(replace('@@COMMIT@@', commit)) + .pipe(replace('@@APPNAME@@', product.applicationName)) + .pipe(replace('@@VERSIONFOLDER@@', versionedResourcesFolder)) + .pipe(replace('@@SERVERDATAFOLDER@@', product.serverDataFolderName || '.vscode-remote')) + .pipe(replace('@@QUALITY@@', quality)) + .pipe(rename(function (f) { f.basename = product.applicationName; f.extname = ''; }))); + } else { + result = es.merge(result, gulp.src('resources/win32/bin/code.cmd', { base: 'resources/win32' }) + .pipe(replace('@@NAME@@', product.nameShort)) + .pipe(rename(function (f) { f.basename = product.applicationName; }))); + + result = es.merge(result, gulp.src('resources/win32/bin/code.sh', { base: 'resources/win32' }) + .pipe(replace('@@NAME@@', product.nameShort)) + .pipe(replace('@@PRODNAME@@', product.nameLong)) + .pipe(replace('@@VERSION@@', version)) + .pipe(replace('@@COMMIT@@', commit)) + .pipe(replace('@@APPNAME@@', product.applicationName)) + .pipe(replace('@@SERVERDATAFOLDER@@', product.serverDataFolderName || '.vscode-remote')) + .pipe(replace('@@QUALITY@@', quality)) + .pipe(rename(function (f) { f.basename = product.applicationName; f.extname = ''; }))); + } result = es.merge(result, gulp.src('resources/win32/VisualElementsManifest.xml', { base: 'resources/win32' }) .pipe(rename(product.nameShort + '.VisualElementsManifest.xml'))); @@ -453,8 +479,8 @@ function patchWin32DependenciesTask(destinationFolderName) { return async () => { const deps = await glob('**/*.node', { cwd, ignore: 'extensions/node_modules/@parcel/watcher/**' }); - const packageJson = JSON.parse(await fs.promises.readFile(path.join(cwd, 'resources', 'app', 'package.json'), 'utf8')); - const product = JSON.parse(await fs.promises.readFile(path.join(cwd, 'resources', 'app', 'product.json'), 'utf8')); + const packageJson = JSON.parse(await fs.promises.readFile(path.join(cwd, versionedResourcesFolder, 'resources', 'app', 'package.json'), 'utf8')); + const product = JSON.parse(await fs.promises.readFile(path.join(cwd, versionedResourcesFolder, 'resources', 'app', 'product.json'), 'utf8')); const baseVersion = packageJson.version.replace(/-.*$/, ''); await Promise.all(deps.map(async dep => { diff --git a/build/gulpfile.vscode.win32.mjs b/build/gulpfile.vscode.win32.mjs index 66e324d1832..69e0cfbdb33 100644 --- a/build/gulpfile.vscode.win32.mjs +++ b/build/gulpfile.vscode.win32.mjs @@ -8,6 +8,7 @@ import * as fs from 'fs'; import assert from 'assert'; import * as cp from 'child_process'; import * as util from './lib/util.ts'; +import * as getVersionModule from './lib/getVersion.ts'; import * as task from './lib/task.ts'; import pkg from '../package.json' with { type: 'json' }; import product from '../product.json' with { type: 'json' }; @@ -15,11 +16,12 @@ import vfs from 'vinyl-fs'; import rcedit from 'rcedit'; import { createRequire } from 'module'; +const { getVersion } = getVersionModule; const require = createRequire(import.meta.url); const repoPath = path.dirname(import.meta.dirname); +const commit = getVersion(repoPath); const buildPath = (/** @type {string} */ arch) => path.join(path.dirname(repoPath), `VSCode-win32-${arch}`); const setupDir = (/** @type {string} */ arch, /** @type {string} */ target) => path.join(repoPath, '.build', `win32-${arch}`, `${target}-setup`); -const issPath = path.join(import.meta.dirname, 'win32', 'code.iss'); const innoSetupPath = path.join(path.dirname(path.dirname(require.resolve('innosetup'))), 'bin', 'ISCC.exe'); const signWin32Path = path.join(repoPath, 'build', 'azure-pipelines', 'common', 'sign-win32.ts'); @@ -75,19 +77,26 @@ function buildWin32Setup(arch, target) { const outputPath = setupDir(arch, target); fs.mkdirSync(outputPath, { recursive: true }); - const originalProductJsonPath = path.join(sourcePath, 'resources/app/product.json'); + const quality = product.quality || 'dev'; + let versionedResourcesFolder = ''; + let issPath = path.join(import.meta.dirname, 'win32', 'code.iss'); + if (quality && quality === 'insider') { + versionedResourcesFolder = commit.substring(0, 10); + issPath = path.join(import.meta.dirname, 'win32', 'code-insider.iss'); + } + const originalProductJsonPath = path.join(sourcePath, versionedResourcesFolder, 'resources/app/product.json'); const productJsonPath = path.join(outputPath, 'product.json'); const productJson = JSON.parse(fs.readFileSync(originalProductJsonPath, 'utf8')); productJson['target'] = target; fs.writeFileSync(productJsonPath, JSON.stringify(productJson, undefined, '\t')); - const quality = product.quality || 'dev'; const definitions = { NameLong: product.nameLong, NameShort: product.nameShort, DirName: product.win32DirName, Version: pkg.version, RawVersion: pkg.version.replace(/-\w+$/, ''), + Commit: commit, NameVersion: product.win32NameVersion + (target === 'user' ? ' (User)' : ''), ExeBasename: product.nameShort, RegValueName: product.win32RegValueName, @@ -108,10 +117,11 @@ function buildWin32Setup(arch, target) { OutputDir: outputPath, InstallTarget: target, ProductJsonPath: productJsonPath, + VersionedResourcesFolder: versionedResourcesFolder, Quality: quality }; - if (quality !== 'exploration') { + if (quality === 'stable' || quality === 'insider') { definitions['AppxPackage'] = `${quality === 'stable' ? 'code' : 'code_insider'}_${arch}.appx`; definitions['AppxPackageDll'] = `${quality === 'stable' ? 'code' : 'code_insider'}_explorer_command_${arch}.dll`; definitions['AppxPackageName'] = `${product.win32AppUserModelId}`; diff --git a/build/win32/Cargo.lock b/build/win32/Cargo.lock index e91718ee79a..d35c41e4098 100644 --- a/build/win32/Cargo.lock +++ b/build/win32/Cargo.lock @@ -129,7 +129,7 @@ checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" [[package]] name = "inno_updater" -version = "0.16.0" +version = "0.18.2" dependencies = [ "byteorder", "crc", @@ -546,4 +546,4 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" dependencies = [ "bitflags 2.9.1", -] \ No newline at end of file +] diff --git a/build/win32/Cargo.toml b/build/win32/Cargo.toml index 37d78fc177c..40e1a7a60fd 100644 --- a/build/win32/Cargo.toml +++ b/build/win32/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "inno_updater" -version = "0.16.0" +version = "0.18.2" authors = ["Microsoft "] build = "build.rs" diff --git a/build/win32/code-insider.iss b/build/win32/code-insider.iss new file mode 100644 index 00000000000..2cbf252779b --- /dev/null +++ b/build/win32/code-insider.iss @@ -0,0 +1,1740 @@ +#define RootLicenseFileName FileExists(RepoDir + '\LICENSE.rtf') ? 'LICENSE.rtf' : 'LICENSE.txt' +#define LocalizedLanguageFile(Language = "") \ + DirExists(RepoDir + "\licenses") && Language != "" \ + ? ('; LicenseFile: "' + RepoDir + '\licenses\LICENSE-' + Language + '.rtf"') \ + : '; LicenseFile: "' + RepoDir + '\' + RootLicenseFileName + '"' + +[Setup] +AppId={#AppId} +AppName={#NameLong} +AppVerName={#NameVersion} +AppPublisher=Microsoft Corporation +AppPublisherURL=https://code.visualstudio.com/ +AppSupportURL=https://code.visualstudio.com/ +AppUpdatesURL=https://code.visualstudio.com/ +DefaultGroupName={#NameLong} +AllowNoIcons=yes +OutputDir={#OutputDir} +OutputBaseFilename=VSCodeSetup +Compression=lzma +SolidCompression=yes +AppMutex={code:GetAppMutex} +SetupMutex={#AppMutex}setup +WizardImageFile="{#RepoDir}\resources\win32\inno-big-100.bmp,{#RepoDir}\resources\win32\inno-big-125.bmp,{#RepoDir}\resources\win32\inno-big-150.bmp,{#RepoDir}\resources\win32\inno-big-175.bmp,{#RepoDir}\resources\win32\inno-big-200.bmp,{#RepoDir}\resources\win32\inno-big-225.bmp,{#RepoDir}\resources\win32\inno-big-250.bmp" +WizardSmallImageFile="{#RepoDir}\resources\win32\inno-small-100.bmp,{#RepoDir}\resources\win32\inno-small-125.bmp,{#RepoDir}\resources\win32\inno-small-150.bmp,{#RepoDir}\resources\win32\inno-small-175.bmp,{#RepoDir}\resources\win32\inno-small-200.bmp,{#RepoDir}\resources\win32\inno-small-225.bmp,{#RepoDir}\resources\win32\inno-small-250.bmp" +SetupIconFile={#RepoDir}\resources\win32\code.ico +UninstallDisplayIcon={app}\{#ExeBasename}.exe +ChangesEnvironment=true +ChangesAssociations=true +MinVersion=10.0 +SourceDir={#SourceDir} +AppVersion={#Version} +VersionInfoVersion={#RawVersion} +ShowLanguageDialog=auto +ArchitecturesAllowed={#ArchitecturesAllowed} +ArchitecturesInstallIn64BitMode={#ArchitecturesInstallIn64BitMode} +WizardStyle=modern + +// We've seen an uptick on broken installations from updates which were unable +// to shutdown VS Code. We rely on the fact that the update signals +// that VS Code is ready to be shutdown, so we're good to use `force` here. +CloseApplications=force + +#ifdef Sign +SignTool=esrp +#endif + +#if "user" == InstallTarget +DefaultDirName={userpf}\{#DirName} +PrivilegesRequired=lowest +#else +DefaultDirName={pf}\{#DirName} +#endif + +[Languages] +Name: "english"; MessagesFile: "compiler:Default.isl,{#RepoDir}\build\win32\i18n\messages.en.isl" {#LocalizedLanguageFile} +Name: "german"; MessagesFile: "compiler:Languages\German.isl,{#RepoDir}\build\win32\i18n\messages.de.isl" {#LocalizedLanguageFile("deu")} +Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl,{#RepoDir}\build\win32\i18n\messages.es.isl" {#LocalizedLanguageFile("esp")} +Name: "french"; MessagesFile: "compiler:Languages\French.isl,{#RepoDir}\build\win32\i18n\messages.fr.isl" {#LocalizedLanguageFile("fra")} +Name: "italian"; MessagesFile: "compiler:Languages\Italian.isl,{#RepoDir}\build\win32\i18n\messages.it.isl" {#LocalizedLanguageFile("ita")} +Name: "japanese"; MessagesFile: "compiler:Languages\Japanese.isl,{#RepoDir}\build\win32\i18n\messages.ja.isl" {#LocalizedLanguageFile("jpn")} +Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl,{#RepoDir}\build\win32\i18n\messages.ru.isl" {#LocalizedLanguageFile("rus")} +Name: "korean"; MessagesFile: "{#RepoDir}\build\win32\i18n\Default.ko.isl,{#RepoDir}\build\win32\i18n\messages.ko.isl" {#LocalizedLanguageFile("kor")} +Name: "simplifiedChinese"; MessagesFile: "{#RepoDir}\build\win32\i18n\Default.zh-cn.isl,{#RepoDir}\build\win32\i18n\messages.zh-cn.isl" {#LocalizedLanguageFile("chs")} +Name: "traditionalChinese"; MessagesFile: "{#RepoDir}\build\win32\i18n\Default.zh-tw.isl,{#RepoDir}\build\win32\i18n\messages.zh-tw.isl" {#LocalizedLanguageFile("cht")} +Name: "brazilianPortuguese"; MessagesFile: "compiler:Languages\BrazilianPortuguese.isl,{#RepoDir}\build\win32\i18n\messages.pt-br.isl" {#LocalizedLanguageFile("ptb")} +Name: "hungarian"; MessagesFile: "{#RepoDir}\build\win32\i18n\Default.hu.isl,{#RepoDir}\build\win32\i18n\messages.hu.isl" {#LocalizedLanguageFile("hun")} +Name: "turkish"; MessagesFile: "compiler:Languages\Turkish.isl,{#RepoDir}\build\win32\i18n\messages.tr.isl" {#LocalizedLanguageFile("trk")} + +[InstallDelete] +Type: filesandordirs; Name: "{app}\{#VersionedResourcesFolder}\resources\app\out"; Check: IsNotBackgroundUpdate +Type: filesandordirs; Name: "{app}\{#VersionedResourcesFolder}\resources\app\plugins"; Check: IsNotBackgroundUpdate +Type: filesandordirs; Name: "{app}\{#VersionedResourcesFolder}\resources\app\extensions"; Check: IsNotBackgroundUpdate +Type: filesandordirs; Name: "{app}\{#VersionedResourcesFolder}\resources\app\node_modules"; Check: IsNotBackgroundUpdate +Type: filesandordirs; Name: "{app}\{#VersionedResourcesFolder}\resources\app\node_modules.asar.unpacked"; Check: IsNotBackgroundUpdate +Type: files; Name: "{app}\{#VersionedResourcesFolder}\resources\app\node_modules.asar"; Check: IsNotBackgroundUpdate +Type: files; Name: "{app}\{#VersionedResourcesFolder}\resources\app\Credits_45.0.2454.85.html"; Check: IsNotBackgroundUpdate + +[UninstallDelete] +Type: filesandordirs; Name: "{app}\_" +Type: filesandordirs; Name: "{app}\bin" +Type: files; Name: "{app}\old_*" +Type: files; Name: "{app}\new_*" +Type: files; Name: "{app}\updating_version" + +[Tasks] +Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked +Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1 +Name: "addcontextmenufiles"; Description: "{cm:AddContextMenuFiles,{#NameShort}}"; GroupDescription: "{cm:Other}"; Flags: unchecked +Name: "addcontextmenufolders"; Description: "{cm:AddContextMenuFolders,{#NameShort}}"; GroupDescription: "{cm:Other}"; Flags: unchecked; Check: not (IsWindows11OrLater and QualityIsInsiders) +Name: "associatewithfiles"; Description: "{cm:AssociateWithFiles,{#NameShort}}"; GroupDescription: "{cm:Other}" +Name: "addtopath"; Description: "{cm:AddToPath}"; GroupDescription: "{cm:Other}" +Name: "runcode"; Description: "{cm:RunAfter,{#NameShort}}"; GroupDescription: "{cm:Other}"; Check: WizardSilent + +[Dirs] +Name: "{app}"; AfterInstall: DisableAppDirInheritance + +[Files] +Source: "*"; Excludes: "\CodeSignSummary*.md,\tools,\tools\*,\policies,\policies\*,\appx,\appx\*,\resources\app\product.json,\{#ExeBasename}.exe,\{#ExeBasename}.VisualElementsManifest.xml,\bin,\bin\*"; DestDir: "{code:GetDestDir}"; Flags: ignoreversion recursesubdirs createallsubdirs +Source: "{#ExeBasename}.exe"; DestDir: "{code:GetDestDir}"; DestName: "{code:GetExeBasename}"; Flags: ignoreversion +Source: "{#ExeBasename}.VisualElementsManifest.xml"; DestDir: "{code:GetDestDir}"; DestName: "{code:GetVisualElementsManifest}"; Flags: ignoreversion +Source: "tools\*"; DestDir: "{code:GetDestDir}\{#VersionedResourcesFolder}\tools"; Flags: ignoreversion +Source: "policies\*"; DestDir: "{code:GetDestDir}\{#VersionedResourcesFolder}\policies"; Flags: ignoreversion skipifsourcedoesntexist +Source: "bin\{#TunnelApplicationName}.exe"; DestDir: "{code:GetDestDir}\bin"; DestName: "{code:GetBinDirTunnelApplicationFilename}"; Flags: ignoreversion skipifsourcedoesntexist +Source: "bin\{#ApplicationName}.cmd"; DestDir: "{code:GetDestDir}\bin"; DestName: "{code:GetBinDirApplicationCmdFilename}"; Flags: ignoreversion +Source: "bin\{#ApplicationName}"; DestDir: "{code:GetDestDir}\bin"; DestName: "{code:GetBinDirApplicationFilename}"; Flags: ignoreversion +Source: "{#ProductJsonPath}"; DestDir: "{code:GetDestDir}\{#VersionedResourcesFolder}\resources\app"; Flags: ignoreversion +#ifdef AppxPackageName +#if "user" == InstallTarget +Source: "appx\{#AppxPackage}"; DestDir: "{code:GetDestDir}\{#VersionedResourcesFolder}\appx"; BeforeInstall: RemoveAppxPackage; Flags: ignoreversion; Check: IsWindows11OrLater +Source: "appx\{#AppxPackageDll}"; DestDir: "{code:GetDestDir}\{#VersionedResourcesFolder}\appx"; AfterInstall: AddAppxPackage; Flags: ignoreversion; Check: IsWindows11OrLater +#endif +#endif + +[Icons] +Name: "{group}\{#NameLong}"; Filename: "{app}\{#ExeBasename}.exe"; AppUserModelID: "{#AppUserId}" +Name: "{autodesktop}\{#NameLong}"; Filename: "{app}\{#ExeBasename}.exe"; Tasks: desktopicon; AppUserModelID: "{#AppUserId}" +Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#NameLong}"; Filename: "{app}\{#ExeBasename}.exe"; Tasks: quicklaunchicon; AppUserModelID: "{#AppUserId}" + +[Run] +Filename: "{app}\{#ExeBasename}.exe"; Description: "{cm:LaunchProgram,{#NameLong}}"; Tasks: runcode; Flags: nowait postinstall; Check: ShouldRunAfterUpdate +Filename: "{app}\{#ExeBasename}.exe"; Description: "{cm:LaunchProgram,{#NameLong}}"; Flags: nowait postinstall; Check: WizardNotSilent + +[Registry] +#if "user" == InstallTarget +#define SoftwareClassesRootKey "HKCU" +#else +#define SoftwareClassesRootKey "HKLM" +#endif + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.ascx\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.ascx\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.ascx"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ascx"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,ASCX}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ascx"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ascx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\xml.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ascx\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ascx\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.asp\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.asp\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.asp"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.asp"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,ASP}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.asp"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.asp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.asp\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.asp\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.aspx\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.aspx\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.aspx"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.aspx"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,ASPX}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.aspx"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.aspx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.aspx\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.aspx\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.bash\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.bash\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.bash"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Bash}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.bash_login\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.bash_login\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.bash_login"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_login"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Bash Login}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_login"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_login\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_login\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_login\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.bash_logout\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.bash_logout\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.bash_logout"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_logout"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Bash Logout}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_logout"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_logout\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_logout\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_logout\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.bash_profile\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.bash_profile\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.bash_profile"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_profile"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Bash Profile}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_profile"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_profile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_profile\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_profile\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.bashrc\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.bashrc\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.bashrc"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bashrc"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Bash RC}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bashrc"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bashrc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bashrc\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bashrc\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.bib\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.bib\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.bib"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bib"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,BibTeX}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bib"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bib\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bib\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bib\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.bowerrc\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.bowerrc\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.bowerrc"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bowerrc"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Bower RC}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bowerrc"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bowerrc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\bower.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bowerrc\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bowerrc\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.c++\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.c++\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.c++"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c++"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,C++}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c++"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c++\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c++\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.c\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.c\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.c"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,C}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\c.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.cc\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.cc\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.cc"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cc"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,C++}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cc"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cc\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cc\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.cfg\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.cfg\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.cfg"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cfg"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Configuration}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cfg"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cfg\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cfg\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cfg\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.cjs\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.cjs\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.cjs"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cjs"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,JavaScript}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cjs"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cjs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\javascript.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cjs\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cjs\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.clj\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.clj\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.clj"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.clj"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Clojure}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.clj"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.clj\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.clj\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.clj\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.cljs\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.cljs\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.cljs"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljs"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,ClojureScript}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljs"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljs\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljs\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.cljx\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.cljx\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.cljx"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljx"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,CLJX}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljx"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljx\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljx\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.clojure\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.clojure\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.clojure"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.clojure"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Clojure}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.clojure"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.clojure\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.clojure\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.clojure\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.cls\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.cls\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.cls"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cls"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,LaTeX}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cls"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cls\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cls\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cls\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.code-workspace\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.code-workspace\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.code-workspace"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.code-workspace"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Code Workspace}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.code-workspace"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.code-workspace\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.code-workspace\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.code-workspace\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.cmake\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.cmake\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.cmake"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cmake"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,CMake}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cmake"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cmake\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cmake\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cmake\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.coffee\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.coffee\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.coffee"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.coffee"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,CoffeeScript}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.coffee"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.coffee\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.coffee\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.coffee\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.config\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.config\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.config"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.config"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Configuration}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.config"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.config\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.config\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.config\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.containerfile\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.containerfile\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.containerfile"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.containerfile"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Containerfile}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.containerfile"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.containerfile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.containerfile\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.cpp\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.cpp\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.cpp"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cpp"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,C++}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cpp"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cpp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cpp\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cpp\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.cs\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.cs\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.cs"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cs"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,C#}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cs"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\csharp.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cs\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cs\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.cshtml\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.cshtml\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.cshtml"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cshtml"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,CSHTML}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cshtml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cshtml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cshtml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cshtml\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.csproj\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.csproj\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.csproj"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csproj"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,C# Project}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csproj"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csproj\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\xml.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csproj\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csproj\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.css\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.css\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.css"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.css"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,CSS}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.css"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.css\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\css.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.css\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.css\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.csv\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.csv\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.csv"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csv"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Comma Separated Values}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csv"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csv\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csv\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csv\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.csx\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.csx\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.csx"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csx"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,C# Script}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csx"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\csharp.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csx\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csx\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.ctp\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.ctp\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.ctp"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ctp"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,CakePHP Template}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ctp"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ctp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ctp\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ctp\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.cxx\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.cxx\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.cxx"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cxx"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,C++}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cxx"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cxx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cxx\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cxx\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.dart\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.dart\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.dart"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dart"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Dart}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dart"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dart\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dart\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dart\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.diff\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.diff\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.diff"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.diff"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Diff}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.diff"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.diff\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.diff\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.diff\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.dockerfile\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.dockerfile\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.dockerfile"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dockerfile"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Dockerfile}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dockerfile"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dockerfile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dockerfile\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dockerfile\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.dot\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.dot\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.dot"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dot"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Dot}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dot"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dot\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dot\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dot\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.dtd\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.dtd\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.dtd"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dtd"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Document Type Definition}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dtd"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dtd\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\xml.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dtd\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dtd\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.editorconfig\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.editorconfig\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.editorconfig"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.editorconfig"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Editor Config}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.editorconfig"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.editorconfig\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.editorconfig\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.editorconfig\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.edn\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.edn\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.edn"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.edn"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Extensible Data Notation}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.edn"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.edn\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.edn\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.edn\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.erb\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.erb\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.erb"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.erb"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Ruby}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.erb"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.erb\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\ruby.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.erb\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.erb\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.eyaml\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.eyaml\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.eyaml"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyaml"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Hiera Eyaml}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyaml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyaml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\yaml.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyaml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyaml\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.eyml\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.eyml\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.eyml"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyml"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Hiera Eyaml}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\yaml.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyml\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.fs\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.fs\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.fs"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fs"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,F#}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fs"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fs\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fs\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.fsi\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.fsi\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.fsi"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsi"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,F# Signature}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsi"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsi\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsi\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsi\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.fsscript\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.fsscript\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.fsscript"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsscript"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,F# Script}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsscript"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsscript\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsscript\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsscript\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.fsx\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.fsx\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.fsx"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsx"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,F# Script}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsx"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsx\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsx\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.gemspec\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.gemspec\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.gemspec"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gemspec"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Gemspec}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gemspec"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gemspec\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\ruby.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gemspec\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gemspec\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.gitattributes\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.gitattributes\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.gitattributes"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitattributes"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Git Attributes}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitattributes"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitattributes"; ValueType: string; ValueName: "AlwaysShowExt"; ValueData: ""; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitattributes\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitattributes\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitattributes\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.gitconfig\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.gitconfig\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.gitconfig"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitconfig"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Git Config}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitconfig"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitconfig"; ValueType: string; ValueName: "AlwaysShowExt"; ValueData: ""; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitconfig\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitconfig\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitconfig\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.gitignore\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.gitignore\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.gitignore"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitignore"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Git Ignore}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitignore"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitignore"; ValueType: string; ValueName: "AlwaysShowExt"; ValueData: ""; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitignore\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitignore\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitignore\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.go\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.go\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.go"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.go"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Go}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.go"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.go\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\go.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.go\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.go\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.gradle\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.gradle\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.gradle"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gradle"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Gradle}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gradle"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gradle\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gradle\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gradle\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.groovy\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.groovy\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.groovy"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.groovy"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Groovy}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.groovy"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.groovy\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.groovy\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.groovy\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.h\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.h\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.h"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,C Header}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\c.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.handlebars\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.handlebars\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.handlebars"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.handlebars"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Handlebars}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.handlebars"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.handlebars\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.handlebars\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.handlebars\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.hbs\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.hbs\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.hbs"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hbs"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Handlebars}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hbs"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hbs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hbs\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hbs\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.h++\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.h++\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.h++"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h++"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,C++ Header}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h++"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h++\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h++\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.hh\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.hh\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.hh"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hh"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,C++ Header}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hh"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hh\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hh\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hh\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.hpp\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.hpp\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.hpp"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hpp"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,C++ Header}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hpp"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hpp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hpp\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hpp\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.htm\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.htm\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.htm"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.htm"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,HTML}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.htm"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.htm\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.htm\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.htm\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.html\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.html\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.html"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.html"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,HTML}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.html"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.html\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.html\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.html\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.hxx\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.hxx\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.hxx"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hxx"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,C++ Header}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hxx"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hxx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hxx\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hxx\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.ini\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.ini\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.ini"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ini"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,INI}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ini"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ini\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ini\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ini\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.ipynb\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.ipynb\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.ipynb"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ipynb"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Jupyter}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ipynb"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ipynb\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ipynb\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ipynb\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.jade\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.jade\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.jade"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jade"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Jade}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jade"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jade\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\jade.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jade\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jade\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.jav\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.jav\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.jav"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jav"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Java}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jav"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jav\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\java.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jav\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jav\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.java\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.java\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.java"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.java"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Java}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.java"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.java\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\java.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.java\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.java\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.js\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.js\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.js"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.js"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,JavaScript}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.js"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.js\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\javascript.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.js\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.js\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.jsx\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.jsx\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.jsx"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsx"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,JavaScript}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsx"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\react.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsx\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsx\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.jscsrc\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.jscsrc\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.jscsrc"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jscsrc"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,JSCS RC}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jscsrc"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jscsrc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\javascript.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jscsrc\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jscsrc\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.jshintrc\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.jshintrc\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.jshintrc"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshintrc"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,JSHint RC}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshintrc"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshintrc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\javascript.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshintrc\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshintrc\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.jshtm\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.jshtm\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.jshtm"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshtm"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,JavaScript HTML Template}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshtm"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshtm\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshtm\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshtm\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.json\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.json\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.json"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.json"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,JSON}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.json"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.json\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\json.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.json\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.json\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.jsp\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.jsp\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.jsp"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsp"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Java Server Pages}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsp"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsp\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsp\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.less\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.less\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.less"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.less"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,LESS}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.less"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.less\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\less.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.less\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.less\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.log\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.log\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.log"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.log"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Log file}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.log"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.log\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.log\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.log\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.lua\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.lua\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.lua"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.lua"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Lua}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.lua"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.lua\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.lua\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.lua\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.m\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.m\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.m"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.m"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Objective C}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.m"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.m\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.m\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.m\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.makefile\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.makefile\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.makefile"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.makefile"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Makefile}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.makefile"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.makefile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.makefile\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.makefile\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.markdown\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.markdown\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.markdown"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.markdown"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Markdown}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.markdown"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.markdown\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.markdown\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.markdown\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.md\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.md\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.md"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.md"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Markdown}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.md"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.md\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.md\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.md\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.mdoc\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.mdoc\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.mdoc"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdoc"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,MDoc}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdoc"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdoc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdoc\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdoc\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.mdown\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.mdown\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.mdown"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdown"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Markdown}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdown"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdown\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdown\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdown\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.mdtext\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.mdtext\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.mdtext"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtext"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Markdown}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtext"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtext\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtext\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtext\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.mdtxt\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.mdtxt\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.mdtxt"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtxt"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Markdown}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtxt"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtxt\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtxt\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtxt\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.mdwn\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.mdwn\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.mdwn"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdwn"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Markdown}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdwn"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdwn\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdwn\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdwn\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.mk\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.mk\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.mk"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mk"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Makefile}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mk"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mk\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mk\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mk\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.mkd\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.mkd\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.mkd"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkd"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Markdown}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkd"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkd\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkd\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkd\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.mkdn\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.mkdn\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.mkdn"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkdn"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Markdown}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkdn"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkdn\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkdn\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkdn\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.ml\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.ml\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.ml"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ml"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,OCaml}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ml\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.mli\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.mli\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.mli"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mli"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,OCaml}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mli"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mli\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mli\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mli\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.mjs\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.mjs\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.mjs"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mjs"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,JavaScript}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mjs"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mjs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\javascript.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mjs\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mjs\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.npmignore\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.npmignore\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.npmignore"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.npmignore"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,NPM Ignore}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.npmignore"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.npmignore"; ValueType: string; ValueName: "AlwaysShowExt"; ValueData: ""; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.npmignore\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.npmignore\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.npmignore\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.php\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.php\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.php"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.php"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,PHP}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.php"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.php\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\php.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.php\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.php\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.phtml\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.phtml\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.phtml"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.phtml"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,PHP HTML}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.phtml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.phtml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.phtml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.phtml\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.pl\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.pl\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.pl"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Perl}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.pl6\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.pl6\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.pl6"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl6"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Perl 6}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl6"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl6\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl6\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl6\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.plist\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.plist\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.plist"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.plist"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Properties file}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.plist"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.plist\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.plist\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.plist\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.pm\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.pm\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.pm"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Perl Module}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.pm6\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.pm6\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.pm6"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm6"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Perl 6 Module}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm6"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm6\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm6\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm6\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.pod\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.pod\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.pod"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pod"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Perl POD}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pod"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pod\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pod\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pod\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.pp\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.pp\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.pp"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pp"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Perl}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pp"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pp\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pp\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.profile\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.profile\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.profile"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.profile"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Profile}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.profile"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.profile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.profile\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.profile\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.properties\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.properties\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.properties"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.properties"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Properties}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.properties"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.properties\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.properties\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.properties\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.ps1\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.ps1\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.ps1"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ps1"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,PowerShell}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ps1"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ps1\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\powershell.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ps1\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ps1\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.psd1\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.psd1\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.psd1"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psd1"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,PowerShell Module Manifest}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psd1"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psd1\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\powershell.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psd1\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psd1\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.psgi\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.psgi\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.psgi"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psgi"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Perl CGI}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psgi"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psgi\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psgi\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psgi\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.psm1\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.psm1\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.psm1"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psm1"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,PowerShell Module}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psm1"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psm1\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\powershell.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psm1\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psm1\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.py\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.py\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.py"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.py"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Python}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.py"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.py\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\python.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.py\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.py\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.pyi\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.pyi\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.pyi"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pyi"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Python}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pyi"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pyi\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\python.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pyi\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pyi\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.r\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.r\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.r"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.r"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,R}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.r"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.r\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.r\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.r\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.rb\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.rb\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.rb"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rb"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Ruby}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rb"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rb\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\ruby.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rb\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rb\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.rhistory\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.rhistory\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.rhistory"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rhistory"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,R History}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rhistory"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rhistory\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rhistory\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rhistory\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.rprofile\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.rprofile\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.rprofile"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rprofile"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,R Profile}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rprofile"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rprofile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rprofile\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rprofile\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.rs\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.rs\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.rs"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rs"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Rust}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rs"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rs\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rs\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.rst\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.rst\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.rst"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rst"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Restructured Text}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rst"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rst\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rst\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rst\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.rt\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.rt\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.rt"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rt"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Rich Text}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rt"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rt\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rt\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rt\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.sass\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.sass\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.sass"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sass"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Sass}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sass"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sass\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\sass.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sass\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sass\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.scss\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.scss\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.scss"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.scss"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Sass}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.scss"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.scss\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\sass.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.scss\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.scss\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.sh\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.sh\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.sh"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sh"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,SH}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sh"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sh\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sh\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sh\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.shtml\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.shtml\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.shtml"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.shtml"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,SHTML}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.shtml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.shtml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.shtml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.shtml\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.sql\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.sql\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.sql"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sql"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,SQL}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sql"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sql\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\sql.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sql\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sql\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.svg\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.svg\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.svg"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.svg"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,SVG}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.svg"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.svg\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.svg\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.svg\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.t\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.t\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.t"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.t"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Perl}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.t"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.t\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.t\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.t\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.tex\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.tex\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.tex"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tex"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,LaTeX}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tex"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tex\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tex\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tex\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.ts\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.ts\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.ts"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ts"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,TypeScript}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ts"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ts\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\typescript.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ts\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ts\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.toml\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.toml\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.toml"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.toml"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Toml}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.toml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.toml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.toml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.toml\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.tsx\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.tsx\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.tsx"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tsx"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,TypeScript}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tsx"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tsx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\react.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tsx\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tsx\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.txt\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.txt\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.txt"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.txt"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Text}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.txt"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.txt\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.txt\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.txt\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.vb\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.vb\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.vb"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vb"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Visual Basic}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vb"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vb\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vb\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vb\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.vue\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.vue\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.vue"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vue"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,VUE}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vue"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vue\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\vue.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vue\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vue\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.wxi\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.wxi\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.wxi"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxi"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,WiX Include}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxi"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxi\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxi\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxi\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.wxl\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.wxl\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.wxl"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxl"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,WiX Localization}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxl"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxl\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxl\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxl\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.wxs\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.wxs\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.wxs"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxs"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,WiX}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxs"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxs\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxs\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.xaml\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.xaml\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.xaml"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xaml"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,XAML}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xaml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xaml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\xml.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xaml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xaml\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.xhtml\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.xhtml\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.xhtml"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xhtml"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,HTML}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xhtml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xhtml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xhtml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xhtml\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.xml\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.xml\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.xml"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xml"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,XML}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\xml.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xml\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.yaml\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.yaml\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.yaml"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yaml"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Yaml}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yaml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yaml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\yaml.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yaml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yaml\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.yml\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.yml\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.yml"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yml"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,Yaml}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\yaml.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yml\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.zsh\OpenWithProgids"; ValueType: none; ValueName: "{#RegValueName}"; Flags: deletevalue uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\.zsh\OpenWithProgids"; ValueType: string; ValueName: "{#RegValueName}.zsh"; ValueData: ""; Flags: uninsdeletevalue; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.zsh"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,ZSH}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.zsh"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.zsh\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.zsh\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.zsh\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}SourceFile"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,{#NameLong}}"; Flags: uninsdeletekey +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}SourceFile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico" +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}SourceFile\shell\open"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe""" +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}SourceFile\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1""" + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\Applications\{#ExeBasename}.exe"; ValueType: none; ValueName: ""; Flags: uninsdeletekey +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\Applications\{#ExeBasename}.exe\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico" +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\Applications\{#ExeBasename}.exe\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe""" +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\Applications\{#ExeBasename}.exe\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1""" + +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}ContextMenu"; ValueType: expandsz; ValueName: "Title"; ValueData: "{cm:OpenWithCodeContextMenu,{#ShellNameShort}}"; Tasks: addcontextmenufiles; Flags: uninsdeletekey; Check: IsWindows11OrLater and QualityIsInsiders +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\*\shell\{#RegValueName}"; ValueType: expandsz; ValueName: ""; ValueData: "{cm:OpenWithCodeContextMenu,{#ShellNameShort}}"; Tasks: addcontextmenufiles; Flags: uninsdeletekey; Check: not (IsWindows11OrLater and QualityIsInsiders) +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\*\shell\{#RegValueName}"; ValueType: expandsz; ValueName: "Icon"; ValueData: "{app}\{#ExeBasename}.exe"; Tasks: addcontextmenufiles; Check: not (IsWindows11OrLater and QualityIsInsiders) +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\*\shell\{#RegValueName}\command"; ValueType: expandsz; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: addcontextmenufiles; Check: not (IsWindows11OrLater and QualityIsInsiders) +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\directory\shell\{#RegValueName}"; ValueType: expandsz; ValueName: ""; ValueData: "{cm:OpenWithCodeContextMenu,{#ShellNameShort}}"; Tasks: addcontextmenufolders; Flags: uninsdeletekey; Check: not (IsWindows11OrLater and QualityIsInsiders) +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\directory\shell\{#RegValueName}"; ValueType: expandsz; ValueName: "Icon"; ValueData: "{app}\{#ExeBasename}.exe"; Tasks: addcontextmenufolders; Check: not (IsWindows11OrLater and QualityIsInsiders) +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\directory\shell\{#RegValueName}\command"; ValueType: expandsz; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%V"""; Tasks: addcontextmenufolders; Check: not (IsWindows11OrLater and QualityIsInsiders) +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\directory\background\shell\{#RegValueName}"; ValueType: expandsz; ValueName: ""; ValueData: "{cm:OpenWithCodeContextMenu,{#ShellNameShort}}"; Tasks: addcontextmenufolders; Flags: uninsdeletekey; Check: not (IsWindows11OrLater and QualityIsInsiders) +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\directory\background\shell\{#RegValueName}"; ValueType: expandsz; ValueName: "Icon"; ValueData: "{app}\{#ExeBasename}.exe"; Tasks: addcontextmenufolders; Check: not (IsWindows11OrLater and QualityIsInsiders) +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\directory\background\shell\{#RegValueName}\command"; ValueType: expandsz; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%V"""; Tasks: addcontextmenufolders; Check: not (IsWindows11OrLater and QualityIsInsiders) +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\Drive\shell\{#RegValueName}"; ValueType: expandsz; ValueName: ""; ValueData: "{cm:OpenWithCodeContextMenu,{#ShellNameShort}}"; Tasks: addcontextmenufolders; Flags: uninsdeletekey; Check: not (IsWindows11OrLater and QualityIsInsiders) +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\Drive\shell\{#RegValueName}"; ValueType: expandsz; ValueName: "Icon"; ValueData: "{app}\{#ExeBasename}.exe"; Tasks: addcontextmenufolders; Check: not (IsWindows11OrLater and QualityIsInsiders) +Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\Drive\shell\{#RegValueName}\command"; ValueType: expandsz; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%V"""; Tasks: addcontextmenufolders; Check: not (IsWindows11OrLater and QualityIsInsiders) + +; Environment +#if "user" == InstallTarget +#define EnvironmentRootKey "HKCU" +#define EnvironmentKey "Environment" +#define Uninstall64RootKey "HKCU64" +#define Uninstall32RootKey "HKCU32" +#else +#define EnvironmentRootKey "HKLM" +#define EnvironmentKey "System\CurrentControlSet\Control\Session Manager\Environment" +#define Uninstall64RootKey "HKLM64" +#define Uninstall32RootKey "HKLM32" +#endif + +Root: {#EnvironmentRootKey}; Subkey: "{#EnvironmentKey}"; ValueType: expandsz; ValueName: "Path"; ValueData: "{code:AddToPath|{app}\bin}"; Tasks: addtopath; Check: NeedsAddToPath(ExpandConstant('{app}\bin')) + +[Code] +function IsBackgroundUpdate(): Boolean; +begin + Result := ExpandConstant('{param:update|false}') <> 'false'; +end; + +function IsNotBackgroundUpdate(): Boolean; +begin + Result := not IsBackgroundUpdate(); +end; + +// Don't allow installing conflicting architectures +function InitializeSetup(): Boolean; +var + RegKey: String; + ThisArch: String; + AltArch: String; +begin + Result := True; + + #if "user" == InstallTarget + if not WizardSilent() and IsAdmin() then begin + if MsgBox('This User Installer is not meant to be run as an Administrator. If you would like to install VS Code for all users in this system, download the System Installer instead from https://code.visualstudio.com. Are you sure you want to continue?', mbError, MB_OKCANCEL) = IDCANCEL then begin + Result := False; + end; + end; + #endif + + #if "user" == InstallTarget + #if "arm64" == Arch + #define IncompatibleArchRootKey "HKLM32" + #else + #define IncompatibleArchRootKey "HKLM64" + #endif + + if Result and not WizardSilent() then begin + RegKey := 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\' + copy('{#IncompatibleTargetAppId}', 2, 38) + '_is1'; + + if RegKeyExists({#IncompatibleArchRootKey}, RegKey) then begin + if MsgBox('{#NameShort} is already installed on this system for all users. We recommend first uninstalling that version before installing this one. Are you sure you want to continue the installation?', mbConfirmation, MB_YESNO) = IDNO then begin + Result := False; + end; + end; + end; + #endif + +end; + +function WizardNotSilent(): Boolean; +begin + Result := not WizardSilent(); +end; + +// Updates + +var + ShouldRestartTunnelService: Boolean; + +function StopTunnelOtherProcesses(): Boolean; +var + WaitCounter: Integer; + TaskKilled: Integer; +begin + Log('Stopping all tunnel services (at ' + ExpandConstant('"{app}\bin\{#TunnelApplicationName}.exe"') + ')'); + ShellExec('', 'powershell.exe', '-Command "Get-WmiObject Win32_Process | Where-Object { $_.ExecutablePath -eq ' + ExpandConstant('''{app}\bin\{#TunnelApplicationName}.exe''') + ' } | Select @{Name=''Id''; Expression={$_.ProcessId}} | Stop-Process -Force"', '', SW_HIDE, ewWaitUntilTerminated, TaskKilled) + + WaitCounter := 10; + while (WaitCounter > 0) and CheckForMutexes('{#TunnelMutex}') do + begin + Log('Tunnel process is is still running, waiting'); + Sleep(500); + WaitCounter := WaitCounter - 1 + end; + + if CheckForMutexes('{#TunnelMutex}') then + begin + Log('Unable to stop tunnel processes'); + Result := False; + end + else + Result := True; +end; + +procedure StopTunnelServiceIfNeeded(); +var + StopServiceResultCode: Integer; + WaitCounter: Integer; +begin + ShouldRestartTunnelService := False; + if CheckForMutexes('{#TunnelServiceMutex}') then begin + // stop the tunnel service + Log('Stopping the tunnel service using ' + ExpandConstant('"{app}\bin\{#ApplicationName}.cmd"')); + ShellExec('', ExpandConstant('"{app}\bin\{#ApplicationName}.cmd"'), 'tunnel service uninstall', '', SW_HIDE, ewWaitUntilTerminated, StopServiceResultCode); + + Log('Stopping the tunnel service completed with result code ' + IntToStr(StopServiceResultCode)); + + WaitCounter := 10; + while (WaitCounter > 0) and CheckForMutexes('{#TunnelServiceMutex}') do + begin + Log('Tunnel service is still running, waiting'); + Sleep(500); + WaitCounter := WaitCounter - 1 + end; + if CheckForMutexes('{#TunnelServiceMutex}') then + Log('Unable to stop tunnel service') + else + ShouldRestartTunnelService := True; + end +end; + + +// called before the wizard checks for running application +function PrepareToInstall(var NeedsRestart: Boolean): String; +begin + if IsNotBackgroundUpdate() then + StopTunnelServiceIfNeeded(); + + if IsNotBackgroundUpdate() and not StopTunnelOtherProcesses() then + Result := '{#NameShort} is still running a tunnel process. Please stop the tunnel before installing.' + else + Result := ''; +end; + +// VS Code will create a flag file before the update starts (/update=C:\foo\bar) +// - if the file exists at this point, the user quit Code before the update finished, so don't start Code after update +// - otherwise, the user has accepted to apply the update and Code should start +function LockFileExists(): Boolean; +begin + Result := FileExists(ExpandConstant('{param:update}')) +end; + +// Check if VS Code created a session-end flag file to indicate OS is shutting down +// This prevents calling inno_updater.exe during system shutdown +function SessionEndFileExists(): Boolean; +begin + Result := FileExists(ExpandConstant('{param:sessionend}')) +end; + +function ShouldRunAfterUpdate(): Boolean; +begin + if IsBackgroundUpdate() then + Result := not LockFileExists() + else + Result := True; +end; + +function IsWindows11OrLater(): Boolean; +begin + Result := (GetWindowsVersion >= $0A0055F0); +end; + +function GetAppMutex(Value: string): string; +begin + if IsBackgroundUpdate() then + Result := '' + else + Result := '{#AppMutex}'; +end; + +function GetDestDir(Value: string): string; +begin + Result := ExpandConstant('{app}'); +end; + +function GetVisualElementsManifest(Value: string): string; +begin + if IsBackgroundUpdate() then + Result := ExpandConstant('new_{#ExeBasename}.VisualElementsManifest.xml') + else + Result := ExpandConstant('{#ExeBasename}.VisualElementsManifest.xml'); +end; + +function GetExeBasename(Value: string): string; +begin + if IsBackgroundUpdate() then + Result := ExpandConstant('new_{#ExeBasename}.exe') + else + Result := ExpandConstant('{#ExeBasename}.exe'); +end; + +function GetBinDirTunnelApplicationFilename(Value: string): string; +begin + if IsBackgroundUpdate() then + Result := ExpandConstant('new_{#TunnelApplicationName}.exe') + else + Result := ExpandConstant('{#TunnelApplicationName}.exe'); +end; + +function GetBinDirApplicationFilename(Value: string): string; +begin + if IsBackgroundUpdate() then + Result := ExpandConstant('new_{#ApplicationName}') + else + Result := ExpandConstant('{#ApplicationName}'); +end; + +function GetBinDirApplicationCmdFilename(Value: string): string; +begin + if IsBackgroundUpdate() then + Result := ExpandConstant('new_{#ApplicationName}.cmd') + else + Result := ExpandConstant('{#ApplicationName}.cmd'); +end; + +function BoolToStr(Value: Boolean): String; +begin + if Value then + Result := 'true' + else + Result := 'false'; +end; + +function QualityIsInsiders(): boolean; +begin + if '{#Quality}' = 'insider' then + Result := True + else + Result := False; +end; + +#ifdef AppxPackageName +var + AppxPackageFullname: String; + +procedure ExecAndGetFirstLineLog(const S: String; const Error, FirstLine: Boolean); +begin + if not Error and (AppxPackageFullname = '') and (Trim(S) <> '') then + AppxPackageFullname := S; + Log(S); +end; + +function AppxPackageInstalled(const name: String; var ResultCode: Integer): Boolean; +begin + AppxPackageFullname := ''; + try + Log('Get-AppxPackage for package with name: ' + name); + ExecAndLogOutput('powershell.exe', '-NoLogo -NoProfile -NonInteractive -WindowStyle Hidden -ExecutionPolicy Bypass -Command ' + AddQuotes('Get-AppxPackage -Name ''' + name + ''' | Select-Object -ExpandProperty PackageFullName'), '', SW_HIDE, ewWaitUntilTerminated, ResultCode, @ExecAndGetFirstLineLog); + except + Log(GetExceptionMessage); + end; + if (AppxPackageFullname <> '') then + Result := True + else + Result := False +end; + +procedure AddAppxPackage(); +var + AddAppxPackageResultCode: Integer; +begin + if not SessionEndFileExists() and not AppxPackageInstalled(ExpandConstant('{#AppxPackageName}'), AddAppxPackageResultCode) then begin + Log('Installing appx ' + AppxPackageFullname + ' ...'); + ShellExec('', 'powershell.exe', '-NoLogo -NoProfile -NonInteractive -WindowStyle Hidden -ExecutionPolicy Bypass -Command ' + AddQuotes('Add-AppxPackage -Path ''' + ExpandConstant('{app}\{#VersionedResourcesFolder}\appx\{#AppxPackage}') + ''' -ExternalLocation ''' + ExpandConstant('{app}\{#VersionedResourcesFolder}\appx') + ''''), '', SW_HIDE, ewWaitUntilTerminated, AddAppxPackageResultCode); + Log('Add-AppxPackage complete.'); + end; +end; + +procedure RemoveAppxPackage(); +var + RemoveAppxPackageResultCode: Integer; +begin + // Remove the old context menu package + // Following condition can be removed after two versions. + if QualityIsInsiders() and not SessionEndFileExists() and AppxPackageInstalled('Microsoft.VSCodeInsiders', RemoveAppxPackageResultCode) then begin + Log('Deleting old appx ' + AppxPackageFullname + ' installation...'); + ShellExec('', 'powershell.exe', '-NoLogo -NoProfile -NonInteractive -WindowStyle Hidden -ExecutionPolicy Bypass -Command ' + AddQuotes('Remove-AppxPackage -Package ''' + AppxPackageFullname + ''''), '', SW_HIDE, ewWaitUntilTerminated, RemoveAppxPackageResultCode); + DeleteFile(ExpandConstant('{app}\appx\code_insiders_explorer_{#Arch}.appx')); + DeleteFile(ExpandConstant('{app}\appx\code_insiders_explorer_command.dll')); + end; + if not SessionEndFileExists() and AppxPackageInstalled(ExpandConstant('{#AppxPackageName}'), RemoveAppxPackageResultCode) then begin + Log('Removing current ' + AppxPackageFullname + ' appx installation...'); + ShellExec('', 'powershell.exe', '-NoLogo -NoProfile -NonInteractive -WindowStyle Hidden -ExecutionPolicy Bypass -Command ' + AddQuotes('Remove-AppxPackage -Package ''' + AppxPackageFullname + ''''), '', SW_HIDE, ewWaitUntilTerminated, RemoveAppxPackageResultCode); + Log('Remove-AppxPackage for current appx installation complete.'); + end; +end; +#endif + +procedure CurStepChanged(CurStep: TSetupStep); +var + UpdateResultCode: Integer; + StartServiceResultCode: Integer; +begin + if CurStep = ssPostInstall then + begin +#ifdef AppxPackageName + // Remove the old context menu registry keys for insiders + if QualityIsInsiders() and WizardIsTaskSelected('addcontextmenufiles') then begin + RegDeleteKeyIncludingSubkeys({#EnvironmentRootKey}, 'Software\Classes\*\shell\{#RegValueName}'); + RegDeleteKeyIncludingSubkeys({#EnvironmentRootKey}, 'Software\Classes\directory\shell\{#RegValueName}'); + RegDeleteKeyIncludingSubkeys({#EnvironmentRootKey}, 'Software\Classes\directory\background\shell\{#RegValueName}'); + RegDeleteKeyIncludingSubkeys({#EnvironmentRootKey}, 'Software\Classes\Drive\shell\{#RegValueName}'); + end; +#endif + + if IsBackgroundUpdate() then + begin + SaveStringToFile(ExpandConstant('{app}\updating_version'), '{#Commit}', False); + CreateMutex('{#AppMutex}-ready'); + + Log('Checking whether application is still running...'); + while (CheckForMutexes('{#AppMutex}')) do + begin + Sleep(1000) + end; + Log('Application appears not to be running.'); + + if not SessionEndFileExists() then begin + StopTunnelServiceIfNeeded(); + Log('Invoking inno_updater for background update'); + Exec(ExpandConstant('{app}\{#VersionedResourcesFolder}\tools\inno_updater.exe'), ExpandConstant('"{app}\{#ExeBasename}.exe" ' + BoolToStr(LockFileExists()) + ' "{cm:UpdatingVisualStudioCode}"'), '', SW_SHOW, ewWaitUntilTerminated, UpdateResultCode); + DeleteFile(ExpandConstant('{app}\updating_version')); + Log('inno_updater completed successfully'); + #if "system" == InstallTarget + Log('Invoking inno_updater to remove previous installation folder'); + Exec(ExpandConstant('{app}\{#VersionedResourcesFolder}\tools\inno_updater.exe'), ExpandConstant('"--gc" "{app}\{#ExeBasename}.exe" "{#VersionedResourcesFolder}"'), '', SW_SHOW, ewWaitUntilTerminated, UpdateResultCode); + Log('inno_updater completed gc successfully'); + #endif + end else begin + Log('Skipping inno_updater.exe call because OS session is ending'); + end; + end else begin + Log('Invoking inno_updater to remove previous installation folder'); + Exec(ExpandConstant('{app}\{#VersionedResourcesFolder}\tools\inno_updater.exe'), ExpandConstant('"--gc" "{app}\{#ExeBasename}.exe" "{#VersionedResourcesFolder}"'), '', SW_SHOW, ewWaitUntilTerminated, UpdateResultCode); + Log('inno_updater completed gc successfully'); + end; + + if ShouldRestartTunnelService then + begin + // start the tunnel service + Log('Restarting the tunnel service...'); + ShellExec('', ExpandConstant('"{app}\bin\{#ApplicationName}.cmd"'), 'tunnel service install', '', SW_HIDE, ewWaitUntilTerminated, StartServiceResultCode); + Log('Starting the tunnel service completed with result code ' + IntToStr(StartServiceResultCode)); + ShouldRestartTunnelService := False + end; + end; +end; + +// https://stackoverflow.com/a/23838239/261019 +procedure Explode(var Dest: TArrayOfString; Text: String; Separator: String); +var + i, p: Integer; +begin + i := 0; + repeat + SetArrayLength(Dest, i+1); + p := Pos(Separator,Text); + if p > 0 then begin + Dest[i] := Copy(Text, 1, p-1); + Text := Copy(Text, p + Length(Separator), Length(Text)); + i := i + 1; + end else begin + Dest[i] := Text; + Text := ''; + end; + until Length(Text)=0; +end; + +function NeedsAddToPath(VSCode: string): boolean; +var + OrigPath: string; +begin + if not RegQueryStringValue({#EnvironmentRootKey}, '{#EnvironmentKey}', 'Path', OrigPath) + then begin + Result := True; + exit; + end; + Result := Pos(';' + VSCode + ';', ';' + OrigPath + ';') = 0; +end; + +function AddToPath(VSCode: string): string; +var + OrigPath: string; +begin + RegQueryStringValue({#EnvironmentRootKey}, '{#EnvironmentKey}', 'Path', OrigPath) + + if (Length(OrigPath) > 0) and (OrigPath[Length(OrigPath)] = ';') then + Result := OrigPath + VSCode + else + Result := OrigPath + ';' + VSCode +end; + +procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); +var + Path: string; + VSCodePath: string; + Parts: TArrayOfString; + NewPath: string; + i: Integer; +begin + if not CurUninstallStep = usUninstall then begin + exit; + end; +#ifdef AppxPackageName + #if "user" == InstallTarget + RemoveAppxPackage(); + #endif +#endif + if not RegQueryStringValue({#EnvironmentRootKey}, '{#EnvironmentKey}', 'Path', Path) + then begin + exit; + end; + NewPath := ''; + VSCodePath := ExpandConstant('{app}\bin') + Explode(Parts, Path, ';'); + for i:=0 to GetArrayLength(Parts)-1 do begin + if CompareText(Parts[i], VSCodePath) <> 0 then begin + NewPath := NewPath + Parts[i]; + + if i < GetArrayLength(Parts) - 1 then begin + NewPath := NewPath + ';'; + end; + end; + end; + RegWriteExpandStringValue({#EnvironmentRootKey}, '{#EnvironmentKey}', 'Path', NewPath); +end; + +#ifdef Debug + #expr SaveToFile(AddBackslash(SourcePath) + "code-processed.iss") +#endif + +// https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/icacls +// https://docs.microsoft.com/en-US/windows/security/identity-protection/access-control/security-identifiers +procedure DisableAppDirInheritance(); +var + ResultCode: Integer; + Permissions: string; +begin + Permissions := '/grant:r "*S-1-5-18:(OI)(CI)F" /grant:r "*S-1-5-32-544:(OI)(CI)F" /grant:r "*S-1-5-11:(OI)(CI)RX" /grant:r "*S-1-5-32-545:(OI)(CI)RX"'; + + #if "user" == InstallTarget + Permissions := Permissions + Format(' /grant:r "*S-1-3-0:(OI)(CI)F" /grant:r "%s:(OI)(CI)F"', [GetUserNameString()]); + #endif + + Exec(ExpandConstant('{sys}\icacls.exe'), ExpandConstant('"{app}" /inheritancelevel:r ') + Permissions, '', SW_HIDE, ewWaitUntilTerminated, ResultCode); +end; diff --git a/build/win32/explorer-dll-fetcher.ts b/build/win32/explorer-dll-fetcher.ts index d5eac8a128d..09bd2691843 100644 --- a/build/win32/explorer-dll-fetcher.ts +++ b/build/win32/explorer-dll-fetcher.ts @@ -43,12 +43,12 @@ export async function downloadExplorerDll(outDir: string, quality: string = 'sta d(`downloading ${fileName}`); const artifact = await downloadArtifact({ isGeneric: true, - version: 'v4.0.0-350164', + version: 'v5.0.0-377200', artifactName: fileName, checksums, mirrorOptions: { mirror: 'https://github.com/microsoft/vscode-explorer-command/releases/download/', - customDir: 'v4.0.0-350164', + customDir: 'v5.0.0-377200', customFilename: fileName } }); diff --git a/build/win32/inno_updater.exe b/build/win32/inno_updater.exe index 14ae7b2dd63664ff92f797761648b392b8e7ed43..c3c4a0cd2bcb8e7f258343df9cbe8b1ff9370e59 100644 GIT binary patch delta 227951 zcmc${4R}=5wZ}aP0}dLTQG*5z5_POWQG=pJi8g42s40dL16qpMB8?O^)k&qdloOmp zbM7#fcG7BFYH4eGxxKd4TP`9+4Id?FtrxWwl(wR^_Do|fpjANXyubh6XFd{wdi%c5 z^Ny0U&;DF%?X}ikd+m?Y{@at=cb&4VrZ`aawM#B-X*|5#E&cp$FJ=FYKIWB|PUJoH z>g_v@HP0{XILbV~xTDNG@7PhobL)w>?-;|g^z*mBlrqoTUMlCg9Z}W`)enaozr-EAka`WG%#;s^rnFS+Zi~y=!l{t#|8d-SRim^v5DRJZ-gTRx28@n z8dF>~JatvknMXGL?XW;u5wVd_V9TRlJL#B`t)aloYXgC=H3vyArRPq25nI?FplTy z)LF&HAK4mGF8&D2S5wW!V}=7uU@dR2r52Mx&;)=ga2?P4fAQnuPZoVWSY8~cPn{V2 zLh+~Pr@j_EcSPxoDS<>yH2lcY;iWTD&jv3p<`Ee>ipMX`7&^4*_=>xy1iTqX76sy) zB8jEZ4(f6@j(^1~y(x9&uv1jqt;23RUe%0UpSNyC=T?v*Ei(Wipxc#rz3B(tWhb&vToC@5g)If8uc3SS#8lCj`g#&S;(= zm|x`0FUf+?o(18w&!sL1MMpjT?Bqb=t|rK^D-&ufN!+90?DV()kcx#Wi))@sopiw{ zXA7BT%nvkXM)nZOjMO_7`|q=_|J25(?eE?7faJ6lZESX5I4B#LW;Dky47kt4j!7&I z+Vp(2@x>(pB}5KNICgQFQodN;zsgj@@RJ2$>u?KUAw)hvGnx~zXi0o=Fc3RBamm1n zGhZytj9dpUv#s+jV5T+X-F&oa z3g(+?rm2!dYk8u!B2izG8Cmn(Rj_ zN0gsz-ilgIx_nCDn#>Di>*xu0E&~MGs(1H$*L$gO$;iV^w&IqZM@~tdRr09`YmS6% z|M-{UKu1q3_;69*ne&TVwh=eO`%~hlqj||2577Si+hP9uN0b+T=08&FMx0)B zLh3IgzE!;Z$EiDyJbCB|wSml^Q-2#VHuc<*-zxshf?wPmKBDN7rc;ZN9>iz`FfKy3;H$7N%tBOq&LxkOiXr)Jyz_s(jfA2{yh%QL3i!SBe-P+q> z0!k#<9SArIDtw;_nBa1Phw+bkO6P@N=!pK97ZX@PU~@-wC66LE?e1@G^nN*Ns7M)J zJuA8({$4QL`7nv_Y-^s~0u{h_%vZ#2;f^^YRM#y-+jmS3xOLGp7rYgA>Y}ags%Sd} zTYAtF^Xb*6Z&DAHB3nr~AP`<1i{2W3WKs0y z#Dc;W4TH~IWLx}ZNg%NP^$6@$IsD!Ae+dnL*{yb4g6^bX@1)SGmnR2$rJLH*-=@O$ zMbWAuw_TN36rGT`HJBKa_(Y)d$(YaF)5X=n_*W3!QSp0s?izad8B#mbb82UxG(R@$ z%S92i)%?}}toG?;7vebL2xs4S!a|Ec{ z6rDvkc2SjJw{ZXY>SFpaNP|_Vi|Qr&sGyyGAJLd`&+CfF7uJX2ww zQ9aXt<&Sr3DdGr3k3F1Yff&QRD3<;hBT^#dz7T)?K>U3*G1CWngzB~}Wm{<9he%C? zXr}s8Reyp%HA8N@B60C1vYTGJKA1Q=-)E_>jVyKM+>=EuKc1;|s9w?=jGjm(k8cIG z^kYK-t3DWiKLjMvaOa;$NgN82&jQK#cYvjyTmkCQBiU_~%A-3kni6PPM-J~#3C9c; z6NAyV>!D+dT8-~LCEU?V{`lVVaOZIHky7Tyq7{!ndI~fRMx_Ve3g4=K^(FJdu@Q4n z5OA6;P!_7#M6E@AkQH zKtr?)Er!^2UQ3Hh7DZ={;<@Pd$Dgtomy;)L&x1pK`0i&&^!c*}PVIb+cfW_yMSz<$3O~>y;}=%~8SlSksL>!ncKtL)_`!Ey4Y!|%0A73m(<*%T=>$7_#E9XJ?~^mUdc@lf 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 F{{uy&TwVYG delta 207828 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 diff --git a/resources/win32/insider/bin/code.cmd b/resources/win32/insider/bin/code.cmd new file mode 100644 index 00000000000..1298c72ee0e --- /dev/null +++ b/resources/win32/insider/bin/code.cmd @@ -0,0 +1,7 @@ +@echo off +setlocal +set VSCODE_DEV= +set ELECTRON_RUN_AS_NODE=1 +"%~dp0..\@@NAME@@.exe" "%~dp0..\@@VERSIONFOLDER@@\resources\app\out\cli.js" %* +IF %ERRORLEVEL% NEQ 0 EXIT /b %ERRORLEVEL% +endlocal diff --git a/resources/win32/insider/bin/code.sh b/resources/win32/insider/bin/code.sh new file mode 100644 index 00000000000..639577f1225 --- /dev/null +++ b/resources/win32/insider/bin/code.sh @@ -0,0 +1,63 @@ +#!/usr/bin/env sh +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +if [ "$VSCODE_WSL_DEBUG_INFO" = true ]; then + set -x +fi + +COMMIT="@@COMMIT@@" +APP_NAME="@@APPNAME@@" +QUALITY="@@QUALITY@@" +NAME="@@NAME@@" +SERVERDATAFOLDER="@@SERVERDATAFOLDER@@" +VERSIONFOLDER="@@VERSIONFOLDER@@" +VSCODE_PATH="$(dirname "$(dirname "$(realpath "$0")")")" +ELECTRON="$VSCODE_PATH/$NAME.exe" + +IN_WSL=false +if [ -n "$WSL_DISTRO_NAME" ]; then + # $WSL_DISTRO_NAME is available since WSL builds 18362, also for WSL2 + IN_WSL=true +else + WSL_BUILD=$(uname -r | sed -E 's/^[0-9.]+-([0-9]+)-Microsoft.*|.*/\1/') + if [ -n "$WSL_BUILD" ]; then + if [ "$WSL_BUILD" -ge 17063 ]; then + # WSLPATH is available since WSL build 17046 + # WSLENV is available since WSL build 17063 + IN_WSL=true + else + # If running under older WSL, don't pass cli.js to Electron as + # environment vars cannot be transferred from WSL to Windows + # See: https://github.com/microsoft/BashOnWindows/issues/1363 + # https://github.com/microsoft/BashOnWindows/issues/1494 + "$ELECTRON" "$@" + exit $? + fi + fi +fi +if [ $IN_WSL = true ]; then + + export WSLENV="ELECTRON_RUN_AS_NODE/w:$WSLENV" + CLI=$(wslpath -m "$VSCODE_PATH/resources/app/out/cli.js") + + # use the Remote WSL extension if installed + WSL_EXT_ID="ms-vscode-remote.remote-wsl" + + ELECTRON_RUN_AS_NODE=1 "$ELECTRON" "$CLI" --locate-extension $WSL_EXT_ID >/tmp/remote-wsl-loc.txt 2>/dev/null { /* ignored */ })); }); + // Check if Inno Setup is running + const innoSetupActive = await this.checkInnoSetupMutex(productService); + if (innoSetupActive) { + const message = `${productService.nameShort} is currently being updated. Please wait for the update to complete before launching.`; + instantiationService.invokeFunction(this.quit, new Error(message)); + return; + } + return instantiationService.createInstance(CodeApplication, mainProcessNodeIpcServer, instanceEnvironment).startup(); }); } catch (error) { @@ -487,6 +495,21 @@ class CodeMain { lifecycleMainService.kill(exitCode); } + private async checkInnoSetupMutex(productService: IProductService): Promise { + if (!isWindows || !productService.win32MutexName || productService.quality !== 'insider') { + return false; + } + + try { + const readyMutexName = `${productService.win32MutexName}setup`; + const mutex = await import('@vscode/windows-mutex'); + return mutex.isActive(readyMutexName); + } catch (error) { + console.error('Failed to check Inno Setup mutex:', error); + return false; + } + } + //#region Command line arguments utilities private resolveArgs(): NativeParsedArgs { diff --git a/src/vs/code/electron-utility/sharedProcess/contrib/defaultExtensionsInitializer.ts b/src/vs/code/electron-utility/sharedProcess/contrib/defaultExtensionsInitializer.ts index 0098f682199..04b79ab51fd 100644 --- a/src/vs/code/electron-utility/sharedProcess/contrib/defaultExtensionsInitializer.ts +++ b/src/vs/code/electron-utility/sharedProcess/contrib/defaultExtensionsInitializer.ts @@ -13,6 +13,7 @@ import { ILogService } from '../../../../platform/log/common/log.js'; import { IStorageService, StorageScope, StorageTarget } from '../../../../platform/storage/common/storage.js'; import { FileOperationResult, IFileService, IFileStat, toFileOperationResult } from '../../../../platform/files/common/files.js'; import { getErrorMessage } from '../../../../base/common/errors.js'; +import { IProductService } from '../../../../platform/product/common/productService.js'; const defaultExtensionsInitStatusKey = 'initializing-default-extensions'; @@ -23,6 +24,7 @@ export class DefaultExtensionsInitializer extends Disposable { @IStorageService storageService: IStorageService, @IFileService private readonly fileService: IFileService, @ILogService private readonly logService: ILogService, + @IProductService private readonly productService: IProductService, ) { super(); @@ -70,9 +72,15 @@ export class DefaultExtensionsInitializer extends Disposable { } private getDefaultExtensionVSIXsLocation(): URI { - // appRoot = C:\Users\\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app - // extensionsPath = C:\Users\\AppData\Local\Programs\Microsoft VS Code Insiders\bootstrap\extensions - return URI.file(join(dirname(dirname(this.environmentService.appRoot)), 'bootstrap', 'extensions')); + if (this.productService.quality === 'insider') { + // appRoot = C:\Users\\AppData\Local\Programs\Microsoft VS Code Insiders\\resources\app + // extensionsPath = C:\Users\\AppData\Local\Programs\Microsoft VS Code Insiders\\bootstrap\extensions + return URI.file(join(dirname(dirname(dirname(this.environmentService.appRoot))), 'bootstrap', 'extensions')); + } else { + // appRoot = C:\Users\\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app + // extensionsPath = C:\Users\\AppData\Local\Programs\Microsoft VS Code Insiders\bootstrap\extensions + return URI.file(join(dirname(dirname(this.environmentService.appRoot)), 'bootstrap', 'extensions')); + } } } diff --git a/src/vs/platform/remoteTunnel/node/remoteTunnelService.ts b/src/vs/platform/remoteTunnel/node/remoteTunnelService.ts index 6c3306c010f..73829f9a556 100644 --- a/src/vs/platform/remoteTunnel/node/remoteTunnelService.ts +++ b/src/vs/platform/remoteTunnel/node/remoteTunnelService.ts @@ -175,9 +175,17 @@ export class RemoteTunnelService extends Disposable implements IRemoteTunnelServ // appRoot = /Applications/Visual Studio Code - Insiders.app/Contents/Resources/app // bin = /Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/bin binParentLocation = this.environmentService.appRoot; + } else if (isWindows) { + if (this.productService.quality === 'insider') { + // appRoot = C:\Users\\AppData\Local\Programs\Microsoft VS Code Insiders\\resources\app + // bin = C:\Users\\AppData\Local\Programs\Microsoft VS Code Insiders\bin + binParentLocation = dirname(dirname(dirname(this.environmentService.appRoot))); + } else { + // appRoot = C:\Users\\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app + // bin = C:\Users\\AppData\Local\Programs\Microsoft VS Code Insiders\bin + binParentLocation = dirname(dirname(this.environmentService.appRoot)); + } } else { - // appRoot = C:\Users\\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app - // bin = C:\Users\\AppData\Local\Programs\Microsoft VS Code Insiders\bin // appRoot = /usr/share/code-insiders/resources/app // bin = /usr/share/code-insiders/bin binParentLocation = dirname(dirname(this.environmentService.appRoot)); diff --git a/src/vs/platform/update/electron-main/abstractUpdateService.ts b/src/vs/platform/update/electron-main/abstractUpdateService.ts index 48d0d86a142..ed8043f2623 100644 --- a/src/vs/platform/update/electron-main/abstractUpdateService.ts +++ b/src/vs/platform/update/electron-main/abstractUpdateService.ts @@ -48,7 +48,7 @@ export abstract class AbstractUpdateService implements IUpdateService { constructor( @ILifecycleMainService protected readonly lifecycleMainService: ILifecycleMainService, @IConfigurationService protected configurationService: IConfigurationService, - @IEnvironmentMainService private readonly environmentMainService: IEnvironmentMainService, + @IEnvironmentMainService protected environmentMainService: IEnvironmentMainService, @IRequestService protected requestService: IRequestService, @ILogService protected logService: ILogService, @IProductService protected readonly productService: IProductService @@ -105,6 +105,8 @@ export abstract class AbstractUpdateService implements IUpdateService { this.setState(State.Idle(this.getUpdateType())); + await this.postInitialize(); + if (updateMode === 'manual') { this.logService.info('update#ctor - manual checks only; automatic updates are disabled by user preference'); return; @@ -230,6 +232,10 @@ export abstract class AbstractUpdateService implements IUpdateService { // noop } + protected async postInitialize(): Promise { + // noop + } + protected abstract buildUpdateFeedUrl(quality: string): string | undefined; protected abstract doCheckForUpdates(explicit: boolean): void; } diff --git a/src/vs/platform/update/electron-main/updateService.win32.ts b/src/vs/platform/update/electron-main/updateService.win32.ts index 8f92a3e9f35..ae4fd9cc879 100644 --- a/src/vs/platform/update/electron-main/updateService.win32.ts +++ b/src/vs/platform/update/electron-main/updateService.win32.ts @@ -4,8 +4,10 @@ *--------------------------------------------------------------------------------------------*/ import { spawn } from 'child_process'; -import * as fs from 'fs'; +import { existsSync, unlinkSync } from 'fs'; +import { mkdir, readFile, unlink } from 'fs/promises'; import { tmpdir } from 'os'; +import { app } from 'electron'; import { timeout } from '../../../base/common/async.js'; import { CancellationToken } from '../../../base/common/cancellation.js'; import { memoize } from '../../../base/common/decorators.js'; @@ -40,7 +42,7 @@ interface IAvailableUpdate { let _updateType: UpdateType | undefined = undefined; function getUpdateType(): UpdateType { if (typeof _updateType === 'undefined') { - _updateType = fs.existsSync(path.join(path.dirname(process.execPath), 'unins000.exe')) + _updateType = existsSync(path.join(path.dirname(process.execPath), 'unins000.exe')) ? UpdateType.Setup : UpdateType.Archive; } @@ -55,7 +57,7 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun @memoize get cachePath(): Promise { const result = path.join(tmpdir(), `vscode-${this.productService.quality}-${this.productService.target}-${process.arch}`); - return fs.promises.mkdir(result, { recursive: true }).then(() => result); + return mkdir(result, { recursive: true }).then(() => result); } constructor( @@ -90,6 +92,14 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun } protected override async initialize(): Promise { + if (this.environmentMainService.isBuilt) { + const cachePath = await this.cachePath; + app.setPath('appUpdate', cachePath); + try { + await unlink(path.join(cachePath, 'session-ending.flag')); + } catch { } + } + if (this.productService.target === 'user' && await this.nativeHostMainService.isAdmin(undefined)) { this.setState(State.Disabled(DisablementReason.RunningAsAdmin)); this.logService.info('update#ctor - updates are disabled due to running as Admin in user setup'); @@ -99,6 +109,49 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun await super.initialize(); } + protected override async postInitialize(): Promise { + if (this.productService.quality !== 'insider') { + return; + } + // Check for pending update from previous session + // This can happen if the app is quit right after the update has been + // downloaded and before the update has been applied. + const exePath = app.getPath('exe'); + const exeDir = path.dirname(exePath); + const updatingVersionPath = path.join(exeDir, 'updating_version'); + if (await pfs.Promises.exists(updatingVersionPath)) { + try { + const updatingVersion = (await readFile(updatingVersionPath, 'utf8')).trim(); + this.logService.info(`update#doCheckForUpdates - application was updating to version ${updatingVersion}`); + const updatePackagePath = await this.getUpdatePackagePath(updatingVersion); + if (await pfs.Promises.exists(updatePackagePath)) { + await this._applySpecificUpdate(updatePackagePath); + this.logService.info(`update#doCheckForUpdates - successfully applied update to version ${updatingVersion}`); + } + } catch (e) { + this.logService.error(`update#doCheckForUpdates - could not read ${updatingVersionPath}`, e); + } finally { + // updatingVersionPath will be deleted by inno setup. + } + } else { + const fastUpdatesEnabled = this.configurationService.getValue('update.enableWindowsBackgroundUpdates'); + // GC for background updates in system setup happens via inno_setup since it requires + // elevated permissions. + if (fastUpdatesEnabled && this.productService.target === 'user' && this.productService.commit) { + const versionedResourcesFolder = this.productService.commit.substring(0, 10); + const innoUpdater = path.join(exeDir, versionedResourcesFolder, 'tools', 'inno_updater.exe'); + await new Promise(resolve => { + const child = spawn(innoUpdater, ['--gc', exePath, versionedResourcesFolder], { + stdio: ['ignore', 'ignore', 'ignore'], + windowsHide: true, + timeout: 2 * 60 * 1000 + }); + child.once('exit', () => resolve()); + }); + } + } + } + protected buildUpdateFeedUrl(quality: string): string | undefined { let platform = `win32-${process.arch}`; @@ -196,7 +249,7 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun const promises = versions.filter(filter).map(async one => { try { - await fs.promises.unlink(path.join(cachePath, one)); + await unlink(path.join(cachePath, one)); } catch (err) { // ignore } @@ -218,11 +271,12 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun this.setState(State.Updating(update)); const cachePath = await this.cachePath; + const sessionEndFlagPath = path.join(cachePath, 'session-ending.flag'); this.availableUpdate.updateFilePath = path.join(cachePath, `CodeSetup-${this.productService.quality}-${update.version}.flag`); await pfs.Promises.writeFile(this.availableUpdate.updateFilePath, 'flag'); - const child = spawn(this.availableUpdate.packagePath, ['/verysilent', '/log', `/update="${this.availableUpdate.updateFilePath}"`, '/nocloseapplications', '/mergetasks=runcode,!desktopicon,!quicklaunchicon'], { + const child = spawn(this.availableUpdate.packagePath, ['/verysilent', '/log', `/update="${this.availableUpdate.updateFilePath}"`, `/sessionend="${sessionEndFlagPath}"`, '/nocloseapplications', '/mergetasks=runcode,!desktopicon,!quicklaunchicon'], { detached: true, stdio: ['ignore', 'ignore', 'ignore'], windowsVerbatimArguments: true @@ -249,7 +303,7 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun this.logService.trace('update#quitAndInstall(): running raw#quitAndInstall()'); if (this.availableUpdate.updateFilePath) { - fs.unlinkSync(this.availableUpdate.updateFilePath); + unlinkSync(this.availableUpdate.updateFilePath); } else { spawn(this.availableUpdate.packagePath, ['/silent', '/log', '/mergetasks=runcode,!desktopicon,!quicklaunchicon'], { detached: true, diff --git a/test/automation/src/electron.ts b/test/automation/src/electron.ts index d5707850bf7..a34e802ed5a 100644 --- a/test/automation/src/electron.ts +++ b/test/automation/src/electron.ts @@ -88,6 +88,28 @@ export async function resolveElectronConfiguration(options: LaunchOptions): Prom }; } +function findFilePath(root: string, path: string): string { + // First check if the path exists directly in the root + const directPath = join(root, path); + if (fs.existsSync(directPath)) { + return directPath; + } + + // If not found directly, search through subdirectories + const entries = fs.readdirSync(root, { withFileTypes: true }); + + for (const entry of entries) { + if (entry.isDirectory()) { + const found = join(root, entry.name, path); + if (fs.existsSync(found)) { + return found; + } + } + } + + throw new Error(`Could not find ${path} in any subdirectory`); +} + export function getDevElectronPath(): string { const buildPath = join(root, '.build'); const product = require(join(root, 'product.json')); @@ -113,7 +135,8 @@ export function getBuildElectronPath(root: string): string { return join(root, product.applicationName); } case 'win32': { - const product = require(join(root, 'resources', 'app', 'product.json')); + const productPath = findFilePath(root, join('resources', 'app', 'product.json')); + const product = require(productPath); return join(root, `${product.nameShort}.exe`); } default: @@ -125,6 +148,10 @@ export function getBuildVersion(root: string): string { switch (process.platform) { case 'darwin': return require(join(root, 'Contents', 'Resources', 'app', 'package.json')).version; + case 'win32': { + const packagePath = findFilePath(root, join('resources', 'app', 'package.json')); + return require(packagePath).version; + } default: return require(join(root, 'resources', 'app', 'package.json')).version; }