chore: remove ~80MB of obsolete files and binaries from tracking
- Remove WiX Toolset binaries (tools/wix314/, wix314-binaries.zip) - CI installs via choco - Remove one-shot scripts (fix-ts.js, patch-proxy.js, patch-settings.js, rename-deep.js) - Remove AI session data (thoughts/, .impeccable.md, CLAUDE.md) - Remove legacy launchers (agm.bat, run_cli.bat) - Remove unused Nix config (flake.nix, flake.lock) - Remove test-process.ts from root - Update .gitignore to prevent re-tracking
This commit is contained in:
1 parent
71bf8122d1
commit
3752dfda91
236 files changed
-48175
No files matched your search
@@ -1,29 +0,0 @@
|
||||
## Design Context
|
||||
|
||||
### Users
|
||||
|
||||
Developers and power users who manage multiple AI accounts (Google Gemini, Claude) through a desktop Electron app. They use IDEs like Cursor, OpenCode, and Windsurf. They need to monitor token usage across accounts in real-time to avoid quota exhaustion.
|
||||
|
||||
### Brand Personality
|
||||
|
||||
- **Professional**: Clean, precise, no clutter
|
||||
- **Technical**: Data-dense but readable, developer-friendly
|
||||
- **Efficient**: Information at a glance, minimal clicks
|
||||
- 3 words: "precise", "technical", "focused"
|
||||
|
||||
### Aesthetic Direction
|
||||
|
||||
- Dark mode primary (this is a developer tool used for long sessions)
|
||||
- Deep navy/slate backgrounds, not pure black
|
||||
- Sharp accent colors for data visualization (subtle blues, teals, amber for warnings)
|
||||
- High information density without visual noise
|
||||
- Monospace for numbers/data, clean sans-serif for UI chrome
|
||||
- No gradients on text, no glassmorphism, no rounded-everything
|
||||
|
||||
### Design Principles
|
||||
|
||||
1. Data first — charts and numbers are the heroes
|
||||
2. Every pixel earns its place — no decorative elements
|
||||
3. Density over whitespace — developers want to see everything
|
||||
4. Motion only for state changes — no gratuitous animations
|
||||
5. Consistent with shadcn/ui + Tailwind system already in place
|
||||
@@ -1,44 +0,0 @@
|
||||
/* eslint-disable @typescript-eslint/no-require-imports */
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
const projectRoot = process.cwd();
|
||||
|
||||
// Extensões permitidas
|
||||
const allowedExtensions = /\.(ts|tsx)$/;
|
||||
|
||||
function walkAndFix(dir) {
|
||||
const files = fs.readdirSync(dir);
|
||||
|
||||
for (const file of files) {
|
||||
if (['node_modules', '.git', 'dist', 'out'].includes(file)) continue;
|
||||
|
||||
const fullPath = path.join(dir, file);
|
||||
const stat = fs.statSync(fullPath);
|
||||
|
||||
if (stat.isDirectory()) {
|
||||
walkAndFix(fullPath);
|
||||
} else if (allowedExtensions.test(file)) {
|
||||
let content = fs.readFileSync(fullPath, 'utf-8');
|
||||
const original = content;
|
||||
|
||||
// Fix specific known broken identifiers
|
||||
content = content.replace(/closeGemini Nexus/g, 'closeGeminiNexus');
|
||||
content = content.replace(/startGemini Nexus/g, 'startGeminiNexus');
|
||||
content = content.replace(/Gemini NexusVersion/g, 'GeminiNexusVersion');
|
||||
content = content.replace(/Gemini NexusDb/g, 'GeminiNexusDb');
|
||||
content = content.replace(/Gemini NexusStorage/g, 'GeminiNexusStorage');
|
||||
content = content.replace(/Gemini NexusExecutable/g, 'GeminiNexusExecutable');
|
||||
content = content.replace(/Gemini NexusCoreFeatures/g, 'GeminiNexusCoreFeatures');
|
||||
content = content.replace(/getGemini Nexus/g, 'getGeminiNexus');
|
||||
|
||||
if (content !== original) {
|
||||
fs.writeFileSync(fullPath, content, 'utf-8');
|
||||
console.log(`Fixed TS errors in: ${fullPath}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
walkAndFix(projectRoot);
|
||||
console.log('Fix complete.');
|
||||
Generated
-27
@@ -1,27 +0,0 @@
|
||||
{
|
||||
"nodes": {
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1774106199,
|
||||
"narHash": "sha256-US5Tda2sKmjrg2lNHQL3jRQ6p96cgfWh3J1QBliQ8Ws=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "6c9a78c09ff4d6c21d0319114873508a6ec01655",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
||||
@@ -1,121 +0,0 @@
|
||||
{
|
||||
description = "Antigravity Manager";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
};
|
||||
|
||||
outputs = {
|
||||
self,
|
||||
nixpkgs,
|
||||
}: let
|
||||
supportedSystems = ["x86_64-linux" "aarch64-linux"];
|
||||
forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
|
||||
|
||||
version = "0.10.0";
|
||||
|
||||
sources = {
|
||||
"x86_64-linux" = {
|
||||
url = "https://github.com/Draculabo/AntigravityManager/releases/download/v${version}/Antigravity.Manager_${version}_amd64.deb";
|
||||
sha256 = "5fc08b4a9308c71fc00e44b95d4fb3178182aea8821708fa51fdf2bf5dbbb856";
|
||||
};
|
||||
"aarch64-linux" = {
|
||||
url = "https://github.com/Draculabo/AntigravityManager/releases/download/v${version}/Antigravity.Manager_${version}_arm64.deb";
|
||||
sha256 = "666c9659efa66bb6be6a8e7fb0c384ceb799a17245eab374bf9b3d7901c5c4cb";
|
||||
};
|
||||
};
|
||||
|
||||
mkPackage = pkgs: let
|
||||
system = pkgs.stdenv.hostPlatform.system;
|
||||
source = sources.${system} or (throw "Unsupported system: ${system}");
|
||||
in
|
||||
pkgs.stdenv.mkDerivation {
|
||||
pname = "antigravity-manager";
|
||||
inherit version;
|
||||
|
||||
src = pkgs.fetchurl {
|
||||
inherit (source) url sha256;
|
||||
};
|
||||
|
||||
nativeBuildInputs = with pkgs; [
|
||||
autoPatchelfHook
|
||||
makeWrapper
|
||||
zstd
|
||||
];
|
||||
|
||||
buildInputs = with pkgs; [
|
||||
alsa-lib
|
||||
at-spi2-atk
|
||||
atk
|
||||
cups
|
||||
dbus
|
||||
expat
|
||||
glib
|
||||
gtk3
|
||||
libsecret
|
||||
libdrm
|
||||
libxkbcommon
|
||||
mesa
|
||||
nspr
|
||||
nss
|
||||
pango
|
||||
systemd
|
||||
libx11
|
||||
libxcomposite
|
||||
libxdamage
|
||||
libxext
|
||||
libxfixes
|
||||
libxrandr
|
||||
libxcb
|
||||
];
|
||||
|
||||
unpackPhase = ''
|
||||
ar x $src
|
||||
tar xf data.tar.* --no-same-permissions
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin $out/lib $out/share
|
||||
cp -r usr/lib/antigravity-manager $out/lib/
|
||||
cp -r usr/share/* $out/share/
|
||||
|
||||
ln -s $out/lib/antigravity-manager/antigravity-manager $out/bin/antigravity-manager
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
# Wrap the executable so it finds Wayland/X11 and libsecret
|
||||
wrapProgram $out/bin/antigravity-manager \
|
||||
--add-flags "--enable-features=WaylandWindowDecorations" \
|
||||
--add-flags "--ozone-platform-hint=auto" \
|
||||
--prefix LD_LIBRARY_PATH : ${pkgs.lib.makeLibraryPath [pkgs.libsecret]}
|
||||
|
||||
if [ -e $out/share/applications/antigravity-manager.desktop ]; then
|
||||
substituteInPlace $out/share/applications/antigravity-manager.desktop \
|
||||
--replace "/usr/lib/antigravity-manager/antigravity-manager" "antigravity-manager"
|
||||
fi
|
||||
'';
|
||||
|
||||
meta = with pkgs.lib; {
|
||||
description = "Professional multi-account manager for Google Gemini & Claude AI";
|
||||
homepage = "https://github.com/Draculabo/AntigravityManager";
|
||||
license = licenses.cc-by-nc-sa-40;
|
||||
maintainers = [];
|
||||
platforms = ["x86_64-linux" "aarch64-linux"];
|
||||
mainProgram = "antigravity-manager";
|
||||
};
|
||||
};
|
||||
in {
|
||||
overlays.default = final: prev: {
|
||||
antigravity-manager = mkPackage final;
|
||||
};
|
||||
|
||||
packages = forAllSystems (system: let
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
in {
|
||||
default = mkPackage pkgs;
|
||||
});
|
||||
};
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
const fs = require('fs');
|
||||
let file = fs.readFileSync('src/routes/proxy.tsx', 'utf8');
|
||||
|
||||
// The Proxy layout also uses heavy cards
|
||||
file = file.replace(/<Card>/g, '<Card className="bg-background border border-white/5 shadow-none">');
|
||||
|
||||
fs.writeFileSync('src/routes/proxy.tsx', file);
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
const fs = require('fs');
|
||||
let file = fs.readFileSync('src/routes/settings.tsx', 'utf8');
|
||||
|
||||
// The settings page uses standard cards that look bulky in minimal dark mode
|
||||
file = file.replace(/<div className="flex flex-col gap-6">/g, '<div className="flex flex-col gap-2">');
|
||||
file = file.replace(/<Card>/g, '<Card className="bg-transparent border-0 shadow-none rounded-none border-b border-white/5 last:border-0 pb-6">');
|
||||
file = file.replace(/<CardHeader>/g, '<CardHeader className="px-0 pt-4">');
|
||||
file = file.replace(/<CardContent>/g, '<CardContent className="px-0">');
|
||||
|
||||
fs.writeFileSync('src/routes/settings.tsx', file);
|
||||
|
||||
-118
@@ -1,118 +0,0 @@
|
||||
/* eslint-disable @typescript-eslint/no-require-imports */
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
const projectRoot = process.cwd();
|
||||
|
||||
// Extensões permitidas
|
||||
const allowedExtensions = /\.(ts|tsx|js|jsx|json|md|html|jsonc|yml|yaml|css)$/;
|
||||
|
||||
// Arquivos/Pastas a ignorar (já curados ou irrelevantes)
|
||||
const ignoreDirs = [
|
||||
'node_modules',
|
||||
'.git',
|
||||
'.gemini',
|
||||
'dist',
|
||||
'out',
|
||||
'build',
|
||||
'images',
|
||||
'docs',
|
||||
'.planning',
|
||||
];
|
||||
const ignoreFiles = [
|
||||
'README.md',
|
||||
'README.pt-BR.md',
|
||||
'CHANGELOG.md',
|
||||
'forge.config.ts',
|
||||
'package.json',
|
||||
'rename.js',
|
||||
'rename-deep.js',
|
||||
'task.md',
|
||||
'walkthrough.md',
|
||||
];
|
||||
|
||||
function walkAndReplace(dir) {
|
||||
const files = fs.readdirSync(dir);
|
||||
|
||||
for (const file of files) {
|
||||
if (ignoreDirs.includes(file)) continue;
|
||||
|
||||
const fullPath = path.join(dir, file);
|
||||
const stat = fs.statSync(fullPath);
|
||||
|
||||
if (stat.isDirectory()) {
|
||||
walkAndReplace(fullPath);
|
||||
|
||||
// Rename directory if it contains 'antigravity'
|
||||
if (file.toLowerCase().includes('antigravity')) {
|
||||
const newName = file.replace(/antigravity/gi, (match) => {
|
||||
if (match === 'antigravity') return 'geminiNexus';
|
||||
if (match === 'Antigravity') return 'GeminiNexus';
|
||||
return 'geminiNexus';
|
||||
});
|
||||
const newPath = path.join(dir, newName);
|
||||
fs.renameSync(fullPath, newPath);
|
||||
console.log(`Renamed directory: ${fullPath} -> ${newPath}`);
|
||||
}
|
||||
} else {
|
||||
if (ignoreFiles.includes(file)) continue;
|
||||
|
||||
if (allowedExtensions.test(file)) {
|
||||
let content = fs.readFileSync(fullPath, 'utf-8');
|
||||
const originalContent = content;
|
||||
|
||||
// Save original GitHub links
|
||||
const repoUrlRegex = /github\.com\/Draculabo\/AntigravityManager/gi;
|
||||
const tempUrlMarker = '___TEMP_GITHUB_URL___';
|
||||
content = content.replace(repoUrlRegex, tempUrlMarker);
|
||||
|
||||
// 1. Strings exact match "Antigravity" -> "Gemini Nexus"
|
||||
content = content.replace(/['"]Antigravity['"]/g, (match) => {
|
||||
return match[0] + 'Gemini Nexus' + match[0];
|
||||
});
|
||||
|
||||
// 2. String "Antigravity " -> "Gemini Nexus "
|
||||
content = content.replace(/Antigravity /g, 'Gemini Nexus ');
|
||||
|
||||
// 3. String " Antigravity" -> " Gemini Nexus"
|
||||
content = content.replace(/ Antigravity/g, ' Gemini Nexus');
|
||||
|
||||
// 4. Identifiers Antigravity -> GeminiNexus
|
||||
content = content.replace(/Antigravity/g, 'GeminiNexus');
|
||||
|
||||
// 5. Identifiers antigravity -> geminiNexus
|
||||
content = content.replace(/antigravity/g, 'geminiNexus');
|
||||
|
||||
// Restore GitHub links
|
||||
content = content.replace(
|
||||
new RegExp(tempUrlMarker, 'g'),
|
||||
'github.com/Draculabo/AntigravityManager',
|
||||
);
|
||||
|
||||
// Cleanup any double replacements
|
||||
content = content.replace(/GeminiNexus Nexus/g, 'Gemini Nexus');
|
||||
|
||||
if (content !== originalContent) {
|
||||
fs.writeFileSync(fullPath, content, 'utf-8');
|
||||
console.log(`Updated file content: ${fullPath}`);
|
||||
}
|
||||
|
||||
// Rename file if it contains 'antigravity'
|
||||
if (file.toLowerCase().includes('antigravity')) {
|
||||
const newName = file.replace(/antigravity/gi, (match) => {
|
||||
if (match === 'antigravity') return 'geminiNexus'; // For files like antigravityVersion.ts -> geminiNexusVersion.ts
|
||||
if (match === 'Antigravity') return 'GeminiNexus';
|
||||
return 'geminiNexus';
|
||||
});
|
||||
const newPath = path.join(dir, newName);
|
||||
fs.renameSync(fullPath, newPath);
|
||||
console.log(`Renamed file: ${fullPath} -> ${newPath}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
console.log('Starting global deep rename of Antigravity to GeminiNexus...');
|
||||
walkAndReplace(projectRoot);
|
||||
console.log('Rename complete.');
|
||||
@@ -1,3 +0,0 @@
|
||||
@echo off
|
||||
set PYTHONPATH=%~dp0
|
||||
python -m cli.main %*
|
||||
@@ -1,49 +0,0 @@
|
||||
import { exec } from 'child_process';
|
||||
import { promisify } from 'util';
|
||||
import fs from 'fs';
|
||||
|
||||
const execAsync = promisify(exec);
|
||||
|
||||
function isWsl(): boolean {
|
||||
if (process.platform !== 'linux') return false;
|
||||
try {
|
||||
const version = fs.readFileSync('/proc/version', 'utf-8').toLowerCase();
|
||||
return version.includes('microsoft') && version.includes('wsl');
|
||||
} catch {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
async function isProcessRunning(): Promise<boolean> {
|
||||
try {
|
||||
const platform = process.platform;
|
||||
let command = '';
|
||||
|
||||
console.log('Platform:', platform);
|
||||
console.log('Is WSL:', isWsl());
|
||||
|
||||
if (platform === 'win32' || isWsl()) {
|
||||
const cmd = isWsl() ? '/mnt/c/Windows/System32/tasklist.exe' : 'tasklist';
|
||||
command = `${cmd} /FI "IMAGENAME eq Gemini Nexus.exe" /NH`;
|
||||
} else {
|
||||
command = 'pgrep -x Gemini Nexus';
|
||||
}
|
||||
|
||||
console.log('Command:', command);
|
||||
const { stdout } = await execAsync(command);
|
||||
console.log('Stdout:', stdout);
|
||||
|
||||
if (platform === 'win32' || isWsl()) {
|
||||
return stdout.includes('GeminiNexus.exe');
|
||||
} else {
|
||||
return stdout.trim().length > 0;
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error:', error);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
isProcessRunning().then((result) => {
|
||||
console.log('Result:', result);
|
||||
});
|
||||
@@ -1,74 +0,0 @@
|
||||
---
|
||||
session: ses_2337
|
||||
updated: 2026-04-27T01:38:43.330Z
|
||||
---
|
||||
|
||||
# Session Summary
|
||||
|
||||
## Goal
|
||||
Implement all Package C — Backend Architecture (Quick Wins) fixes in the Gemini Nexus codebase and verify with `npm run lint`, `npm run type-check`, and `npm test`.
|
||||
|
||||
## Constraints & Preferences
|
||||
- Make minimal, focused changes; do not touch files outside Package C scope
|
||||
- Do not run `git commit` or `git push`
|
||||
- Run `npm run lint` and `npm run type-check` after changes and fix any introduced issues
|
||||
- `npm test` must not break any existing tests (update test expectations if needed to match new behavior)
|
||||
|
||||
## Progress
|
||||
### Done
|
||||
- [x] **C-P0-1** — `src/ipc/proxy-advanced/handler.ts`: Replaced silent empty fallbacks with explicit errors for `getParityCounters`, `getCircuitBreakerStatus`, `getProxyMetrics`, `getRecentRequests`, `replayRequest`, and `generateIdeConfig`. Added `normalizeServiceError()` helper to map `getServiceOrThrow` errors to `{ success: false, error: 'Proxy advanced service not initialized' }`.
|
||||
- [x] **C-P0-2** — `src/server/modules/proxy/rate-limit-tracker.ts`: Extended `cleanupExpired()` to iterate `this.failureCounts` and delete stale entries where `entry.lastFailureMs + FAILURE_COUNT_EXPIRY_MS <= now`. Return value now counts both lockouts and failureCounts deletions.
|
||||
- [x] **C-P0-3** — `src/server/modules/proxy/request-user-agent.ts`: Replaced hardcoded `FALLBACK_VERSION = '1.22.2'` with `import { version } from '../../../../package.json'` and `export const FALLBACK_VERSION = version`. `resolveJsonModule` is already enabled in `tsconfig.json`.
|
||||
- [x] **C-P1-1** — `src/server/modules/proxy/proxy.controller.ts`: Replaced hardcoded `capabilitiesMap` with `const capabilitiesMap = this.buildCapabilitiesMap()`. Added private `buildCapabilitiesMap()` that iterates `this.tokenManager?.getAllTokens()` and derives capabilities from `quota.models` metadata.
|
||||
- [x] **C-P1-1 prerequisite** — `src/server/modules/proxy/token-manager.service.ts`: Exported `TokenData` and `TokenEntry` types; added `getAllTokens(): TokenEntry[]` method returning `Array.from(this.tokens.entries())`.
|
||||
- [x] **C-P1-2** — `src/ipc/proxy-advanced/service-registry.ts`: Added typed `getServiceOrThrow<K extends keyof ProxyAdvancedRegistry>(key: K)` helper. Refactored `handler.ts` to use it; a `normalizeServiceError` wrapper preserves the exact P0 error message.
|
||||
|
||||
### In Progress
|
||||
- [ ] Update `src/tests/unit/ipc/proxy-advanced-handler.test.ts` expectations to match the new error responses (null-registry tests now expect `success: false` and `'Proxy advanced service not initialized'` instead of empty success data or old service-specific messages).
|
||||
- [ ] Run `npm run type-check` to validate changed backend files.
|
||||
- [ ] Run `npm run lint` to validate changed backend files.
|
||||
- [ ] Run `npm test` to ensure no regressions.
|
||||
|
||||
### Blocked
|
||||
- (none)
|
||||
|
||||
## Key Decisions
|
||||
- **Reconciled P0 and P1-2 in handler.ts**: Since `getServiceOrThrow` throws a different message than the P0-required `'Proxy advanced service not initialized'`, added a `normalizeServiceError` helper that detects the "is not registered" substring and rewrites it to the P0 message before returning in the success/error envelope. This allows `getServiceOrThrow` to be used (satisfying P1-2) while preserving the exact P0 contract.
|
||||
- **Dynamic capabilities heuristic**: `buildCapabilitiesMap()` derives `vision` from `modelInfo.supports_images`, sets `streaming`/`jsonMode` to `false` only for `gemini-3-pro-image` models, and sets `imageGeneration: true` only for `gemini-3-pro` variants that do not include `flash`. Falls back to a default `gemini-3-flash` entry when no models are discovered.
|
||||
|
||||
## Next Steps
|
||||
1. Update `src/tests/unit/ipc/proxy-advanced-handler.test.ts` null-registry tests for `getParityCounters`, `getCircuitBreakerStatus`, `getProxyMetrics`, `getRecentRequests`, `replayRequest`, and `generateIdeConfig` to expect `success: false` and error `'Proxy advanced service not initialized'`.
|
||||
2. Run `npm run type-check` and fix any TypeScript errors introduced.
|
||||
3. Run `npm run lint` and fix any lint errors introduced.
|
||||
4. Run `npm test` and fix any remaining test failures.
|
||||
|
||||
## Critical Context
|
||||
- `proxyAdvancedRegistry` properties (`tokenManager`, `proxyMetrics`, `proxyReplay`, `proxyIdeConfig`) are set to `null` in tests when verifying null-registry behavior; `getServiceOrThrow` will throw, and the catch blocks (via `normalizeServiceError`) will return the unified P0 message.
|
||||
- `tsconfig.json` already has `"resolveJsonModule": true`, so importing `package.json` version in `request-user-agent.ts` requires no additional config changes.
|
||||
- `TokenEntry` and `TokenData` are now exported from `token-manager.service.ts` so `getAllTokens()` is usable externally.
|
||||
- The `proxy.controller.ts` change preserves the existing API response shape (`Record<string, { vision, streaming, jsonMode, audio, imageGeneration }>`) while making the map dynamic.
|
||||
|
||||
## File Operations
|
||||
### Read
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\package.json`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\ipc\proxy-advanced\handler.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\ipc\proxy-advanced\service-registry.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\server\modules\proxy\proxy.controller.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\server\modules\proxy\rate-limit-tracker.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\server\modules\proxy\request-user-agent.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\server\modules\proxy\token-manager.service.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\tests\unit\google-api-timeout.test.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\tests\unit\ipc\proxy-advanced-handler.test.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\tests\unit\rate-limit-tracker.test.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\tests\unit\server\google-api.service.test.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\tests\unit\token-manager-parity-scheduling.test.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\types\cloudAccount.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\tsconfig.json`
|
||||
|
||||
### Modified
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\ipc\proxy-advanced\handler.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\ipc\proxy-advanced\service-registry.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\server\modules\proxy\proxy.controller.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\server\modules\proxy\rate-limit-tracker.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\server\modules\proxy\request-user-agent.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\server\modules\proxy\token-manager.service.ts`
|
||||
@@ -1,80 +0,0 @@
|
||||
---
|
||||
session: ses_2338
|
||||
updated: 2026-04-27T01:04:57.050Z
|
||||
---
|
||||
|
||||
# Session Summary
|
||||
|
||||
## Goal
|
||||
Produce a detailed architectural review report of the Gemini Nexus Electron + NestJS backend, including subsystem ratings (SOLID/NEEDS_WORK/RISKY), specific bugs with file:line references, and concrete refactoring steps.
|
||||
|
||||
## Constraints & Preferences
|
||||
- Focus on coupling between Electron main and NestJS (registry bridge pattern), service decomposition, data flow integrity, error handling, DB transaction safety, and circuit breaker/rate limiter effectiveness
|
||||
- Use exact file paths and line numbers where possible
|
||||
- Return findings as a detailed markdown report with the requested structure
|
||||
- Preserve all previous analysis context when continuing
|
||||
|
||||
## Progress
|
||||
### Done
|
||||
- [x] Read `src/main.ts` — Electron main process bootstraps NestJS as child process via `bootstrapNestServer()`, stops via `stopNestServer()`; creates MessagePort for ORPC IPC; installs native modules via Sentry; manages window lifecycle
|
||||
- [x] Read `src/server/main.ts` — NestFactory creates Fastify app, enables CORS, registers API logging plugin; exports `stopNestServer` and `getCurrentProxyPort`; no graceful shutdown beyond `app.close()`
|
||||
- [x] Read `src/ipc/proxy-advanced/service-registry.ts` — global mutable `proxyAdvancedRegistry` object with `tokenManager`, `proxyMetrics`, `proxyReplay`, `proxyIdeConfig` all initialized to `null`; services register themselves via `registerProxyAdvancedService()` in constructors
|
||||
- [x] Read `src/ipc/proxy-advanced/handler.ts` — IPC handlers for traffic logs, metrics, replay, IDE configs, model capabilities; uses `proxyAdvancedRegistry` for IDE config, metrics, replay; directly calls `TrafficLogsRepo` and `CloudAccountRepo` for logs
|
||||
- [x] Read `src/ipc/proxy-advanced/router.ts` — ORPC Zod schemas for IPC routes; defines `getModelCapabilities` calling handler; `CapabilitiesResponseSchema` uses hardcoded zod shapes, no dynamic model discovery
|
||||
- [x] Read `src/server/modules/proxy/proxy.service.ts` (2222+ lines) — Core proxy logic: request transformation (Claude/OpenAI ↔ Gemini), streaming/non-streaming paths, tool call handling, fallback to non-streaming on stream error, retry logic with `calculateRetryDelay`, circuit breaker check via `tokenManager.getNextToken()`, token refresh, traffic logging via `trafficLogger`
|
||||
- [x] Read `src/server/modules/proxy/proxy.controller.ts` (~1700 lines) — HTTP routes for OpenAI (`/chat/completions`, `/models`), Anthropic (`/v1/messages`), Gemini (`/models/:model:generateContent`, etc.); SSE streaming via RxJS; `listModelCapabilities` uses hardcoded `capabilitiesMap` (lines 1316–1352); multipart/form-data proxy; error response normalization; heavy controller with private utility methods mixed in
|
||||
- [x] Read `src/server/modules/proxy/token-manager.service.ts` (1303 lines) — Round-robin token scheduling with `schedulingMode` (`cache-first`, `balance`, `performance-first`), circuit breaker per token (`CircuitBreakerEntry` with `failureCount`, `state`, `requestLog`), rate limit tracking via `RateLimitTracker`, model quota/limit management, account refresh via `GoogleAPIService`, auto-registers into `proxyAdvancedRegistry` in constructor
|
||||
- [x] Read `src/server/modules/proxy/rate-limit-tracker.ts` — In-memory `failureCounts` map with `FAILURE_COUNT_EXPIRY_MS` (1 hour); parses Google error details; `cleanupExpired()` exists but no scheduled caller found in any read file
|
||||
- [x] Read `src/server/modules/proxy/proxy-replay.service.ts` — In-memory circular buffer (`buffer: ReplayEntry[]`, `maxSize = 20`); records requests for replay; auto-registers into `proxyAdvancedRegistry`; no persistence
|
||||
- [x] Read `src/services/CloudMonitorService.ts` — 5-minute interval polling (`monitorIntervalMs = 300000`) via `setInterval`; checks account quotas via `GoogleAPIService.getAllQuotaData()`; sends Electron `Notification` on low quota; triggers `AutoSwitchService.findBestAccount()` and `switchCloudAccount()`; updates DB via `CloudAccountRepo.updateAccount()`
|
||||
- [x] Read `src/services/AutoSwitchService.ts` — Static methods only; `findBestAccount()` filters by status `active`, checks `quota.models` for `< 5%`, sorts by average quota; calls `switchCloudAccount()` directly from main process context
|
||||
- [x] Read `src/ipc/database/cloudHandler.ts` (first ~600 lines) — `CloudAccountRepo` with AES-256-GCM encryption via `encrypt`/`decryptWithMigration`; retry logic for SQLite busy errors (`SQLITE_MAX_RETRIES = 3`); Drizzle ORM operations; no explicit `BEGIN TRANSACTION` wrappers observed in read sections; updates happen via individual `db.update()` calls
|
||||
|
||||
### In Progress
|
||||
- [ ] Synthesizing findings into the final markdown report with subsystem ratings and concrete refactoring proposals
|
||||
|
||||
### Blocked
|
||||
- (none)
|
||||
|
||||
## Key Decisions
|
||||
- **Prioritize reading source over generating report immediately**: Needed exact line numbers and behavior confirmation before making claims about race conditions, transaction safety, and registry nullability.
|
||||
|
||||
## Next Steps
|
||||
1. Synthesize all read file contents into the requested markdown report structure:
|
||||
- Deep architectural review (coupling, decomposition, data flow, error handling, DB transactions, circuit breaker/rate limiter)
|
||||
- Specific bugs/anti-patterns with file:line references
|
||||
- Subsystem ratings (IPC, Proxy, DB, Auth)
|
||||
- Concrete refactoring steps
|
||||
2. Cross-reference `proxyAdvancedRegistry` null-handling paths in `handler.ts` with specific fallback behavior
|
||||
3. Verify `RateLimitTracker.cleanupExpired()` caller absence and document as finding
|
||||
4. Document proxy monolith splitting strategy based on observed responsibilities in `proxy.service.ts` and `proxy.controller.ts`
|
||||
|
||||
## Critical Context
|
||||
- **Registry null hazard**: `proxyAdvancedRegistry` starts all-null; IPC handlers return empty fallbacks when NestJS is not running. In `handler.ts`, `generateIdeConfig` and `getProxyMetrics` guard against null registry entries; `getModelCapabilities` does not use registry but ProxyController hardcodes capabilities.
|
||||
- **No scheduled `cleanupExpired()`**: `rate-limit-tracker.ts:107` defines `cleanupExpired()`, but no `setInterval` or cron job was found in `token-manager.service.ts`, `proxy.service.ts`, `main.ts`, or `CloudMonitorService.ts`. Failure counts may leak memory over long uptimes.
|
||||
- **In-memory only state**: `ProxyReplayService` uses a 20-entry in-memory buffer; `switchMetrics.ts` mentioned in exploration but file not read yet; `RateLimitTracker` is in-memory only (no SQLite persistence).
|
||||
- **Proxy monolith responsibilities observed**:
|
||||
- `proxy.service.ts`: Request transformation (Claude/Gemini/OpenAI), streaming state machine (`PartProcessor`), retry logic, token acquisition, tool call normalization, schema normalization, user-agent resolution, traffic logging
|
||||
- `proxy.controller.ts`: Route handling, SSE emission, multipart proxy, model listing, capability hardcoding, error response formatting (OpenAI/Anthropic/Gemini shapes), request parsing
|
||||
- **AutoSwitch race potential**: `AutoSwitchService.findBestAccount()` is static and reads from DB; `CloudMonitorService` runs on a 5-minute timer in main process and calls `switchCloudAccount()` directly. If multiple monitors or manual switches run concurrently, there is no distributed lock or transaction around the switch operation.
|
||||
- **Circuit breaker implementation**: `token-manager.service.ts` maintains per-token `CircuitBreakerEntry` with `failureCount`, `lastFailureTime`, `state` (`healthy`/`degraded`/`unhealthy`), and a `requestLog` array. No external library used; custom logic.
|
||||
- **CloudAccountRepo retry pattern**: Uses `SQLITE_MAX_RETRIES = 3` with `SQLITE_BUSY_TIMEOUT_MS = 3000` for busy/locked errors, but reads showed Drizzle individual operations without explicit transaction boundaries around multi-step updates.
|
||||
|
||||
## File Operations
|
||||
### Read
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\ipc\database\cloudHandler.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\ipc\proxy-advanced\handler.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\ipc\proxy-advanced\router.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\ipc\proxy-advanced\service-registry.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\main.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\server\main.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\server\modules\proxy\proxy-replay.service.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\server\modules\proxy\proxy.controller.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\server\modules\proxy\proxy.service.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\server\modules\proxy\rate-limit-tracker.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\server\modules\proxy\token-manager.service.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\services\AutoSwitchService.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\services\CloudMonitorService.ts`
|
||||
|
||||
### Modified
|
||||
- (none)
|
||||
@@ -1,103 +0,0 @@
|
||||
---
|
||||
session: ses_2344
|
||||
updated: 2026-04-27T01:42:26.030Z
|
||||
---
|
||||
|
||||
# Session Summary
|
||||
|
||||
## Goal
|
||||
Complete a comprehensive review of all Gemini Nexus app functionality (frontend + backend) via 8 agents (3 reviewers, 2 validators, 1 re-evaluator, 3 implementers), apply all fixes, and verify with passing type-check, lint, and tests.
|
||||
|
||||
## Constraints & Preferences
|
||||
- Do not run `git commit` or `git push`
|
||||
- Run `npm run lint` and `npm run type-check` after changes
|
||||
- Make minimal, focused changes
|
||||
- Do not touch files outside assigned package scope
|
||||
- Use exact file paths and identifiers when known
|
||||
- Prefer terse bullets over paragraphs
|
||||
|
||||
## Progress
|
||||
### Done
|
||||
- [x] Phase 0: Mapped codebase features (frontend, backend, integrations) with 3 parallel explorer agents
|
||||
- [x] Phase 1: Delegated 3 review agents (Backend/Architecture, Frontend/UX, Quality/Infra) — all reports received
|
||||
- [x] Phase 2: Delegated 2 validation agents (Backend, Frontend/Infra) — all reports received
|
||||
- [x] Phase 3: Delegated 1 re-evaluation agent — Master Implementation Plan generated with 3 parallel packages
|
||||
- [x] Phase 4: Delegated 3 implementation agents — all executed changes:
|
||||
- **Package A (Frontend UI/UX)**: Removed StrictMode, fixed SortIcon anti-pattern, fixed broken `/accounts` link, added gateway error feedback, removed dead components (`AccountCard.tsx`, `navigation-menu.tsx`), fixed responsive grids, fixed hardcoded badge colors, added aria-labels, fixed collapsible code headers, added pt-BR language option, fixed auth race condition, fixed ProxyAdvancedTab prop passing, fixed MonitorTab grid mismatch
|
||||
- **Package B (Quality/Infra)**: Removed gRPC deps, fixed `node-linker` warning, re-enabled `@typescript-eslint/no-explicit-any` as warn, fixed `catch (error: any)` to `unknown` in `cloud/handler.ts`, `cloud/router.ts`, `device/handler.ts`, `QuotaService.ts`, fixed `cloudHandler-sync.test.ts` mock (`getAgentDir`), unskipped `database.test.ts`, added `vitest/globals` types to `tsconfig.json`, added `device-handler.test.ts`, removed dead code from `proxy-replay.service.ts`
|
||||
- **Package C (Backend Quick Wins)**: Added `getServiceOrThrow` to `service-registry.ts`, replaced silent empty fallbacks with explicit errors in `proxy-advanced/handler.ts`, added `failureCounts` TTL cleanup to `rate-limit-tracker.ts`, derived `FALLBACK_VERSION` from `package.json` in `request-user-agent.ts`, replaced hardcoded `capabilitiesMap` with dynamic `buildCapabilitiesMap()` in `proxy.controller.ts` (iterates `tokenManager.getAllTokens()`), added `getAllTokens()` to `token-manager.service.ts`
|
||||
- [x] Initial verification run executed (`npm run type-check`, `npm run lint`, `npm test`)
|
||||
|
||||
### In Progress
|
||||
- [ ] Phase 5: Verify all changes and fix remaining issues:
|
||||
- `proxy-advanced-handler.test.ts`: 15 failing tests due to `service-registry` mock not including `getServiceOrThrow`
|
||||
- Type-check: 30 errors remaining, all in test files (`database.test.ts` missing Database properties, `useCloudAccounts.test.ts` argument count mismatches, `database-handler.test.ts` type errors)
|
||||
- Lint: 11 errors remaining (6 in JS scripts using `require()`, 2 in `useCloudAccounts.test.ts` Function type, 2 in `device-handler.test.ts` unused imports, 1 misc)
|
||||
|
||||
### Blocked
|
||||
- (none)
|
||||
|
||||
## Key Decisions
|
||||
- **Re-enable `no-explicit-any` as 'warn' instead of 'off'**: Exposes ~292 `any` warnings but prevents new `any` from being introduced silently; avoids breaking CI immediately with hundreds of errors.
|
||||
- **Keep proxy monolith decomposition as P2**: `proxy.service.ts` (2222 lines) and `proxy.controller.ts` (~1700 lines) were flagged as too large but left for future architectural work to keep the current cycle focused on quick wins.
|
||||
- **Use `getServiceOrThrow` helper in registry**: Centralizes null-check logic and returns explicit error messages instead of silent empty fallbacks, making startup failures visible to the UI.
|
||||
|
||||
## Next Steps
|
||||
1. Fix `proxy-advanced-handler.test.ts` mock to include `getServiceOrThrow` and update test expectations to match new explicit-error behavior
|
||||
2. Fix remaining type-check errors in `database.test.ts`, `useCloudAccounts.test.ts`, and `database-handler.test.ts`
|
||||
3. Fix remaining lint errors: either add `eslint-disable` for JS scripts or convert to ESM, fix Function type in `useCloudAccounts.test.ts`, remove unused imports in `device-handler.test.ts`
|
||||
4. Re-run full verification suite (`npm run type-check`, `npm run lint`, `npm test`) and confirm all green
|
||||
5. Do a final git diff review to ensure no unintended changes (e.g., image binary modifications from `forge.config.ts` changes)
|
||||
|
||||
## Critical Context
|
||||
- **Repository root**: `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\`
|
||||
- **Test runner**: Vitest with `globals: true` (now properly typed via `tsconfig.json`)
|
||||
- **Database mocking**: `better-sqlite3` is mocked in `src/tests/unit/mocks/better-sqlite3.ts`; real module fails in Node.js test env
|
||||
- **gRPC dependencies removed**: `@grpc/grpc-js` and `@grpc/proto-loader` removed from `package.json`
|
||||
- **node-linker removed**: from `.npmrc`
|
||||
- **Auth listener race fixed**: `mountedRef` + `isSubmittingRef` added in `CloudAccountList.tsx`
|
||||
- **FALLBACK_VERSION**: Now dynamically reads from `package.json` via `import { version }`
|
||||
- **RateLimitTracker**: Now cleans both `lockoutByKey` and `failureCounts` in `cleanupExpired()`
|
||||
|
||||
## File Operations
|
||||
### Read
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\forge.config.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\package.json`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\scripts\build-windows.js`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\scripts\generate-assets.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\actions\process.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\components\StatusBar.tsx`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\components\proxy\advanced\CapabilitiesTab.tsx`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\hooks\useCloudAccounts.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\ipc\cloud\handler.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\ipc\process\handler.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\ipc\proxy-advanced\handler.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\ipc\proxy-advanced\router.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\ipc\proxy-advanced\service-registry.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\ipc\switchFlow.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\ipc\tray\handler.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\layouts\MainLayout.tsx`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\main.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\server\main.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\services\GoogleAPIService.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\tests\unit\hooks\useCloudAccounts.test.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\tests\unit\ipc\device-handler.test.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\tests\unit\ipc\proxy-advanced-handler.test.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\tests\unit\process.test.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\types.d.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\types\cloudAccount.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\tsconfig.json`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\vite.renderer.config.mts`
|
||||
|
||||
### Modified
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\forge.config.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\package.json`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\ipc\process\handler.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\ipc\proxy-advanced\handler.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\ipc\proxy-advanced\router.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\layouts\MainLayout.tsx`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\main.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\tests\unit\process.test.ts`
|
||||
- `D:\Documents\Github\Gemini Proxys\Draculabo-AntigravityManager\src\types.d.ts`
|
||||
- `src/components/proxy/advanced/CapabilitiesTab.tsx`
|
||||
- `src/tests/unit/ipc/proxy-advanced-handler.test.ts`
|
||||
@@ -1,88 +0,0 @@
|
||||
---
|
||||
session: ses_24bf
|
||||
updated: 2026-04-22T08:17:02.015Z
|
||||
---
|
||||
|
||||
# Session Summary
|
||||
|
||||
## Goal
|
||||
|
||||
Fix the Gemini Nexus proxy so that OpenCode IDE (and other AI SDK consumers) correctly receive and display SSE streaming responses from the `/v1/chat/completions` endpoint.
|
||||
|
||||
## Constraints & Preferences
|
||||
|
||||
- Preserve existing proxy behavior for non-OpenCode clients (flat SSE format compatibility)
|
||||
- Keep `trafficLogger` operational; do not break file-based log rotation
|
||||
- Do not remove debug `console.log` statements until OpenCode compatibility is fully verified
|
||||
- Prefer automated tests over manual curl tests for regression coverage
|
||||
|
||||
## Progress
|
||||
|
||||
### Done
|
||||
|
||||
- [x] Identified that OpenCode uses `@ai-sdk/openai-compatible` which requires `delta.role: 'assistant'` on first SSE chunk
|
||||
- [x] Added `hasSentRoleChunk` flag and `pushRoleChunk()` helper in `processStreamResponse` (`proxy.service.ts`) to emit initial role chunk
|
||||
- [x] Added `winston.transports.Console` transport to `traffic-logger.ts` for real-time stdout visibility
|
||||
- [x] Added upstream request/response logging via `trafficLogger.logUpstream()` and `trafficLogger.logUpstreamResponse()` in `proxy.service.ts` (streaming, non-streaming, fallback paths)
|
||||
- [x] Added `console.log` in `writeSseResponse` (`proxy.controller.ts`) to log full SSE payloads sent to client
|
||||
- [x] Fixed `proxy-controller.integration.test.ts` mock `req` object to match new 3-argument `chatCompletions` signature
|
||||
- [x] Updated `proxy-retry-mock.test.ts` to expect `"role":"assistant"` in SSE output
|
||||
- [x] Created comprehensive automated stream debug tests in `src/tests/unit/proxy-stream-debug.test.ts`
|
||||
- [x] **Discovered root cause**: Gemini `v1internal` API returns SSE chunks wrapped in `{"response": {"candidates": [...]}, "traceId": "...", "metadata": {}}`, but `processStreamResponse` accessed `json.candidates` directly → `undefined` → empty content
|
||||
- [x] Fixed `processStreamResponse` to unwrap payload with `const responsePayload = json.response ?? json;` before extracting `candidates`
|
||||
- [x] Added `handles Gemini v1internal wrapped response format (response.candidates)` test case to prevent regression
|
||||
- [x] All 8 stream-debug tests pass; proxy-retry-mock shows 22 passed, 1 pre-existing failure (`maps Anthropic response to OpenAI response with reasoning and tool_calls` — unrelated to this change)
|
||||
|
||||
### In Progress
|
||||
|
||||
- [ ] Awaiting user to restart the Gemini Nexus app and verify the fix with curl / OpenCode IDE
|
||||
|
||||
### Blocked
|
||||
|
||||
- (none)
|
||||
|
||||
## Key Decisions
|
||||
|
||||
- **Emit `role: 'assistant'` chunk before first content**: Required by Vercel AI SDK's `@ai-sdk/openai-compatible` provider which validates `delta.role === 'assistant'` on first chunk
|
||||
- **Support both wrapped and flat response formats**: The fix uses `json.response ?? json` to handle both Gemini `v1internal` (wrapped) and standard (flat) SSE payloads
|
||||
- **Keep traffic logger + console transport dual logging**: File rotation preserved for production, console added for debugging; will remove debug `console.log` statements once verified
|
||||
|
||||
## Next Steps
|
||||
|
||||
1. User restarts the Gemini Nexus app (`pnpm start` or `rs` in terminal)
|
||||
2. Run curl test: `curl -N -X POST http://localhost:8045/v1/chat/completions -H "Content-Type: application/json" -H "Authorization: Bearer <key>" -d '{"model":"gemini-3.1-pro-low","messages":[{"role":"user","content":"diga oi"}],"stream":true}'`
|
||||
3. Verify console output shows `[DEBUG] Extracted parts: [{"text":"..."}]` (non-empty) and `[SSE-OUT ...]` shows content chunks with actual text
|
||||
4. Test with OpenCode IDE to confirm responses now appear
|
||||
5. Once verified, remove temporary `[DEBUG]` `console.log` statements from `proxy.service.ts` and `proxy.controller.ts` (keep trafficLogger calls)
|
||||
6. Clean up todo items and close debugging session
|
||||
|
||||
## Critical Context
|
||||
|
||||
- **Root cause insight**: The Gemini internal streaming endpoint (`v1internal`) wraps each SSE data line as `{"response": {"candidates": [...]}, "traceId": "...", "metadata": {}}` instead of the flat `{"candidates": [...]}` used in public `generateContent` endpoints. The non-streaming path already handled this via `gemini.client.ts` (`payload.response` unwrap), but `processStreamResponse` (streaming path) did not.
|
||||
- **Working format**: After fix, a wrapped SSE line like `{"response":{"candidates":[{"content":{"parts":[{"text":"Oi!"}]}}]}}` correctly extracts `parts = [{"text":"Oi!"}]`
|
||||
- **Broken format (before fix)**: Same wrapped line yielded `json.candidates = undefined` → `parts = []` → empty content chunks
|
||||
- **Test file for regression**: `src/tests/unit/proxy-stream-debug.test.ts` now covers wrapped format, flat format, empty parts, reasoning content, function calls, multi-line buffers, partial lines, and no-content-field chunks
|
||||
- **Pre-existing test failure**: `proxy-retry-mock.test.ts` line 611 `expect(...).toContain(...)` fails because `reasoning_content` is `undefined` on the OpenAI response object — this failure existed before all changes
|
||||
|
||||
## File Operations
|
||||
|
||||
### Read
|
||||
|
||||
- `src/lib/geminiNexus/ClaudeRequestMapper.ts`
|
||||
- `src/lib/geminiNexus/ClaudeResponseMapper.ts`
|
||||
- `src/server/modules/proxy/proxy.controller.ts`
|
||||
- `src/server/modules/proxy/proxy.service.ts`
|
||||
- `src/tests/unit/proxy-controller.integration.test.ts`
|
||||
- `src/tests/unit/proxy-parity-fixtures.test.ts`
|
||||
- `src/tests/unit/proxy-retry-mock.test.ts`
|
||||
- `src/utils/traffic-logger.ts`
|
||||
- `src/server/modules/proxy/clients/gemini.client.ts`
|
||||
|
||||
### Modified
|
||||
|
||||
- `src/server/modules/proxy/proxy.controller.ts` — added `console.log` in `writeSseResponse` for SSE payload visibility; `trafficLogger` call added alongside existing logic
|
||||
- `src/server/modules/proxy/proxy.service.ts` — **critical fix**: `processStreamResponse` now unwraps `json.response ?? json` to extract candidates from Gemini v1internal wrapped format; added `pushRoleChunk()` for initial `role:assistant` delta; added `trafficLogger.logUpstream()` and `trafficLogger.logUpstreamResponse()` calls in streaming, non-streaming, fallback, and project-context-error paths; changed `_requestId` to `requestId` parameter
|
||||
- `src/tests/unit/proxy-controller.integration.test.ts` — fixed tests to pass mock `req` object matching new 3-arg `chatCompletions` signature
|
||||
- `src/tests/unit/proxy-retry-mock.test.ts` — updated stream tests to expect `"role":"assistant"` in output
|
||||
- `src/tests/unit/proxy-stream-debug.test.ts` — created comprehensive stream parsing tests; replaced flaky empty-stream timeout test with wrapped-format regression test
|
||||
- `src/utils/traffic-logger.ts` — added `winston.transports.Console` transport with colorized format for real-time stdout logging
|
||||
@@ -1,28 +0,0 @@
|
||||
Copyright (c) .NET Foundation and contributors.
|
||||
This software is released under the Microsoft Reciprocal License (MS-RL) (the "License"); you may not use the software except in compliance with the License.
|
||||
|
||||
The text of the Microsoft Reciprocal License (MS-RL) can be found online at:
|
||||
http://opensource.org/licenses/ms-rl
|
||||
|
||||
|
||||
Microsoft Reciprocal License (MS-RL)
|
||||
|
||||
This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license, do not use the software.
|
||||
|
||||
1. Definitions
|
||||
The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under U.S. copyright law.
|
||||
A "contribution" is the original software, or any additions or changes to the software.
|
||||
A "contributor" is any person that distributes its contribution under this license.
|
||||
"Licensed patents" are a contributor's patent claims that read directly on its contribution.
|
||||
|
||||
2. Grant of Rights
|
||||
(A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create.
|
||||
(B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software.
|
||||
|
||||
3. Conditions and Limitations
|
||||
(A) Reciprocal Grants- For any file you distribute that contains code from the software (in source code or binary format), you must provide recipients the source code to that file along with a copy of this license, which license will govern that file. You may license other files that are entirely your own work and do not contain code from the software under any terms you choose.
|
||||
(B) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks.
|
||||
(C) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically.
|
||||
(D) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software.
|
||||
(E) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license.
|
||||
(F) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement.
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,9 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
|
||||
|
||||
|
||||
<configuration>
|
||||
<runtime>
|
||||
<loadFromRemoteSources enabled="true"/>
|
||||
</runtime>
|
||||
</configuration>
|
||||
Binary file not shown.
Binary file not shown.
@@ -1,12 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
|
||||
|
||||
|
||||
<configuration>
|
||||
<appSettings>
|
||||
<add key="extensions" value="WixDifxAppExtension;WixDependencyExtension;WixDirectXExtension;WixFirewallExtension;WixGamingExtension;WixHttpExtension;WixIIsExtension;WixNetFxExtension;WixSqlExtension;WixUIExtension;WixUtilExtension;WixVSExtension" />
|
||||
</appSettings>
|
||||
<runtime>
|
||||
<loadFromRemoteSources enabled="true"/>
|
||||
</runtime>
|
||||
</configuration>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,221 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
|
||||
|
||||
|
||||
<xs:schema xmlns:html="http://www.w3.org/1999/xhtml" xmlns:wix="http://schemas.microsoft.com/wix/2006/wi" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" targetNamespace="http://schemas.microsoft.com/wix/DependencyExtension" xmlns="http://schemas.microsoft.com/wix/DependencyExtension">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The source code schema for the Windows Installer XML Toolset Dependency Extension.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:element name="Provides">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Describes the information for this product or feature that serves as a dependency of other products or features.
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="ExePackage" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="MsiPackage" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="MspPackage" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="MsuPackage" />
|
||||
<xse:remarks>
|
||||
<html:p>
|
||||
This element is required for any product, feature, or bundle that will use the Dependency feature to properly reference count
|
||||
other products or features. It should be authored into a component that is always installed and removed with the
|
||||
product or features that contain it. This guarantees that product dependencies are not removed before those products that
|
||||
depend on them.
|
||||
</html:p>
|
||||
<html:p>
|
||||
The @Key attribute should identify a version range for your product that you guarantee will be backward compatible.
|
||||
This key is designed to persist throughout compatible upgrades so that dependent products do not have to be reinstalled
|
||||
and will not prevent your product from being upgraded. If this attribute is not authored, the value is the ProductCode
|
||||
and will not automatically support upgrades.
|
||||
</html:p>
|
||||
<html:p>
|
||||
By default this uses the Product/@Id attribute value, which may be automatically generated.
|
||||
</html:p>
|
||||
</xse:remarks>
|
||||
<xse:howtoRef href="author_product_dependencies.html">How To: Author product dependencies</xse:howtoRef>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element ref="Requires" />
|
||||
<xs:element ref="RequiresRef" />
|
||||
</xs:choice>
|
||||
<xs:attribute name="Id" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Dependency provider identity. If this attribute is not specified, an identifier will be generated automatically.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Key" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Optional unique registry key name that identifies a product version range on which other products can depend.
|
||||
This attribute is required in package authoring, but optional for components.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Version" type="VersionType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The version of the package. For MSI packages, the ProductVersion will be used by default
|
||||
and this attribute should not be specified.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="DisplayName" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Optional display name of the package. For MSI packages, the ProductName will be used by default.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="Requires">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Describes a dependency on a provider for the current component or package.
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Bundle" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Fragment" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Module" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Product" />
|
||||
<xse:remarks>
|
||||
<html:p>
|
||||
This element declares a dependency on any product that uses the Provides element. If that product is uninstalled
|
||||
before a product that requires it, the uninstall will err or warn the user that other products are installed
|
||||
which depend on that product. This behavior can be modified by changing the attribute values on the Requires element.
|
||||
</html:p>
|
||||
<html:p>
|
||||
If you do not nest this element under a Provides element, you must specify the @Id attribute
|
||||
so that it can be referenced by a RequiresRef element nested under a Provides element.
|
||||
</html:p>
|
||||
</xse:remarks>
|
||||
<xse:seeAlso ref="RequiresRef" />
|
||||
<xse:howtoRef href="author_product_dependencies.html">How To: Author product dependencies</xse:howtoRef>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Id" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Dependency requirement identity. If this attribute is not specified, an identifier will be generated automatically.
|
||||
If this element is not authored under a Provides element, this attribute is required.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ProviderKey" type="xs:string" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The unique registry key name for the dependency provider to require during installation of this product.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Minimum" type="VersionType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The minimum version of the dependency provider required to be installed. The default is unbound.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Maximum" type="VersionType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The maximum version of the dependency provider required to be installed. The default is unbound.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="IncludeMinimum" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Set to "yes" to make the range of dependency provider versions required include the value specified in Minimum.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="IncludeMaximum" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Set to "yes" to make the range of dependency provider versions required include the value specified in Maximum.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="RequiresRef">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
References existing authoring for a dependency on a provider for the current component or package.
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:remarks>
|
||||
<html:p>
|
||||
This element references a dependency on any product that uses the Provides element. If that product is uninstalled
|
||||
before a product that requires it, the uninstall will err or warn the user that other products are installed
|
||||
which depend on that product. This behavior can be modified by changing the attribute values on the Requires element.
|
||||
</html:p>
|
||||
</xse:remarks>
|
||||
<xse:seeAlso ref="Requires" />
|
||||
<xse:howtoRef href="author_product_dependencies.html">How To: Author product dependencies</xse:howtoRef>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Id" type="xs:string" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The identifier of the Requires element to reference.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:attribute name="ProviderKey" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Optional attribute to explicitly author the provider key for the entire bundle.
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Bundle" />
|
||||
<xse:remarks>
|
||||
<html:p>
|
||||
This provider key is designed to persist throughout compatible upgrades so that dependent bundles do not have to be reinstalled
|
||||
and will not prevent your product from being upgraded. If this attribute is not authored, the value is the
|
||||
automatically-generated bundle ID and will not automatically support upgrades.
|
||||
</html:p>
|
||||
<html:p>
|
||||
Only a single provider key is supported for bundles. To author that your bundle provides additional features via
|
||||
packages, author different provider keys for your packages.
|
||||
</html:p>
|
||||
</xse:remarks>
|
||||
<xse:seeAlso ref="Provides" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:simpleType name="VersionType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Values of this type will look like: "x.x.x.x" where x is an integer from 0 to 65534.
|
||||
This can also be a preprocessor, binder, or WiX variable.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="(\d{1,5}\.){3}\d{1,5}|[!$]\((var|bind|wix)\.[_A-Za-z][\w\.]*\)" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Values of this type will either be "yes" or "no".
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:NMTOKEN">
|
||||
<xs:enumeration value="no" />
|
||||
<xs:enumeration value="yes" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:schema>
|
||||
Binary file not shown.
@@ -1,262 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
|
||||
|
||||
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension"
|
||||
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||
targetNamespace="http://schemas.microsoft.com/wix/BalExtension"
|
||||
xmlns="http://schemas.microsoft.com/wix/BalExtension">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The source code schema for the Windows Installer XML Toolset Burn User Experience Extension.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
||||
<xs:import namespace="http://schemas.microsoft.com/wix/2006/wi" />
|
||||
|
||||
<xs:element name="Condition">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Conditions for a bundle. The condition is specified in the inner text of the element.
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Bundle" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Fragment" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The condition that must evaluate to true for the installation to continue.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:attribute name="Message" type="xs:string" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Set the value to the text to display when the condition fails and the installation must be terminated.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="WixStandardBootstrapperApplication">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Configures WixStandardBootstrapperApplication for a Bundle.
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="BootstrapperApplicationRef" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="LaunchTarget" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
If set, the success page will show a Launch button the user can use to launch the application being installed.
|
||||
The string value can be formatted using Burn variables enclosed in brackets,
|
||||
to refer to installation directories and so forth.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="LaunchTargetElevatedId" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Id of the target ApprovedExeForElevation element.
|
||||
If set with LaunchTarget, WixStdBA will launch the application through the Engine's LaunchApprovedExe method instead of through ShellExecute.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="LaunchArguments" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
If set, WixStdBA will supply these arguments when launching the application specified by the LaunchTarget attribute.
|
||||
The string value can be formatted using Burn variables enclosed in brackets,
|
||||
to refer to installation directories and so forth.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="LaunchHidden" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
If set to "yes", WixStdBA will launch the application specified by the LaunchTarget attribute with the SW_HIDE flag.
|
||||
This attribute is ignored when the LaunchTargetElevatedId attribute is specified.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="LaunchWorkingFolder" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
WixStdBA will use this working folder when launching the specified application.
|
||||
The string value can be formatted using Burn variables enclosed in brackets,
|
||||
to refer to installation directories and so forth.
|
||||
This attribute is ignored when the LaunchTargetElevatedId attribute is specified.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="LicenseFile" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Source file of the RTF license file. Cannot be used simultaneously with LicenseUrl.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="LicenseUrl" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>URL target of the license link. Cannot be used simultaneously with LicenseFile. This attribute can be empty to hide the license link completely.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="LogoFile" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Source file of the logo graphic.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="LogoSideFile" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Source file of the side logo graphic.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ThemeFile" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Source file of the theme XML.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="LocalizationFile" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Source file of the theme localization .wxl file.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="SuppressOptionsUI" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>If set to "yes", the Options button will not be shown and the user will not be able to choose an installation directory.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="SuppressDowngradeFailure" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>If set to "yes", attempting to installer a downgraded version of a bundle will be treated as a successful do-nothing operation.
|
||||
The default behavior (or when explicitly set to "no") is to treat downgrade attempts as failures. </xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="SuppressRepair" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>If set to "yes", the Repair button will not be shown in the maintenance-mode UI.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ShowVersion" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>If set to "yes", the application version will be displayed on the UI.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="SupportCacheOnly" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>If set to "yes", the bundle can be pre-cached using the /cache command line argument.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ShowFilesInUse" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>If set to "yes", WixStdBA will show a page allowing the user to restart applications when files are in use.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:attribute name="PrereqSupportPackage" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
When set to "yes", the Prereq BA will plan the package to be installed if its InstallCondition is "true" or empty.
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="ExePackage" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="MsiPackage" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="MspPackage" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="MsuPackage" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
|
||||
<xs:attribute name="Overridable" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
When set to "yes", lets the user override the variable's default value by specifying another value on the command line,
|
||||
in the form Variable=Value. Otherwise, WixStdBA won't overwrite the default value and will log
|
||||
"Ignoring attempt to set non-overridable variable: 'BAR'."
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Variable" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
|
||||
<xs:attribute name="UseUILanguages" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
When set to "yes", causes WixStdBA/Prereq BA to use the user's control panel language settings. Otherwise, the previous API (which uses locale instead of language) is used to maintain compatiblity with previous versions of WiX.
|
||||
On Vista and newer platforms, this value set to "yes" will search all specified user languages, including fallback languages, in order.
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="BootstrapperApplication" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="BootstrapperApplicationRef" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
|
||||
<xs:element name="WixManagedBootstrapperApplicationHost">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Configures the ManagedBootstrapperApplicationHost for a Bundle.
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="BootstrapperApplicationRef" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="LicenseFile" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Source file of the RTF license file. Cannot be used simultaneously with LicenseUrl.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="LicenseUrl" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>URL target of the license link. Cannot be used simultaneously with LicenseFile.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="LogoFile" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Source file of the logo graphic.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ThemeFile" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Source file of the theme XML.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="LocalizationFile" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Source file of the theme localization .wxl file.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="NetFxPackageId" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Identifier of the bundle package that contains the .NET Framework. ManagedBootstrapperApplicationHost uses
|
||||
this identifier to determine whether .NET needs to be installed before the managed bootstrapper application
|
||||
can be launched.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:simpleType name="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Values of this type will either be "yes" or "no".</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:NMTOKEN">
|
||||
<xs:enumeration value="no"/>
|
||||
<xs:enumeration value="yes"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:schema>
|
||||
@@ -1,944 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
|
||||
|
||||
|
||||
<xs:schema xmlns:html="http://www.w3.org/1999/xhtml"
|
||||
xmlns:wix="http://schemas.microsoft.com/wix/2006/wi"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension"
|
||||
targetNamespace="http://schemas.microsoft.com/wix/ComPlusExtension"
|
||||
xmlns="http://schemas.microsoft.com/wix/ComPlusExtension">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The source code schema for the Windows Installer XML Toolset COM+ Extension.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
||||
<xs:import namespace="http://schemas.microsoft.com/wix/2006/wi" />
|
||||
|
||||
<xs:element name="ComPlusPartition">
|
||||
<xs:annotation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Fragment" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Module" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Product" />
|
||||
</xs:appinfo>
|
||||
<xs:documentation>
|
||||
Defines a COM+ partition. If this element is a child of a
|
||||
Component element, the partition will be created in association with this
|
||||
component. If the element is a child of any of the Fragment, Module or Product
|
||||
elements it is considered to be a locater, referencing an existing partition.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element ref="ComPlusPartitionRole" />
|
||||
<xs:element ref="ComPlusPartitionUser" />
|
||||
<xs:element ref="ComPlusApplication" />
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Id" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
Identifier for the element.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="PartitionId" use="optional" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
Id for the partition. This attribute can be omitted, in
|
||||
which case an id will be generated on install. If the element is a locater,
|
||||
this attribute can be omitted if a value is provided for the Name attribute.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Name" use="optional" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
Name of the partition. This attribute can be omitted if
|
||||
the element is a locater, and a value is provided for the PartitionId
|
||||
attribute.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Changeable" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="Deleteable" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="Description" use="optional" type="xs:string" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="ComPlusPartitionRole">
|
||||
<xs:annotation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Fragment" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Module" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Product" />
|
||||
</xs:appinfo>
|
||||
<xs:documentation>
|
||||
Defines a COM+ partition role. Partition roles can not be
|
||||
created; this element can only be used as a locater to reference an existing
|
||||
role.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element ref="ComPlusUserInPartitionRole" />
|
||||
<xs:element ref="ComPlusGroupInPartitionRole" />
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Id" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
Identifier for the element.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Partition" use="optional" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
The id of a ComPlusPartition element representing the partition
|
||||
the role belongs to.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Name" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
Name of the partition role.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="ComPlusUserInPartitionRole">
|
||||
<xs:annotation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
|
||||
</xs:appinfo>
|
||||
<xs:documentation>
|
||||
This element represents a user membership in a partition
|
||||
role. When the parent component of this element is installed, the user will be
|
||||
added to the associated partition role.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Id" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
Identifier for the element.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="PartitionRole" use="optional" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
The id of a ComPlusPartitionRole element representing the
|
||||
partition the user should be added to.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="User" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
Foreign key into the User table.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="ComPlusGroupInPartitionRole">
|
||||
<xs:annotation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
|
||||
</xs:appinfo>
|
||||
<xs:documentation>
|
||||
This element represents a security group membership in a
|
||||
partition role. When the parent component of this element is installed, the
|
||||
security group will be added to the associated partition role.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Id" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
Identifier for the element.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="PartitionRole" use="optional" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
The id of a ComPlusPartitionRole element representing the
|
||||
partition the user should be added to.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Group" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
Foreign key into the Group table.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="ComPlusPartitionUser">
|
||||
<xs:annotation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
|
||||
</xs:appinfo>
|
||||
<xs:documentation>
|
||||
Represents a default partition definition for a user. When
|
||||
the parent component of this element is installed, the default partition of the
|
||||
user will be set to the referenced partition.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Id" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
Identifier for the element.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Partition" use="optional" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
The id of a ComPlusPartition element representing the
|
||||
partition that will be the default partition for the user.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="User" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
Foreign key into the User table.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="ComPlusApplication">
|
||||
<xs:annotation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Fragment" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Module" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Product" />
|
||||
</xs:appinfo>
|
||||
<xs:documentation>
|
||||
Defines a COM+ application. If this element is a descendent
|
||||
of a Component element, the application will be created in association with
|
||||
this component. If the element is a child of any of the Fragment, Module or
|
||||
Product elements it is considered to be a locater, referencing an existing
|
||||
application.
|
||||
|
||||
If the element is a child of a ComPlusPartition element,
|
||||
or have its Partition attribute set, the application will be installed under
|
||||
the referenced partition.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element ref="ComPlusApplicationRole" />
|
||||
<xs:element ref="ComPlusAssembly" />
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Id" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
Identifier for the element.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Partition" use="optional" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
If the element is not a child of a ComPlusPartition
|
||||
element, this attribute can be provided with the id of a ComPlusPartition
|
||||
element representing the partition the application belongs to.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ApplicationId" use="optional" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
Id for the application. This attribute can be omitted, in
|
||||
which case an id will be generated on install. If the element is a locater,
|
||||
this attribute can be omitted if a value is provided for the Name attribute.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Name" use="optional" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
Name of the application. This attribute can be omitted if
|
||||
the element is a locater, and a value is provided for the PartitionId
|
||||
attribute.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ThreeGigSupportEnabled" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="AccessChecksLevel" use="optional">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:NMTOKEN">
|
||||
<xs:enumeration value="applicationLevel" />
|
||||
<xs:enumeration value="applicationComponentLevel" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Activation" use="optional">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:NMTOKEN">
|
||||
<xs:enumeration value="inproc" />
|
||||
<xs:enumeration value="local" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ApplicationAccessChecksEnabled" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="ApplicationDirectory" use="optional" type="xs:string" />
|
||||
<xs:attribute name="Authentication" use="optional">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:NMTOKEN">
|
||||
<xs:enumeration value="default" />
|
||||
<xs:enumeration value="none" />
|
||||
<xs:enumeration value="connect" />
|
||||
<xs:enumeration value="call" />
|
||||
<xs:enumeration value="packet" />
|
||||
<xs:enumeration value="integrity" />
|
||||
<xs:enumeration value="privacy" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="AuthenticationCapability" use="optional">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:NMTOKEN">
|
||||
<xs:enumeration value="none" />
|
||||
<xs:enumeration value="secureReference" />
|
||||
<xs:enumeration value="staticCloaking" />
|
||||
<xs:enumeration value="dynamicCloaking" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Changeable" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="CommandLine" use="optional" type="xs:string" />
|
||||
<xs:attribute name="ConcurrentApps" use="optional" type="xs:int" />
|
||||
<xs:attribute name="CreatedBy" use="optional" type="xs:string" />
|
||||
<xs:attribute name="CRMEnabled" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="CRMLogFile" use="optional" type="xs:string" />
|
||||
<xs:attribute name="Deleteable" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="Description" use="optional" type="xs:string" />
|
||||
<xs:attribute name="DumpEnabled" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="DumpOnException" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="DumpOnFailfast" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="DumpPath" use="optional" type="xs:string" />
|
||||
<xs:attribute name="EventsEnabled" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="Identity" use="optional" type="xs:string" />
|
||||
<xs:attribute name="ImpersonationLevel" use="optional">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:NMTOKEN">
|
||||
<xs:enumeration value="anonymous" />
|
||||
<xs:enumeration value="identify" />
|
||||
<xs:enumeration value="impersonate" />
|
||||
<xs:enumeration value="delegate" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="IsEnabled" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="MaxDumpCount" use="optional" type="xs:int" />
|
||||
<xs:attribute name="Password" use="optional" type="xs:string" />
|
||||
<xs:attribute name="QCAuthenticateMsgs" use="optional">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:NMTOKEN">
|
||||
<xs:enumeration value="secureApps" />
|
||||
<xs:enumeration value="off" />
|
||||
<xs:enumeration value="on" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="QCListenerMaxThreads" use="optional" type="xs:int" />
|
||||
<xs:attribute name="QueueListenerEnabled" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="QueuingEnabled" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="RecycleActivationLimit" use="optional" type="xs:int" />
|
||||
<xs:attribute name="RecycleCallLimit" use="optional" type="xs:int" />
|
||||
<xs:attribute name="RecycleExpirationTimeout" use="optional" type="xs:int" />
|
||||
<xs:attribute name="RecycleLifetimeLimit" use="optional" type="xs:int" />
|
||||
<xs:attribute name="RecycleMemoryLimit" use="optional" type="xs:int" />
|
||||
<xs:attribute name="Replicable" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="RunForever" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="ShutdownAfter" use="optional" type="xs:int" />
|
||||
<xs:attribute name="SoapActivated" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="SoapBaseUrl" use="optional" type="xs:string" />
|
||||
<xs:attribute name="SoapMailTo" use="optional" type="xs:string" />
|
||||
<xs:attribute name="SoapVRoot" use="optional" type="xs:string" />
|
||||
<xs:attribute name="SRPEnabled" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="SRPTrustLevel" use="optional">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:NMTOKEN">
|
||||
<xs:enumeration value="disallowed" />
|
||||
<xs:enumeration value="fullyTrusted" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="ComPlusApplicationRole">
|
||||
<xs:annotation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Fragment" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Module" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Product" />
|
||||
</xs:appinfo>
|
||||
<xs:documentation>
|
||||
Defines an application role. If this element is a descendent
|
||||
of a Component element, the application role will be created in association
|
||||
with this component. If the element is a child of any of the Fragment, Module
|
||||
or Product elements it is considered to be a locater, referencing an existing
|
||||
application role.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element ref="ComPlusUserInApplicationRole" />
|
||||
<xs:element ref="ComPlusGroupInApplicationRole" />
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Id" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
Identifier for the element.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Application" use="optional" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
If the element is not a child of a ComPlusApplication
|
||||
element, this attribute should be provided with the id of a
|
||||
ComPlusApplication element representing the application the role belongs to.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Name" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
Name of the application role.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Description" use="optional" type="xs:string" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="ComPlusUserInApplicationRole">
|
||||
<xs:annotation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
|
||||
</xs:appinfo>
|
||||
<xs:documentation>
|
||||
This element represents a user membership in an
|
||||
application role. When the parent component of this element is installed, the
|
||||
user will be added to the associated application role. This element must be a descendent
|
||||
of a Component element; it can not be a child of a ComPlusApplicationRole
|
||||
locater element. To reference a locater element use the ApplicationRole
|
||||
attribute.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Id" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
Identifier for the element.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ApplicationRole" use="optional" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
If the element is not a child of a ComPlusApplicationRole
|
||||
element, this attribute should be provided with the id of a
|
||||
ComPlusApplicationRole element representing the application role the user is
|
||||
to be added to.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="User" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
Foreign key into the User table.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="ComPlusGroupInApplicationRole">
|
||||
<xs:annotation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
|
||||
</xs:appinfo>
|
||||
<xs:documentation>
|
||||
This element represents a security group membership in an
|
||||
application role. When the parent component of this element is installed, the
|
||||
user will be added to the associated application role. This element must be a
|
||||
descendent of a Component element; it can not be a child of a
|
||||
ComPlusApplicationRole locater element. To reference a locater element use the
|
||||
ApplicationRole attribute.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Id" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
Identifier for the element.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ApplicationRole" use="optional" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
If the element is not a child of a ComPlusApplicationRole
|
||||
element, this attribute should be provided with the id of a
|
||||
ComPlusApplicationRole element representing the application role the user is
|
||||
to be added to.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Group" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
Foreign key into the Group table.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="ComPlusAssembly">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Represents a DLL or assembly to be registered with COM+. If
|
||||
this element is a child of a ComPlusApplication element, the assembly will be
|
||||
registered in this application. Other ways the Application attribute must be
|
||||
set to an application. The element must be a descendent of a Component element,
|
||||
it can not be a child of a ComPlusApplication locator element.
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
|
||||
<xse:remarks>
|
||||
<html:p>
|
||||
When installing a native assembly, all components
|
||||
contained in the assembly must be represented as ComPlusComponent elements
|
||||
under this element. Any component not listed will not be removed during
|
||||
uninstall.
|
||||
</html:p>
|
||||
|
||||
<html:p>
|
||||
The fields DllPath, TlbPath and PSDllPath are formatted
|
||||
fields that should contain file paths to there respective file types. A typical
|
||||
value for DllPath for example, should be something like “[#MyAssembly_dll]”,
|
||||
where “MyAssembly_dll” is the key of the dll file in the File table.
|
||||
</html:p>
|
||||
|
||||
<html:p>
|
||||
<html:b>Warning</html:b>: The assembly name provided in the AssemblyName
|
||||
attribute must be a fully specified assembly name, if a partial name is
|
||||
provided a random assembly matching the partial name will be selected.
|
||||
</html:p>
|
||||
</xse:remarks>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element ref="ComPlusAssemblyDependency" />
|
||||
<xs:element ref="ComPlusComponent" />
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Id" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
Identifier for the element.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Application" use="optional" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
If the element is not a child of a ComPlusApplication
|
||||
element, this attribute should be provided with the id of a ComPlusApplication
|
||||
element representing the application the assembly is to be registered in.
|
||||
This attribute can be omitted for a .NET assembly even if the application is
|
||||
not a child of a ComPlusApplication element.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="AssemblyName" use="optional" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
The name of the assembly used to identify the assembly in
|
||||
the GAC. This attribute can be provided only if DllPathFromGAC is set to
|
||||
“yes”.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="DllPath" use="optional" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
The path to locate the assembly DLL during registration.
|
||||
This attribute should be provided if DllPathFromGAC is not set to “yes”.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="TlbPath" use="optional" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
An optional path to an external type lib for the assembly.
|
||||
This attribute must be provided if the Type attribute is set to “.net”.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="PSDllPath" use="optional" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
An optional path to an external proxy/stub DLL for the assembly.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Type" use="required">
|
||||
<xs:annotation><xs:documentation>
|
||||
</xs:documentation></xs:annotation>
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:NMTOKEN">
|
||||
<xs:enumeration value="native" />
|
||||
<xs:enumeration value=".net" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="EventClass" use="optional" type="YesNoType">
|
||||
<xs:annotation><xs:documentation>
|
||||
Indicates that the assembly is to be installed as an event
|
||||
class DLL. This attribute is only valid for native assemblies. The assembly
|
||||
will be installed with the COM+ catalog’s InstallEventClass() function.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="DllPathFromGAC" use="optional" type="YesNoType">
|
||||
<xs:annotation><xs:documentation>
|
||||
Indicates that the DLL path should be extracted from the
|
||||
GAC instead for being provided in the DllPath attribute. If this attribute is
|
||||
set to “yes”, the name of the assembly can be provided using the AssemblyName
|
||||
attribute. Or, if this AssemblyName attribute is missing, the name will be
|
||||
extracted from the MsiAssemblyName table using the id of the parent Component
|
||||
element.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="RegisterInCommit" use="optional" type="YesNoType">
|
||||
<xs:annotation><xs:documentation>
|
||||
Indicates that the assembly should be installed in the
|
||||
commit custom action instead of the normal deferred custom action. This is
|
||||
necessary when installing .NET assemblies to the GAC in the same
|
||||
installation, as the assemblies are not visible in the GAC until after the
|
||||
InstallFinalize action has run.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="ComPlusAssemblyDependency">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Defines a dependency between two assemblies. This element
|
||||
affects the order in which assembles are registered. Any assemblies referenced
|
||||
by this element are guarantied to be registered before, and unregistered after,
|
||||
the assembly referenced by the parent ComPlusAssembly element.
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:remarks>
|
||||
It is only necessary to explicitly specify dependencies between
|
||||
assemblies contained in the same package (MSI or MSM). Assemblies merged in to a
|
||||
package from a merge module will always be installed before any assemblies
|
||||
specified in the base package. Assemblies merged in from different merge
|
||||
modules are sequenced using the ModuleDependency MSI table. It is not possible
|
||||
to have cross dependencies between merge modules or have an assembly in a merge
|
||||
module depend on an assembly in the base package.
|
||||
</xse:remarks>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="RequiredAssembly" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
Reference to the id of the assembly required by the parent
|
||||
ComPlusAssembly element.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="ComPlusComponent">
|
||||
<xs:annotation><xs:documentation>
|
||||
Represents a COM+ component in an assembly.
|
||||
</xs:documentation></xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element ref="ComPlusRoleForComponent" />
|
||||
<xs:element ref="ComPlusInterface" />
|
||||
<xs:element ref="ComPlusSubscription" />
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Id" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
Identifier for the element.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="CLSID" use="required" type="uuid">
|
||||
<xs:annotation><xs:documentation>
|
||||
CLSID of the component.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="AllowInprocSubscribers" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="ComponentAccessChecksEnabled" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="ComponentTransactionTimeout" use="optional" type="xs:int" />
|
||||
<xs:attribute name="ComponentTransactionTimeoutEnabled" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="COMTIIntrinsics" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="ConstructionEnabled" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="ConstructorString" use="optional" type="xs:string" />
|
||||
<xs:attribute name="CreationTimeout" use="optional" type="xs:int" />
|
||||
<xs:attribute name="Description" use="optional" type="xs:string" />
|
||||
<xs:attribute name="EventTrackingEnabled" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="ExceptionClass" use="optional" type="xs:string" />
|
||||
<xs:attribute name="FireInParallel" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="IISIntrinsics" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="InitializesServerApplication" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="IsEnabled" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="IsPrivateComponent" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="JustInTimeActivation" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="LoadBalancingSupported" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="MaxPoolSize" use="optional" type="xs:int" />
|
||||
<xs:attribute name="MinPoolSize" use="optional" type="xs:int" />
|
||||
<xs:attribute name="MultiInterfacePublisherFilterCLSID" use="optional" type="xs:string" />
|
||||
<xs:attribute name="MustRunInClientContext" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="MustRunInDefaultContext" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="ObjectPoolingEnabled" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="PublisherID" use="optional" type="xs:string" />
|
||||
<xs:attribute name="SoapAssemblyName" use="optional" type="xs:string" />
|
||||
<xs:attribute name="SoapTypeName" use="optional" type="xs:string" />
|
||||
<xs:attribute name="Synchronization" use="optional">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:NMTOKEN">
|
||||
<xs:enumeration value="ignored" />
|
||||
<xs:enumeration value="none" />
|
||||
<xs:enumeration value="supported" />
|
||||
<xs:enumeration value="required" />
|
||||
<xs:enumeration value="requiresNew" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Transaction" use="optional">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:NMTOKEN">
|
||||
<xs:enumeration value="ignored" />
|
||||
<xs:enumeration value="none" />
|
||||
<xs:enumeration value="supported" />
|
||||
<xs:enumeration value="required" />
|
||||
<xs:enumeration value="requiresNew" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="TxIsolationLevel" use="optional">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:NMTOKEN">
|
||||
<xs:enumeration value="any" />
|
||||
<xs:enumeration value="readUnCommitted" />
|
||||
<xs:enumeration value="readCommitted" />
|
||||
<xs:enumeration value="repeatableRead" />
|
||||
<xs:enumeration value="serializable" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="ComPlusRoleForComponent">
|
||||
<xs:annotation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
|
||||
</xs:appinfo>
|
||||
<xs:documentation>
|
||||
Represents a role assignment to a COM+ component.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Id" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
Identifier for the element.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Component" use="optional" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
If the element is not a child of a ComPlusComponent
|
||||
element, this attribute should be provided with the id of a ComPlusComponent
|
||||
element representing the component the role is to be added to.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ApplicationRole" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
Id of the ComPlusApplicationRole element representing the
|
||||
role that shall be granted access to the component.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="ComPlusInterface">
|
||||
<xs:annotation><xs:documentation>
|
||||
Represents an interface for a COM+ component.
|
||||
</xs:documentation></xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element ref="ComPlusRoleForInterface" />
|
||||
<xs:element ref="ComPlusMethod" />
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Id" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
Identifier for the element.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="IID" use="required" type="uuid">
|
||||
<xs:annotation><xs:documentation>
|
||||
IID of the interface.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Description" use="optional" type="xs:string" />
|
||||
<xs:attribute name="QueuingEnabled" use="optional" type="YesNoType" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="ComPlusRoleForInterface">
|
||||
<xs:annotation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
|
||||
</xs:appinfo>
|
||||
<xs:documentation>
|
||||
Represents a role assignment to an interface.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Id" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
Identifier for the element.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Interface" use="optional" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
If the element is not a child of a ComPlusInterface
|
||||
element, this attribute should be provided with the id of a ComPlusInterface
|
||||
element representing the interface the role is to be added to.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ApplicationRole" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
Id of the ComPlusApplicationRole element representing the
|
||||
role that shall be granted access to the interface.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="ComPlusMethod">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Represents a method for an interface.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="ComPlusRoleForMethod" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Id" use="required" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Identifier for the element.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Index" use="optional" type="xs:int">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Dispatch id of the method. If this attribute is not set a
|
||||
value must be provided for the Name attribute.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Name" use="optional" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Name of the method. If this attribute is not set a value
|
||||
must be provided for the Index attribute.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="AutoComplete" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="Description" use="optional" type="xs:string" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="ComPlusRoleForMethod">
|
||||
<xs:annotation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
|
||||
</xs:appinfo>
|
||||
<xs:documentation>
|
||||
Represents a role assignment to a COM+ method.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Id" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
Identifier for the element.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Method" use="optional" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
If the element is not a child of a ComPlusMethod element,
|
||||
this attribute should be provided with the id of a ComPlusMethod element
|
||||
representing the method the role is to be added to.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ApplicationRole" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
Id of the ComPlusApplicationRole element representing the
|
||||
role that shall be granted access to the method.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="ComPlusSubscription">
|
||||
<xs:annotation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
|
||||
</xs:appinfo>
|
||||
<xs:documentation>
|
||||
Defines an event subscription for a COM+ component.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Id" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
Identifier for the element.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Component" use="optional" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
If the element is not a child of a ComPlusComponent
|
||||
element, this attribute should be provided with the id of a ComPlusComponent
|
||||
element representing the component the subscription is to be created for.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="SubscriptionId" use="optional" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
Id of the subscription. If a value is not provided for
|
||||
this attribute, an id will be generated during installation.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Name" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
Name of the subscription.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="EventCLSID" use="optional" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
CLSID of the event class for the subscription. If a value
|
||||
for this attribute is not provided, a value for the PublisherID attribute
|
||||
must be provided.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="PublisherID" use="optional" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
Publisher id for the subscription. If a value for this
|
||||
attribute is not provided, a value for the EventCLSID attribute must be
|
||||
provided.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Description" use="optional" type="xs:string" />
|
||||
<xs:attribute name="Enabled" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="EventClassPartitionID" use="optional" type="xs:string" />
|
||||
<xs:attribute name="FilterCriteria" use="optional" type="xs:string" />
|
||||
<xs:attribute name="InterfaceID" use="optional" type="xs:string" />
|
||||
<xs:attribute name="MachineName" use="optional" type="xs:string" />
|
||||
<xs:attribute name="MethodName" use="optional" type="xs:string" />
|
||||
<xs:attribute name="PerUser" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="Queued" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="SubscriberMoniker" use="optional" type="xs:string" />
|
||||
<xs:attribute name="UserName" use="optional" type="xs:string" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:simpleType name="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Values of this type will either be "yes" or "no".</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:NMTOKEN">
|
||||
<xs:enumeration value="no" />
|
||||
<xs:enumeration value="yes" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="uuid">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Values of this type will look like: "01234567-89AB-CDEF-0123-456789ABCDEF".</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
</xs:schema>
|
||||
@@ -1,108 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
|
||||
|
||||
|
||||
<xs:schema xmlns:html="http://www.w3.org/1999/xhtml"
|
||||
xmlns:wix="http://schemas.microsoft.com/wix/2006/wi"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension"
|
||||
targetNamespace="http://schemas.microsoft.com/wix/DifxAppExtension"
|
||||
xmlns="http://schemas.microsoft.com/wix/DifxAppExtension">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The source code schema for the Windows Installer XML Toolset Driver Install Frameworks for Applications Extension.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
||||
<xs:import namespace="http://schemas.microsoft.com/wix/2006/wi" />
|
||||
|
||||
<xs:element name="Driver">
|
||||
<xs:annotation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
|
||||
</xs:appinfo>
|
||||
<xs:documentation>
|
||||
Installs a driver. To use this element, you need to reference the WixDifxAppExtension extension and add the
|
||||
.wixlib appropriate for the target platform (difxapp_x86.wixlib or difxapp_x64.wixlib)
|
||||
to your project.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="AddRemovePrograms" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Specifies that the DIFxApp CustomActions should add an entry in the Add/Remove Programs Control
|
||||
Panel applet. The default is 'yes'.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="DeleteFiles" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
If set to "yes", configures DIFxApp to delete binary files that were copied to the system from the driver
|
||||
store when a driver package was installed. If this attribute is set to "no" or not present, DIFxApp does not
|
||||
remove these files from a system. Note that configuring DIFxApp to delete these files is controlled by the
|
||||
Flags entry value of the component that represents the driver package in the MsiDriverPackages custom table.
|
||||
Setting DeleteFiles to "yes" sets the corresponding bit in the Flags entry value. Setting DeleteFiles to "no"
|
||||
clears the corresponding bit in the Flags entry value. If this attribute is not present, DIFxApp uses a
|
||||
default value of "no".
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ForceInstall" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Specifies that the DIFxApp CustomActions should force the installation of a new Plug and Play driver
|
||||
on a device, even if the currently installed driver on the device is a better match than the new driver.
|
||||
Specifying 'no' is an excellent way to ensure the DIFxApp CustomActions recognize the Component contains
|
||||
a driver for installation. The default is null which means the Component does not install a driver via
|
||||
DIFxApp CustomActions. See <html:a href='http://www.microsoft.com/whdc/driver/install/difxtools.mspx'>http://www.microsoft.com/whdc/driver/install/difxtools.mspx</html:a>
|
||||
for more information.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Legacy" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
If set to "yes", configures DIFxApp to install unsigned driver packages and driver packages with missing
|
||||
files. For more information, see "Installing Unsigned Driver Packages in Legacy Mode" earlier in this paper.
|
||||
If this attribute is set to "no" or not present, DIFxApp will install only signed driver packages. Note
|
||||
that configuring DIFxApp to install unsigned drivers is controlled by the Flags entry value of the component
|
||||
that represents the driver package in the MsiDriverPackages custom table. Setting Legacy to "yes" sets
|
||||
the corresponding bit in the Flags entry value. Setting Legacy to "no" clears the bit in the Flags
|
||||
entry value that configures DIFxApp to install unsigned driver packages. If this attribute is not present,
|
||||
DIFxApp uses a default value of "no".
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="PlugAndPlayPrompt" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Specifies that the DIFxApp CustomActions should prompt the user to connect the Plug and Play
|
||||
device if it is not connected. The default is 'yes'.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Sequence" type="xs:integer">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Specifies an optional installation sequence number. DIFxApp CustomActions install the driver packages in
|
||||
an installation package in the order of increasing sequence numbers. The same sequence number can be used
|
||||
for more than one driver; however, the order in which packages with the same sequence number are actually
|
||||
installed cannot be determined.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:simpleType name="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Values of this type will either be "yes" or "no".</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base='xs:NMTOKEN'>
|
||||
<xs:enumeration value="no"/>
|
||||
<xs:enumeration value="yes"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:schema>
|
||||
@@ -1,211 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
|
||||
|
||||
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension"
|
||||
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||
targetNamespace="http://schemas.microsoft.com/wix/FirewallExtension"
|
||||
xmlns="http://schemas.microsoft.com/wix/FirewallExtension">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The source code schema for the Windows Installer XML Toolset Firewall Extension.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
||||
<xs:import namespace="http://schemas.microsoft.com/wix/2006/wi" />
|
||||
|
||||
<xs:element name="FirewallException">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Registers an exception for a program or a specific port and protocol in the Windows Firewall
|
||||
on Windows XP SP2, Windows Server 2003 SP1, and later. For more information about the Windows
|
||||
Firewall, see <html:a href="http://msdn.microsoft.com/en-us/library/aa364679.aspx">
|
||||
About Windows Firewall API</html:a>.
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="File" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
|
||||
<xs:complexType>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Explicitly-listed remote addresses that this exception allows through the
|
||||
firewall.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:element ref="RemoteAddress" />
|
||||
</xs:choice>
|
||||
|
||||
<xs:attribute name="Id" type="xs:string" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Unique ID of this firewall exception.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
|
||||
<xs:attribute name="Name" type="xs:string" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Name of this firewall exception, visible to the user in the firewall
|
||||
control panel.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
|
||||
<xs:attribute name="Scope">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The scope of this firewall exception, which indicates whether incoming
|
||||
connections can come from any computer including those on the Internet
|
||||
or only those on the local network subnet. To more precisely specify
|
||||
allowed remote address, specify a custom scope using RemoteAddress
|
||||
child elements.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:NMTOKEN">
|
||||
<xs:enumeration value="any" />
|
||||
<xs:enumeration value="localSubnet" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
|
||||
<xs:attribute name="Port" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Port to allow through the firewall for this exception.
|
||||
|
||||
If you use Port and also File or Program in the same
|
||||
FirewallException element, the exception will fail to install on
|
||||
Windows XP and Windows Server 2003. IgnoreFailure="yes" can be used to
|
||||
ignore the resulting failure, but the exception will not be added.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
|
||||
<xs:attribute name="Protocol">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
IP protocol used for this firewall exception. If Port is defined,
|
||||
"tcp" is assumed if the protocol is not specified.
|
||||
|
||||
If you use Protocol and also File or Program in the same
|
||||
FirewallException element, the exception will fail to install on
|
||||
Windows XP and Windows Server 2003. IgnoreFailure="yes" can be used to
|
||||
ignore the resulting failure, but the exception will not be added.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:NMTOKEN">
|
||||
<xs:enumeration value="tcp" />
|
||||
<xs:enumeration value="udp" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
|
||||
<xs:attribute name="File" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Identifier of a file to be granted access to all incoming ports and
|
||||
protocols. If you use File, you cannot also use Program.
|
||||
|
||||
If you use File and also Port or Protocol in the same
|
||||
FirewallException element, the exception will fail to install on
|
||||
Windows XP and Windows Server 2003. IgnoreFailure="yes" can be used to
|
||||
ignore the resulting failure, but the exception will not be added.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
|
||||
<xs:attribute name="Program" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Path to a target program to be granted access to all incoming ports and
|
||||
protocols. Note that this is a formatted field, so you can use [#fileId]
|
||||
syntax to refer to a file being installed. If you use Program, you cannot
|
||||
also use File.
|
||||
|
||||
If you use Program and also Port or Protocol in the same
|
||||
FirewallException element, the exception will fail to install on
|
||||
Windows XP and Windows Server 2003. IgnoreFailure="yes" can be used to
|
||||
ignore the resulting failure, but the exception will not be added.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
|
||||
<xs:attribute name="IgnoreFailure" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
If "yes," failures to register this firewall exception will be silently
|
||||
ignored. If "no" (the default), failures will cause rollback.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
|
||||
<xs:attribute name="Profile">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Profile type for this firewall exception. Default is "all".
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:NMTOKEN">
|
||||
<xs:enumeration value="domain" />
|
||||
<xs:enumeration value="private" />
|
||||
<xs:enumeration value="public" />
|
||||
<xs:enumeration value="all" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Description" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Description for this firewall rule displayed in Windows Firewall manager in
|
||||
Windows Vista and later.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="RemoteAddress">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
A remote address to which the port or program can listen. Address formats vary
|
||||
based on the version of Windows and Windows Firewall the program is being installed
|
||||
on. For Windows XP SP2 and Windows Server 2003 SP1, see
|
||||
<html:a href="http://msdn.microsoft.com/en-us/library/aa365270.aspx">
|
||||
RemoteAddresses Property</html:a>.
|
||||
For Windows Vista and Windows Server 2008, see
|
||||
<html:a href="http://msdn.microsoft.com/en-us/library/aa365366.aspx">
|
||||
RemoteAddresses Property</html:a>.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
A remote address.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:simpleType name="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Values of this type will either be "yes" or "no".</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base='xs:NMTOKEN'>
|
||||
<xs:enumeration value="no"/>
|
||||
<xs:enumeration value="yes"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:schema>
|
||||
@@ -1,127 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
|
||||
|
||||
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension"
|
||||
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||
targetNamespace="http://schemas.microsoft.com/wix/GamingExtension"
|
||||
xmlns="http://schemas.microsoft.com/wix/GamingExtension">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The source code schema for the Windows Installer XML Toolset Gaming Extension.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
||||
<xs:import namespace="http://schemas.microsoft.com/wix/2006/wi" />
|
||||
|
||||
<xs:attribute name="IsRichSavedGame">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Registers this extension for the
|
||||
<html:a href="http://msdn.microsoft.com/library/bb173448.aspx" target="_blank">rich saved games</html:a>
|
||||
property handler on Windows Vista and later.
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Extension" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
|
||||
<xs:element name="Game">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Registers a game in Game Explorer on Windows Vista and later. The executable must have an
|
||||
embedded Game Definition File. For more information about Game Explorer and GDFs, see
|
||||
<html:a href="http://msdn.microsoft.com/library/bb173432.aspx" target="_blank">The Windows Vista Game Explorer</html:a>.
|
||||
This registration is accomplished via custom action.
|
||||
|
||||
On Windows XP, this element instead records the same information in the registry so that
|
||||
later upgrades to Windows Vista register the game in Game Explorer.
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="File" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Each game can support multiple play and support tasks that are shown in the Game Explorer context menu. PlayTask and SupportTask are not needed when using when authoring the tasks in the GDF using ExtendedProperties\GameTasks available in Windows 7. At least one play task should be created using either PlayTask or the ExtendedProperties\GameTasks\Play in the GDF.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:element ref="PlayTask"/>
|
||||
<xs:element ref="SupportTask"/>
|
||||
</xs:choice>
|
||||
|
||||
<xs:attribute name="Id" type="Guid" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The game's instance ID.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="GdfResourceFile" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Identifier of the file that contains the game's GDF resource, if it doesn't exist in the parent file.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ExecutableFile" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Identifier of the file that is the game's executable, if it isn't the parent file.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="PlayTask">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Creates a shortcut to the parent File and registers it as a "play task" in Game Explorer. For more information, see
|
||||
<html:a href="http://msdn.microsoft.com/library/bb173450.aspx" target="_blank">
|
||||
Game Explorer Tasks
|
||||
</html:a>. PlayTask should not be used when authoring the tasks in the GDF using ExtendedProperties\GameTasks available in Windows 7.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Name" type="xs:string" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>User-visible task name Game Explorer shows on its context menu. Note that the first task is named "Play" regardless of the name you provide.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Arguments" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Command-line arguments to be passed to the game executable for this task.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="SupportTask">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Creates an Internet shortcut and registers it as a "support task" in Game Explorer. For more information, see
|
||||
<html:a href="http://msdn.microsoft.com/library/bb173450.aspx" target="_blank">
|
||||
Game Explorer Tasks
|
||||
</html:a>. SupportTask should not be used when authoring the tasks in the GDF using ExtendedProperties\GameTasks available in Windows 7.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Name" type="xs:string" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>User-visible task name Game Explorer shows on its context menu. Note that the first task is named "Play" regardless of the name you provide.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Address" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>URI for this task.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:simpleType name="Guid">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Values of this type will look like: "01234567-89AB-CDEF-0123-456789ABCDEF" or "{01234567-89AB-CDEF-0123-456789ABCDEF}". Also allows "PUT-GUID-HERE" for use in examples.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?|PUT\-GUID\-HERE|([!$])\(loc\.[_A-Za-z][0-9A-Za-z_.]*\)|!\(wix\.[_A-Za-z][0-9A-Za-z_.]*\)"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:schema>
|
||||
@@ -1,148 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
|
||||
|
||||
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension"
|
||||
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||
targetNamespace="http://schemas.microsoft.com/wix/HttpExtension"
|
||||
xmlns="http://schemas.microsoft.com/wix/HttpExtension">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The source code schema for the Windows Installer XML Toolset Http Extension.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
||||
<xs:import namespace="http://schemas.microsoft.com/wix/2006/wi" />
|
||||
|
||||
<xs:element name="UrlReservation">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Makes a reservation record for the HTTP Server API configuration store on Windows XP SP2,
|
||||
Windows Server 2003, and later. For more information about the HTTP Server API, see
|
||||
<html:a href="http://msdn.microsoft.com/library/windows/desktop/aa364510.aspx">
|
||||
HTTP Server API
|
||||
</html:a>.
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="ServiceInstall" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
|
||||
<xs:complexType>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The access control entries for the access control list.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:element ref="UrlAce" />
|
||||
</xs:choice>
|
||||
|
||||
<xs:attribute name="HandleExisting">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Specifies the behavior when trying to install a URL reservation and it already exists.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:NMTOKEN">
|
||||
<xs:enumeration value="replace">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Replaces the existing URL reservation (the default).
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="ignore">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Keeps the existing URL reservation.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="fail">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The installation fails.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
|
||||
<xs:attribute name="Id" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Unique ID of this URL reservation.
|
||||
If this attribute is not specified, an identifier will be generated automatically.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
|
||||
<xs:attribute name="Sddl" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Security descriptor to apply to the URL reservation.
|
||||
Can't be specified when using children UrlAce elements.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
|
||||
<xs:attribute name="Url" type="xs:string" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The <html:a href="http://msdn.microsoft.com/library/windows/desktop/aa364698.aspx">UrlPrefix</html:a>
|
||||
string that defines the portion of the URL namespace to which this reservation pertains.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="UrlAce">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The security principal and which rights to assign to them for the URL reservation.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Id" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Unique ID of this URL ACE.
|
||||
If this attribute is not specified, an identifier will be generated automatically.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
|
||||
<xs:attribute name="SecurityPrincipal" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The security principal for this ACE. When the UrlReservation is under a ServiceInstall element, this defaults to
|
||||
"NT SERVICE\ServiceInstallName". This may be either a SID or an account name in a format that
|
||||
<html:a href="http://msdn.microsoft.com/library/windows/desktop/aa379159.aspx">LookupAccountName</html:a>
|
||||
supports. When using a SID, an asterisk must be prepended. For example, "*S-1-5-18".
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
|
||||
<xs:attribute name="Rights">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Rights for this ACE. Default is "all".
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:NMTOKEN">
|
||||
<xs:enumeration value="register" />
|
||||
<xs:enumeration value="delegate" />
|
||||
<xs:enumeration value="all" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:schema>
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,221 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
|
||||
|
||||
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension"
|
||||
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||
targetNamespace="http://schemas.microsoft.com/wix/2009/Lux"
|
||||
xmlns="http://schemas.microsoft.com/wix/2009/Lux">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The source code schema for the Windows Installer XML Toolset Lux Extension.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
||||
<xs:import namespace="http://schemas.microsoft.com/wix/2006/wi" />
|
||||
|
||||
<xs:element name="Mutation">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Test mutations let you author unit tests with different expected results. The mutation
|
||||
id is passed as the value of the WIXLUX_RUNNING_MUTATION property. Your custom action,
|
||||
typically in an '#ifdef DEBUG' block, can retrieve the WIXLUX_RUNNING_MUTATION property
|
||||
and hard-code different behavior based on the mutation. To author test mutations, use
|
||||
the Mutation element with UnitTest elements as children.
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Fragment" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Child UnitTest elements are validated when the parent mutation is being executed.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:element ref="UnitTest"/>
|
||||
</xs:choice>
|
||||
|
||||
<xs:attribute name="Id" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Value of the WIXLUX_RUNNING_MUTATION property set by the mutation.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="UnitTest">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Describes a unit test to be executed against a particular custom action, resulting in a
|
||||
particular property value. Single-value properties, multi-value properties, and
|
||||
name/value-pair properties can all be tested declaratively.
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2009/Lux" ref="Mutation" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Fragment" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Child UnitTest elements are used to test multi-value properties. Note that Property
|
||||
and ValueDelimiter or NameValueDelimiter must be specified in the parent element.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:element ref="Condition"/>
|
||||
<xs:element ref="Expression"/>
|
||||
<xs:element ref="UnitTest"/>
|
||||
</xs:choice>
|
||||
|
||||
<xs:attribute name="Id" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Identifier of the unit test. If you omit this attribute, a stable identifier is generated for you.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
|
||||
<xs:attribute name="CustomAction" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Identifier of the custom action to be tested.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
|
||||
<xs:attribute name="Property" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Name of the property set by the custom action.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
|
||||
<xs:attribute name="Operator" default="equal">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The operator to apply to the property and value. Default is "equal."
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:NMTOKEN">
|
||||
<xs:enumeration value="equal">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
(Default) Compares Property to Value and succeeds if they are equal.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="notEqual">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Compares Property to Value and succeeds if they are NOT equal.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="caseInsensitiveEqual">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Compares Property to Value and succeeds if they are equal (ignoring case).
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="caseInsensitiveNotEqual">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Compares Property to Value and succeeds if they are NOT equal (ignoring case).
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
|
||||
<xs:attribute name="Value" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The value to compare to the property.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
|
||||
<xs:attribute name="ValueSeparator" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
One character that is used to separate values in a multi-value property.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
|
||||
<xs:attribute name="NameValueSeparator" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
One character that is used to separate values in a name/value-pair multi-value property.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
|
||||
<xs:attribute name="Index" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
A formatted string that evaluates to either an integer index into a multi-value property or a string name of a name/value-pair multi-value property.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Condition">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Conditions for a unit test.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string" />
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Expression">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
An expression that must evaluate to true to succeed. Cannot be specified if Property is specified.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string" />
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="UnitTestRef">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Identifies a unit test to be linked into a project.
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Fragment" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Product" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Id" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Identifier of the unit test to be included.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
</xs:schema>
|
||||
@@ -1,121 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
|
||||
|
||||
|
||||
<xs:schema xmlns:html="http://www.w3.org/1999/xhtml"
|
||||
xmlns:wix="http://schemas.microsoft.com/wix/2006/wi"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension"
|
||||
targetNamespace="http://schemas.microsoft.com/wix/MsmqExtension"
|
||||
xmlns="http://schemas.microsoft.com/wix/MsmqExtension">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The source code schema for the Windows Installer XML Toolset MSMQ Extension.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
||||
<xs:import namespace="http://schemas.microsoft.com/wix/2006/wi" />
|
||||
|
||||
<xs:element name="MessageQueue">
|
||||
<xs:annotation><xs:documentation>
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="MessageQueuePermission" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Id" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Authenticate" use="optional" type="YesNoType">
|
||||
<xs:annotation><xs:documentation>
|
||||
Default: No.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="BasePriority" use="optional" type="xs:integer" />
|
||||
<xs:attribute name="Journal" use="optional" type="YesNoType">
|
||||
<xs:annotation><xs:documentation>
|
||||
Default: No.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="JournalQuota" use="optional" type="xs:integer" />
|
||||
<xs:attribute name="Label" use="required" type="xs:string" />
|
||||
<xs:attribute name="MulticastAddress" use="optional" type="xs:string" />
|
||||
<xs:attribute name="PathName" use="required" type="xs:string" />
|
||||
<xs:attribute name="PrivLevel" use="optional">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:NMTOKEN">
|
||||
<xs:enumeration value="none" />
|
||||
<xs:enumeration value="optional" />
|
||||
<xs:enumeration value="body" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Quota" use="optional" type="xs:integer" />
|
||||
<xs:attribute name="Transactional" use="optional" type="YesNoType">
|
||||
<xs:annotation><xs:documentation>
|
||||
Default: No.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ServiceTypeGuid" use="optional" type="xs:string" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="MessageQueuePermission">
|
||||
<xs:annotation><xs:documentation>
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Id" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="MessageQueue" use="optional" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="User" use="optional" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Group" use="optional" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="DeleteMessage" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="PeekMessage" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="WriteMessage" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="DeleteJournalMessage" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="SetQueueProperties" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="GetQueueProperties" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="DeleteQueue" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="GetQueuePermissions" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="ChangeQueuePermissions" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="TakeQueueOwnership" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="ReceiveMessage" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="ReceiveJournalMessage" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="QueueGenericRead" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="QueueGenericWrite" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="QueueGenericExecute" use="optional" type="YesNoType" />
|
||||
<xs:attribute name="QueueGenericAll" use="optional" type="YesNoType" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:simpleType name="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Values of this type will either be "yes" or "no".</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:NMTOKEN">
|
||||
<xs:enumeration value="no" />
|
||||
<xs:enumeration value="yes" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
</xs:schema>
|
||||
@@ -1,235 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
|
||||
|
||||
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension"
|
||||
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||
targetNamespace="http://schemas.microsoft.com/wix/NetFxExtension"
|
||||
xmlns="http://schemas.microsoft.com/wix/NetFxExtension">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The source code schema for the Windows Installer XML Toolset .NET Framework Extension.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
||||
<xs:element name="NativeImage">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Improves the performance of managed applications by creating native images.
|
||||
Requires the .NET Framework 2.0 or newer to be installed on the target machine since
|
||||
it runs <html:a href="http://msdn.microsoft.com/en-us/library/6t9t5wcf.aspx">NGen</html:a>.
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="File" />
|
||||
<xse:remarks>
|
||||
<html:p>
|
||||
Native images are files containing compiled processor-specific machine code, which
|
||||
are installed into the native image cache on the local computer. The runtime
|
||||
can use native images from the cache instead using the just-in-time (JIT)
|
||||
compiler to compile the original assembly.
|
||||
</html:p>
|
||||
<html:p>
|
||||
The native image custom actions are configured to ignore failures so that failing
|
||||
to generate or remove a native image will not cause setup to fail and roll back.
|
||||
</html:p>
|
||||
<html:p>
|
||||
<html:b>Note for patches:</html:b> if you built your target, or baseline, MSI with
|
||||
previous versions 3.0 or 3.5 of this extension and want to upgrade to formattable
|
||||
values for @AssemblyApplication or @AppBaseDirectory you must also include a
|
||||
BinaryRef to "NetFxCA" to pull in necessary changes. If you do use formattable
|
||||
values and do not include the binary changes ngen.exe will not optimize your
|
||||
native images for the specified application.
|
||||
</html:p>
|
||||
<html:p>
|
||||
This should be a rare occurrence, however. Because you cannot remove components
|
||||
in a patch - and pyro does validate you do not - it is not practical to switch
|
||||
from using identifiers to formattable values in a patch. One practical possibility
|
||||
is if you wanted to use a different application to optimize your native images
|
||||
and that application is not already installed with the MSI to be updated.
|
||||
</html:p>
|
||||
</xse:remarks>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Id" type="xs:string" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The identifier for this NativeImage.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="AppBaseDirectory" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
<html:p>
|
||||
The directory to use for locating dependent assemblies.
|
||||
For DLL assemblies and assemblies installed to the Global Assembly Cache (GAC),
|
||||
this attribute should be set to the directory of the application which loads this
|
||||
assembly. For EXE assemblies, this attribute does not need to be set because NGen
|
||||
will use the directory of the assembly file by default.
|
||||
</html:p>
|
||||
<html:p>
|
||||
The value can be in the form of a directory identifier, or a formatted string
|
||||
that resolves to either a directory identifier or a full path to a directory.
|
||||
</html:p>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="AssemblyApplication" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
<html:p>
|
||||
The application which will load this assembly.
|
||||
For DLL assemblies which are loaded via reflection, this attribute should
|
||||
be set to indicate the application which will load this assembly.
|
||||
The configuration of the application (usually specified via an exe.config file) will be used
|
||||
to determine how to resolve dependencies for this assembly.
|
||||
</html:p>
|
||||
<html:p>
|
||||
The value can be in the form of a file identifier, or a formatted string
|
||||
that resolves to either a file identifier or a full path to a file.
|
||||
</html:p>
|
||||
<html:p>
|
||||
When a shared component is loaded at run time, using the Load method, the
|
||||
application's configuration file determines the dependencies that are loaded
|
||||
for the shared component — for example, the version of a dependency that is loaded.
|
||||
This attribute gives guidance on which dependencies would be loaded at run time in order
|
||||
to figure out which dependency assemblies will also need to have native images generated
|
||||
(assuming the Dependency attribute is not set to "no").
|
||||
</html:p>
|
||||
<html:p>
|
||||
This attribute cannot be set if the AssemblyApplication attribute is set on the parent
|
||||
File element (please note that these attributes both refer to the same application
|
||||
assembly but do very different things: specifiying File/@AssemblyApplication will force
|
||||
an assembly to install to a private location next to the indicated application, whereas
|
||||
this AssemblyApplication attribute will be used to help resolve dependent assemblies
|
||||
while generating native images for this assembly).
|
||||
</html:p>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Debug" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Set to "yes" to generate native images that can be used under a debugger.
|
||||
The default value is "no".
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Dependencies" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Set to "no" to generate the minimum number of native images.
|
||||
The default value is "yes".
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Platform">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Sets the platform(s) for which native images will be generated.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:NMTOKEN">
|
||||
<xs:enumeration value="32bit">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Attempt to generate native images only for the 32-bit version of the .NET Framework
|
||||
on the target machine. If the 32-bit version of the .NET Framework 2.0 or newer is not
|
||||
present on the target machine, native image custom actions will not be scheduled.
|
||||
This is the default value.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="64bit">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Attempt to generate native images only for the 64-bit version of the .NET Framework
|
||||
on the target machine. If a 64-bit version of the .NET Framework 2.0 or newer is not
|
||||
present on the target machine, native image custom actions will not be scheduled.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="all">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Attempt to generate native images for the 32-bit and 64-bit versions of the .NET Framework
|
||||
on the target machine. If a version of the .NET Framework 2.0 or newer is not present on the
|
||||
target machine for a processor architecture, native image custom actions will not be
|
||||
scheduled for that processor architecture.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Priority">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Sets the priority of generating the native images for this assembly.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:NMTOKEN">
|
||||
<xs:enumeration value="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
This is the highest priority, it means that image generation occurs syncronously
|
||||
during the setup process. This option will slow down setup performance.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="1">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
This will queue image generation to the NGen service to occur immediately.
|
||||
This option will slow down setup performance.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="2">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
This will queue image generation to the NGen service to occur after all priority 1
|
||||
assemblies have completed.
|
||||
This option will slow down setup performance.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="3">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
This is the lowest priority, it will queue image generation to occur when the
|
||||
machine is idle.
|
||||
This option should not slow down setup performance.
|
||||
This is the default value.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Profile" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Set to "yes" to generate native images that can be used under a profiler.
|
||||
The default value is "no".
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:simpleType name="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Values of this type will either be "yes" or "no".</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base='xs:NMTOKEN'>
|
||||
<xs:enumeration value="no"/>
|
||||
<xs:enumeration value="yes"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
</xs:schema>
|
||||
@@ -1,201 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
|
||||
|
||||
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension"
|
||||
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||
xmlns:wix="http://schemas.microsoft.com/wix/2006/wi"
|
||||
targetNamespace="http://schemas.microsoft.com/wix/PSExtension"
|
||||
xmlns="http://schemas.microsoft.com/wix/PSExtension">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The source code schema for the Windows Installer XML Toolset PowerShell Extension.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:import namespace="http://schemas.microsoft.com/wix/2006/wi" />
|
||||
<xs:element name="FormatsFile">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Identifies the parent File as a formats XML file for the referenced PowerShell snap-in.
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="File" />
|
||||
<xse:remarks>
|
||||
A formats XML file that defines output formats for objects on the pipeline.
|
||||
</xse:remarks>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="FileId" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Reference to the formats File ID. This is required when nested under the SnapIn element.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="SnapIn" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Reference to the PowerShell snap-in ID for which this formats file is associated. This is required when nested under the File element.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="TypesFile">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Identifies the parent File as a types XML file for the referenced PowerShell snap-in.
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="File" />
|
||||
<xse:remarks>
|
||||
A types XML file used by the extensible type system.
|
||||
</xse:remarks>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="FileId" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Reference to the types File ID. This is required when nested under the SnapIn element.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="SnapIn" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Reference to the PowerShell snap-in ID for which this types file is associated. This is required when nested under the File element.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="SnapIn">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Identifies the parent File as a PowerShell snap-in to be registered on the system.
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="File" />
|
||||
<xse:remarks>
|
||||
<html:a href="http://www.microsoft.com/powershell">PowerShell</html:a> snap-ins
|
||||
allow developers to extend the functionality of of the PowerShell engine.
|
||||
Add this element to identify the parent File as a PowerShell snap-in that will
|
||||
get registered on the system.
|
||||
</xse:remarks>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element ref="FormatsFile" />
|
||||
<xs:element ref="TypesFile" />
|
||||
</xs:choice>
|
||||
<xs:attribute name="Id" type="xs:string" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The identifier for this PowerShell snap-in.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="AssemblyName" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The fully-qualified name of the assembly.
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:deprecated />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="CustomSnapInType" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The full type name of a class that is used to register a list of cmdlets and providers.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Description" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
A brief description of the snap-in.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="DescriptionIndirect" type="EmbeddedResource">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
An embedded resource that contains a brief description of the snap-in.
|
||||
This resource must be embedded in the current snap-in assembly.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="RequiredPowerShellVersion" type="VersionType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The required version of PowerShell that must be installed and is associated with the
|
||||
snap-in registration. The default value is "1.0".
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Vendor" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The name of the snap-in vendor.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="VendorIndirect" type="EmbeddedResource">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
An embedded resource that contains the name of the snap-in vendor.
|
||||
This resource must be embedded in the current snap-in assembly.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Version" type="VersionType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The version of the snapin. If not specified, this is taken from the assembly name.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:attribute name="RequiredVersion" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The version of this extension required to compile the defining source.
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Wix" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:simpleType name="EmbeddedResource">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
<html:p>
|
||||
Values should be in the format <html:i>ResourceName,StringName</html:i>, where <html:i>ResourceName</html:i>
|
||||
is the name of the embedded resource in your assembly sans the ".resources" extension, and <html:i>StringName</html:i>
|
||||
is the name of the string resource in the embedded resource.
|
||||
</html:p>
|
||||
<html:p>
|
||||
Example: UtilityMshSnapInResources,Description
|
||||
</html:p>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:string" />
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="VersionType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Values of this type will look like: "x", "x.x", "x.x.x", or "x.x.x.x" where x is an integer from 0 to 65534.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="\d{1,5}(\.\d{1,5}){0,3}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:schema>
|
||||
@@ -1,342 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
|
||||
|
||||
|
||||
<xs:schema xmlns:html="http://www.w3.org/1999/xhtml"
|
||||
xmlns:wix="http://schemas.microsoft.com/wix/2006/wi"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension"
|
||||
targetNamespace="http://schemas.microsoft.com/wix/SqlExtension"
|
||||
xmlns="http://schemas.microsoft.com/wix/SqlExtension">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The source code schema for the Windows Installer XML Toolset SQL Server Extension.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
||||
<xs:import namespace="http://schemas.microsoft.com/wix/2006/wi" />
|
||||
|
||||
<xs:element name="SqlDatabase">
|
||||
<xs:annotation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Fragment" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Module" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Product" />
|
||||
<xse:remarks>
|
||||
<html:dl>
|
||||
<html:dd>Nesting SqlDatabase under a Component element will result in a SqlDatabase being installed to the machine as the package is installed.</html:dd>
|
||||
<html:dd>
|
||||
Nesting SqlDatabase under Product, Fragment, or Module
|
||||
results in a database "locator" record being created in
|
||||
the SqlDatabase table. This means that the database
|
||||
itself is neither installed nor uninstalled by the MSI
|
||||
package. It does make the database available for referencing
|
||||
from a SqlString or SqlScript record. This allows MSI to install
|
||||
SqlScripts or SqlStrings to already existing databases on the machine.
|
||||
The install will fail if the database does not exist in these cases.
|
||||
</html:dd>
|
||||
<html:dd>
|
||||
The User attribute references credentials specified in a User element.
|
||||
If a user is not specified then Windows Authentication will be used by default
|
||||
using the credentials of the user performing the install to execute sql
|
||||
strings, etc.
|
||||
</html:dd>
|
||||
</html:dl>
|
||||
</xse:remarks>
|
||||
<xse:seeAlso namespace="http://schemas.microsoft.com/wix/UtilExtension" ref="User"/>
|
||||
</xs:appinfo>
|
||||
<xs:documentation>SQL Database</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:sequence>
|
||||
<xs:element ref="SqlFileSpec" minOccurs="0"/>
|
||||
<xs:element ref="SqlLogFileSpec" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:element ref="SqlScript"/>
|
||||
<xs:element ref="SqlString"/>
|
||||
</xs:choice>
|
||||
<xs:attribute name="Id" use="required" type="xs:string"/>
|
||||
<xs:attribute name="Server" use="required" type="xs:string">
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Instance" type="xs:string">
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Database" use="required" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The name of the database. The value can be a literal value or derived from a
|
||||
Property element using the <html:a href='http://msdn.microsoft.com/library/aa368609.aspx' target='_blank'>Formatted</html:a>
|
||||
syntax.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="User" type="xs:string">
|
||||
</xs:attribute>
|
||||
<xs:attribute name="CreateOnInstall" type="YesNoType">
|
||||
</xs:attribute>
|
||||
<xs:attribute name="CreateOnReinstall" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Specifies whether to create the database when the associated component is reinstalled. Setting CreateOnInstall to yes does <html:b>not</html:b> imply CreateOnReinstall is set to yes. CreateOnReinstall must be set in addition to CreateOnInstall for it to be created during both install and reinstall.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="CreateOnUninstall" type="YesNoType">
|
||||
</xs:attribute>
|
||||
<xs:attribute name="DropOnInstall" type="YesNoType">
|
||||
</xs:attribute>
|
||||
<xs:attribute name="DropOnReinstall" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Specifies whether to drop the database when the associated component is reinstalled. Setting DropOnInstall to yes does <html:b>not</html:b> imply DropOnReinstall is set to yes. DropOnReinstall must be set in addition to DropOnInstall for it to be dropped during both install and reinstall.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="DropOnUninstall" type="YesNoType">
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ContinueOnError" type="YesNoType">
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ConfirmOverwrite" type="YesNoType">
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="SqlFileSpec">
|
||||
<xs:annotation>
|
||||
<xs:documentation>File specification for a Sql database.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Id" use="required" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>ID of the file specification.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Name" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies the logical name for the database file.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Filename" use="required" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies the operating-system file name for the database file.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Size" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Specifies the size of the database file. The GB, MB and KB suffixes can be used to specify gigabytes,
|
||||
megabytes or kilobytes. The default is megabytes if no suffix is specified. When a Size is not
|
||||
supplied for a database file, SQL Server uses the size of the primary file in the model database.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="MaxSize" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Specifies the maximum size to which the database file can grow. The GB, MB and KB suffixes can be used to
|
||||
to specify gigabytes, megabytes or kilobytes. The default is megabytes if no suffix is specified. If
|
||||
MaxSize is not specified, the file will grow until the disk is full.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="GrowthSize" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Specifies the growth increment of the database file. The GB, MB and KB and % suffixes can be used to
|
||||
specify gigabytes, megabytes, kilobytes or a percentage of the current file size to grow. The default is
|
||||
megabytes if no suffix is specified. The default value is 10% if GrowthSize is not specified, and the
|
||||
minimum value is 64 KB. The GrowthSize setting for a file cannot exceed the MaxSize setting.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="SqlLogFileSpec">
|
||||
<xs:annotation>
|
||||
<xs:documentation>File specification for a Sql database.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Id" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>ID of the log file specification.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Name" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies the logical name for the log file.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Filename" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies the operating-system file name for the log file.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Size" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Specifies the size of the log file. The GB, MB and KB suffixes can be used to specify gigabytes,
|
||||
megabytes or kilobytes. The default is megabytes if no suffix is specified. When a Size is not
|
||||
supplied for a log file, SQL Server makes the file 1 MB.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="MaxSize" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Specifies the maximum size to which the log file can grow. The GB, MB and KB suffixes can be used to
|
||||
to specify gigabytes, megabytes or kilobytes. The default is megabytes if no suffix is specified. If
|
||||
MaxSize is not specified, the file will grow until the disk is full.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="GrowthSize" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Specifies the growth increment of the log file. The GB, MB and KB and % suffixes can be used to
|
||||
specify gigabytes, megabytes, kilobytes or a percentage of the current file size to grow. The default is
|
||||
megabytes if no suffix is specified. The default value is 10% if GrowthSize is not specified, and the
|
||||
minimum value is 64 KB. The GrowthSize setting for a file cannot exceed the MaxSize setting.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="SqlScript">
|
||||
<xs:annotation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
|
||||
</xs:appinfo>
|
||||
<xs:documentation>SQL Script</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Id" use="required" type="xs:string"/>
|
||||
<xs:attribute name="SqlDb" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>required when not child of SqlDatabase</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="User" type="xs:string">
|
||||
</xs:attribute>
|
||||
<xs:attribute name="BinaryKey" type="xs:string" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Reference to Binary stream that contains the SQL script to execute.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ExecuteOnInstall" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies to execute the script when the associated component is installed. This attribute is mutually exclusive with the RollbackOnInstall, RollbackOnReinstall and RollbackOnUninstall attributes.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ExecuteOnReinstall" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies whether to execute the script when the associated component is reinstalled. Setting ExecuteOnInstall to yes does <html:b>not</html:b> imply ExecuteOnReinstall is set to yes. ExecuteOnReinstall must be set in addition to ExecuteOnInstall for it to be executed during both install and reinstall. This attribute is mutually exclusive with the RollbackOnInstall, RollbackOnReinstall and RollbackOnUninstall attributes.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ExecuteOnUninstall" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies to execute the script when the associated component is uninstalled. This attribute is mutually exclusive with the RollbackOnInstall, RollbackOnReinstall and RollbackOnUninstall attributes.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="RollbackOnInstall" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies whether to execute the script on rollback if an attempt is made to install the associated component. This attribute is mutually exclusive with the ExecuteOnInstall, ExecuteOnReinstall and ExecuteOnUninstall attributes.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="RollbackOnReinstall" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies whether to execute the script on rollback if an attempt is made to reinstall the associated component. This attribute is mutually exclusive with the ExecuteOnInstall, ExecuteOnReinstall and ExecuteOnUninstall attributes.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="RollbackOnUninstall" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies whether to execute the script on rollback if an attempt is made to uninstall the associated component. This attribute is mutually exclusive with the ExecuteOnInstall, ExecuteOnReinstall and ExecuteOnUninstall attributes.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ContinueOnError" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Continue executing scripts even if this one fails.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Sequence" type="xs:integer">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifes the order to run the SQL Scripts. It is recommended that rollback scripts be scheduled before their complementary execution script. This order is also relative across the SqlString element.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="SqlString">
|
||||
<xs:annotation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
|
||||
</xs:appinfo>
|
||||
<xs:documentation>SQL String</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Id" use="required" type="xs:string">
|
||||
</xs:attribute>
|
||||
<xs:attribute name="SQL" use="required" type="xs:string">
|
||||
</xs:attribute>
|
||||
<xs:attribute name="User" type="xs:string">
|
||||
</xs:attribute>
|
||||
<xs:attribute name="SqlDb" type="xs:string">
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ExecuteOnInstall" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies to execute the string when the associated component is installed. This attribute is mutually exclusive with the RollbackOnInstall, RollbackOnReinstall and RollbackOnUninstall attributes.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ExecuteOnReinstall" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Specifies whether to execute the string when the associated component is reinstalled. Setting ExecuteOnInstall to yes does <html:b>not</html:b> imply ExecuteOnReinstall is set to yes. ExecuteOnReinstall must be set in addition to ExecuteOnInstall for it to be executed during both install and reinstall. This attribute is mutually exclusive with the RollbackOnInstall, RollbackOnReinstall and RollbackOnUninstall attributes.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ExecuteOnUninstall" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies to execute the string when the associated component is uninstalled. This attribute is mutually exclusive with the RollbackOnInstall, RollbackOnReinstall and RollbackOnUninstall attributes.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="RollbackOnInstall" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies whether to execute the string on rollback if an attempt is made to install the associated component. This attribute is mutually exclusive with the ExecuteOnInstall, ExecuteOnReinstall and ExecuteOnUninstall attributes.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="RollbackOnReinstall" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies whether to execute the string on rollback if an attempt is made to reinstall the associated component. This attribute is mutually exclusive with the ExecuteOnInstall, ExecuteOnReinstall and ExecuteOnUninstall attributes.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="RollbackOnUninstall" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies whether to execute the string on rollback if an attempt is made to uninstall the associated component. This attribute is mutually exclusive with the ExecuteOnInstall, ExecuteOnReinstall and ExecuteOnUninstall attributes.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ContinueOnError" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Continue executing strings even if this one fails.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Sequence" type="xs:integer">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifes the order to run the SQL Strings. It is recommended that rollback strings be scheduled before their complementary execution string. This order is also relative across the SqlScript element.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:simpleType name="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Values of this type will either be "yes" or "no".</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base='xs:NMTOKEN'>
|
||||
<xs:enumeration value="no"/>
|
||||
<xs:enumeration value="yes"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
</xs:schema>
|
||||
@@ -1,154 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
|
||||
|
||||
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension"
|
||||
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||
targetNamespace="http://schemas.microsoft.com/wix/TagExtension"
|
||||
xmlns="http://schemas.microsoft.com/wix/TagExtension">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The source code schema for the WiX Toolset Software Id Tag Extension.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
||||
<xs:import namespace="http://schemas.microsoft.com/wix/2006/wi" />
|
||||
|
||||
<xs:element name="Tag">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
This extension implements the ISO/IEC 19770-2:2015 specification. A SWID tag file
|
||||
will be generated an inserted into the Product or Bundle.
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Bundle" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Product" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Name" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Name to use in the filename for the software id tag. By default the filename
|
||||
uses the Bundle/@Name or Product/@Name. If the bundle name or product name contains
|
||||
invalid filename characters such as ":" or "?", use this attribute to provide
|
||||
a valid filename.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Regid" type="xs:string" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The regid for the software manufacturer. A regid is a URI simplified for the common
|
||||
case. Namely, if the scheme is "http://", it can be removed. Additionally, the domain
|
||||
should be minimized as much as possible (for example, remove "www." prefix if unnecessary).
|
||||
|
||||
For example, the WiX toolset regid is "wixtoolset.org".
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="InstallDirectory" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
A reference to an existing Directory/@Id where the software is installed. The SWID tag file will be installed in a "swidtag" folder
|
||||
under that directory as per the specification. This attribute is required on a Tag element found under a Product element.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="InstallPath" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The path where the software is installed. The SWID tag file will be installed in a "swidtag" folder.
|
||||
This is a formatted attribute so it is possible to use Variables as the InstallPath by setting
|
||||
the value to, for example, "[ProgramFilesFolder]CompanyName\Product Name". This attribute is required
|
||||
on a Tag element found under a Bundle element.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Feature" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Optional attribute to explicitly set the Feature when defining the software id tag
|
||||
in a Product. By default the software id tag will always be installed by a top-level hidden feature.
|
||||
It is recommended to <html:strong>not</html:strong> set this attribute.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Win64" type="YesNoTypeUnion">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
This attribute facilitates the installation of packages that install both 32-bit and 64-bit files. Set this attribute to 'no'
|
||||
to indicate the software id tag is installed to a 32-bit location (such as "ProgramFilesFolder") or 'yes' when the tag is
|
||||
installed to a 64-bit location (such as "ProgramFiles64Folder"). The default default value is based on the platform set by
|
||||
the -arch switch to candle.exe or the InstallerPlatform property in a .wixproj MSBuild project:
|
||||
For x86 and ARM, the default value is 'no'.
|
||||
For x64 and IA64, the default value is 'yes'.
|
||||
|
||||
This attribute is only allowed on a Tag element found under a Product element.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Licensed" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:appinfo>
|
||||
<xse:deprecated />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Type" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:appinfo>
|
||||
<xse:deprecated />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="TagRef">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Allows an ISO/IEC 19770-2:2015 SWID tag file to be referenced in a Patch.
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="PatchFamily" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Regid" type="xs:string" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The regid for the software manufacturer. A regid is a URI simplified for the common
|
||||
case. Namely, if the scheme is "http://", it can be removed. Additionally, the domain
|
||||
should be minimized as much as possible (for example, remove "www." prefix if unnecessary).
|
||||
|
||||
For example, the WiX toolset regid is "wixtoolset.org".
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:simpleType name="YesNoTypeUnion">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Values of this type will either be "yes" or "no".</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:union memberTypes="YesNoType PreprocessorVariables"/>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Values of this type will either be "yes" or "no".</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:NMTOKEN">
|
||||
<xs:enumeration value="no" />
|
||||
<xs:enumeration value="yes" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="PreprocessorVariables">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A type that represents that 1 or more preprocessor variables (as they appear in sources on disk, before preprocessor has run).</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="(\$\(\w+\.(\w|[.])+\))+" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:schema>
|
||||
@@ -1,707 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
|
||||
|
||||
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension"
|
||||
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||
targetNamespace="http://wixtoolset.org/schemas/thmutil/2010"
|
||||
xmlns="http://wixtoolset.org/schemas/thmutil/2010">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Schema for describing Theme files processed by thmutil.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
||||
<xs:import namespace="http://www.w3.org/1999/xhtml" />
|
||||
|
||||
<xs:element name="Theme">
|
||||
<xs:annotation><xs:documentation>
|
||||
</xs:documentation></xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:choice maxOccurs="unbounded">
|
||||
<xs:element ref="Font" />
|
||||
<xs:element ref="ImageList" />
|
||||
<xs:element ref="Page" />
|
||||
<xs:element ref="Window" />
|
||||
<xs:group ref="ControlElements" maxOccurs="unbounded" />
|
||||
</xs:choice>
|
||||
<xs:attribute name="ImageFile" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Relative path to an image file that can serve as a single source for images in the rest of the
|
||||
theme. This image is referenced by controls using the SourceX and SourceY attributes.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Font">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Defines a font including the size and color.</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://wixtoolset.org/schemas/thmutil/2010" ref="Theme" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Name of the font face.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:attribute name="Id" type="xs:nonNegativeInteger">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Numeric identifier for the font. Due to limitations in thmutil the first Font must start with "0" and each subsequent Font must increment the Id by 1. Failure to ensure the Font identifiers follow this strict ordering will create unexpected behavior or crashes.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Height" type="xs:int">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Font size. Use negative numbers to specify the font in pixels.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Weight" type="xs:nonNegativeInteger">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Font weight.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Foreground" type="xs:hexBinary">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Hexadecimal value representing BGR foreground color of the font. "ffffff" is white, "ff0000" is pure blue, "00ff00" is pure green, "0000ff" is pure red and "000000" is black. If this value is absent the foreground will be transparent.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Background" type="xs:hexBinary">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Hexadecimal value representing BGR background color of the font. "ffffff" is white, "ff0000" is pure blue, "00ff00" is pure green, "0000ff" is pure red and "000000" is black. If this value is absent the background will be transparent.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Underline" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies whether the font is underlined.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="ImageList">
|
||||
<xs:annotation>
|
||||
<xs:documentation>List of images which can be shared between multiple controls.</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://wixtoolset.org/schemas/thmutil/2010" ref="Theme" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:choice maxOccurs="unbounded">
|
||||
<xs:element ref="Image" />
|
||||
</xs:choice>
|
||||
<xs:attribute name="Name" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Name of the ImageList, to be referenced by other controls.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Page">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Named set of controls that can be shown and hidden collectively.</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://wixtoolset.org/schemas/thmutil/2010" ref="Theme" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:group ref="ControlElements" maxOccurs="unbounded"/>
|
||||
<xs:attribute name="Name" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Optional name for the page.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Window">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Defines the overall look of the main window.</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://wixtoolset.org/schemas/thmutil/2010" ref="Theme" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Caption for the window.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:attribute name="AutoResize" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies whether the ThmUtil default window proc should process WM_SIZE and WM_SIZING events.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="FontId" type="xs:nonNegativeInteger">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Numeric identifier to the Font element that serves as the default font for the window.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Height" type="xs:positiveInteger">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Height of the window.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="HexStyle" type="xs:hexBinary">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Hexadecimal window style. If this is not specified the default value is: WS_OVERLAPPED | WS_VISIBLE | WS_MINIMIZEBOX | WS_SYSMENU.
|
||||
If SourceX and SourceY are greater than 0, then WS_OVERLAPPED is replaced with WS_POPUP.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="IconFile" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Relative path to an icon file for the window. Mutually exclusive with IconResource and SourceX and SourceY attributes.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="IconResource" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Identifier that references icon resource in the module for the window. Mutually exclusive with IconFile and SourceX and SourceY attributes.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="MinimumHeight" type="xs:positiveInteger">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Minimum height of the window. Only functions if AutoResize is enabled.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="MinimumWidth" type="xs:positiveInteger">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Minimum width of the window. Only functions if AutoResize is enabled.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="SourceX" type="xs:nonNegativeInteger">
|
||||
<xs:annotation>
|
||||
<xs:documentation>X offset of the window background in the Theme/@ImageFile. Mutually exclusive with IconFile and IconResource.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="SourceY" type="xs:nonNegativeInteger">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Y offset of the window background in the Theme/@ImageFile. Mutually exclusive with IconFile and IconResource.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Width" type="xs:positiveInteger">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Width of the window.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Billboard">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Defines a control that rotates through a set of images on a specified interval.</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://wixtoolset.org/schemas/thmutil/2010" ref="Page" />
|
||||
<xse:parent namespace="http://wixtoolset.org/schemas/thmutil/2010" ref="Theme" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="Image" />
|
||||
</xs:sequence>
|
||||
<xs:attributeGroup ref="CommonControlAttributes" />
|
||||
<xs:attribute name="Interval" type="xs:positiveInteger">
|
||||
<xs:annotation>
|
||||
<xs:documentation>.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Loop" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies whether the billboard should loop through the images infinitely.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Button">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Defines a button.</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://wixtoolset.org/schemas/thmutil/2010" ref="Page" />
|
||||
<xse:parent namespace="http://wixtoolset.org/schemas/thmutil/2010" ref="Theme" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Text to display in the button.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:attributeGroup ref="CommonControlAttributes" />
|
||||
<xs:attribute name="FontId" type="xs:nonNegativeInteger" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Numeric identifier to the Font element that serves as the font for the control.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ImageFile" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Relative path to an image file to define an graphic button. The image must be 3x the height to represent the button in 3 states: unselected, hover, selected. Mutually exclusive with ImageResource and SourceX and SourceY attributes.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ImageResource" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Identifier that references an image resource in the module for the control. The image must be 3x the height to represent the button in 3 states: unselected, hover, selected. Mutually exclusive with ImageFile and SourceX and SourceY attributes.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Checkbox">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Defines a checkbox.</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://wixtoolset.org/schemas/thmutil/2010" ref="Page" />
|
||||
<xse:parent namespace="http://wixtoolset.org/schemas/thmutil/2010" ref="Theme" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Text to display beside the checkbox.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:attributeGroup ref="CommonControlAttributes" />
|
||||
<xs:attribute name="FontId" type="xs:nonNegativeInteger" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Numeric identifier to the Font element that serves as the font for the control.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Combobox">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Defines a combobox.</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://wixtoolset.org/schemas/thmutil/2010" ref="Page" />
|
||||
<xse:parent namespace="http://wixtoolset.org/schemas/thmutil/2010" ref="Theme" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attributeGroup ref="CommonControlAttributes" />
|
||||
<xs:attribute name="FontId" type="xs:nonNegativeInteger" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Numeric identifier to the Font element that serves as the font for the control.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Editbox">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Defines an edit box.</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://wixtoolset.org/schemas/thmutil/2010" ref="Page" />
|
||||
<xse:parent namespace="http://wixtoolset.org/schemas/thmutil/2010" ref="Theme" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attributeGroup ref="CommonControlAttributes" />
|
||||
<xs:attribute name="FileSystemAutoComplete" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies whether the edit box should auto-complete with file system paths.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="FontId" type="xs:nonNegativeInteger" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Numeric identifier to the Font element that serves as the font for the control.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Hyperlink">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Defines a hyperlink.</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://wixtoolset.org/schemas/thmutil/2010" ref="Page" />
|
||||
<xse:parent namespace="http://wixtoolset.org/schemas/thmutil/2010" ref="Theme" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Text to display as the link.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:attributeGroup ref="CommonControlAttributes" />
|
||||
<xs:attribute name="FontId" type="xs:nonNegativeInteger" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Numeric identifier to the Font element that serves as the unselected font.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="HoverFontId" type="xs:nonNegativeInteger" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Numeric identifier to the Font element that serves as the font when the control is hovered over.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="SelectedFontId" type="xs:nonNegativeInteger" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Numeric identifier to the Font element that serves as the font when the control is selected.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Hypertext">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Defines a text block with support for HTML <a> tags.</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://wixtoolset.org/schemas/thmutil/2010" ref="Page" />
|
||||
<xse:parent namespace="http://wixtoolset.org/schemas/thmutil/2010" ref="Theme" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Text to display as the link. Use HTML <a href="URL"> to create a link.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:attributeGroup ref="CommonControlAttributes" />
|
||||
<xs:attribute name="FontId" type="xs:nonNegativeInteger" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Numeric identifier to the Font element that serves as the font for the control.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Image">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Defines an image.</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://wixtoolset.org/schemas/thmutil/2010" ref="Page" />
|
||||
<xse:parent namespace="http://wixtoolset.org/schemas/thmutil/2010" ref="Theme" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attributeGroup ref="CommonControlAttributes" />
|
||||
<xs:attribute name="ImageFile" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Relative path to an image file. Mutually exclusive with ImageResource and SourceX and SourceY attributes.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ImageResource" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Identifier that references an image resource in the module. Mutually exclusive with ImageFile and SourceX and SourceY attributes.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="ListView">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Defines a listview.</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://wixtoolset.org/schemas/thmutil/2010" ref="Page" />
|
||||
<xse:parent namespace="http://wixtoolset.org/schemas/thmutil/2010" ref="Theme" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:choice maxOccurs="unbounded">
|
||||
<xs:element ref="Column" />
|
||||
</xs:choice>
|
||||
<xs:attributeGroup ref="CommonControlAttributes" />
|
||||
<xs:attribute name="FontId" type="xs:nonNegativeInteger">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Numeric identifier to the Font element that serves as the default font for the ListView.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="HexExtendedStyle" type="xs:hexBinary">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Hexadecimal extended window style.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ImageList" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The name of the Image List to assign to this listview with type LVSIL_NORMAL.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ImageListSmall" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The name of the Image List to assign to this listview with type LVSIL_SMALL.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ImageListState" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The name of the Image List to assign to this listview with type LVSIL_STATE.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ImageListGroupHeader" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The name of the Image List to assign to this listview with type LVSIL_GROUPHEADER.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Progressbar">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Defines a progress bar.</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://wixtoolset.org/schemas/thmutil/2010" ref="Page" />
|
||||
<xse:parent namespace="http://wixtoolset.org/schemas/thmutil/2010" ref="Theme" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attributeGroup ref="CommonControlAttributes" />
|
||||
<xs:attribute name="ImageFile" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Relative path to an image file for the control. The image must be 4 pixels wide: left pixel is the left side of progress bar, left middle pixel is progress used, right middle pixel is progress unused, right pixel is right side of progress bar. Mutually exclusive with ImageResource and SourceX and SourceY attributes.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ImageResource" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Identifier that references an image resource in the module for the control. The image must be 4 pixels wide: left pixel is the left side of progress bar, left middle pixel is progress used, right middle pixel is progress unused, right pixel is right side of progress bar. Mutually exclusive with ImageFile and SourceX and SourceY attributes.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Richedit">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Defines a rich edit control.</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://wixtoolset.org/schemas/thmutil/2010" ref="Page" />
|
||||
<xse:parent namespace="http://wixtoolset.org/schemas/thmutil/2010" ref="Theme" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attributeGroup ref="CommonControlAttributes" />
|
||||
<xs:attribute name="FontId" type="xs:nonNegativeInteger" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Numeric identifier to the Font element that serves as the font for the control.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Static">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Defines a straight line.</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://wixtoolset.org/schemas/thmutil/2010" ref="Page" />
|
||||
<xse:parent namespace="http://wixtoolset.org/schemas/thmutil/2010" ref="Theme" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attributeGroup ref="CommonControlAttributes" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Tab">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Defines a tab.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Caption of the tab.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Text">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Defines text.</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://wixtoolset.org/schemas/thmutil/2010" ref="Page" />
|
||||
<xse:parent namespace="http://wixtoolset.org/schemas/thmutil/2010" ref="Theme" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Text to display.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:attributeGroup ref="CommonControlAttributes" />
|
||||
<xs:attribute name="Center" type="YesNoType" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies whether the text should be centered horizontally in the width of the control. Default is "no".</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="DisablePrefix" type="YesNoType" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>By default ampersands (&) in the text will underline the next character and treat it as an accelerator key. Set this attribute to "yes" to disable that behavior. Default is "no".</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="FontId" type="xs:nonNegativeInteger" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Numeric identifier to the Font element that serves as the font for the control.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="TreeView">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Defines a treeview.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attributeGroup ref="CommonControlAttributes"/>
|
||||
<xs:attribute name="EnableDragDrop">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies whether drag and drop is enabled for the treeview.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="FullRowSelect">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies whether an entire row is selected for the treeview.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="asButtons">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies whether the treeview will show buttons.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="AlwaysShowSelect">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies whether the row always appears selected even when the treeview has lost focus.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="LinesAtRoot">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies whether the root nodes have lines beside them.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="HasLines">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies whether lines appear for all treeview items.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Column">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A column of a list.</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://wixtoolset.org/schemas/thmutil/2010" ref="ListView" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Text for the column header.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:attribute name="Width" type="xs:int">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Width of the column.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Expands" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Whether or not this column can grow to fill available width of the listview.
|
||||
More than one column can be marked with yes - all expandable columns will share available extra space.
|
||||
This is especially useful if the Window/@AutoResize is yes.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:group name="ControlElements">
|
||||
<xs:choice>
|
||||
<xs:element ref="Billboard" />
|
||||
<xs:element ref="Button" />
|
||||
<xs:element ref="Checkbox" />
|
||||
<xs:element ref="Combobox" />
|
||||
<xs:element ref="Editbox" />
|
||||
<xs:element ref="Hyperlink" />
|
||||
<xs:element ref="Hypertext" />
|
||||
<xs:element ref="Image" />
|
||||
<xs:element ref="ListView" />
|
||||
<xs:element ref="Progressbar" />
|
||||
<xs:element ref="Richedit" />
|
||||
<xs:element ref="Static" />
|
||||
<xs:element ref="Tab" />
|
||||
<xs:element ref="Text" />
|
||||
<xs:element ref="TreeView" />
|
||||
</xs:choice>
|
||||
</xs:group>
|
||||
|
||||
<xs:attributeGroup name="CommonControlAttributes">
|
||||
<xs:attribute name="Name" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Optional name for the control.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Height" type="xs:int" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Height of the control. Non-positive values extend the control to the bottom of the window minus the value.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="HexStyle" type="xs:hexBinary">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Hexadecimal window style for the control.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="HideWhenDisabled" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies whether the control should be hidden when disabled.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="TabStop" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies whether the control is part of the tab sequence of controls.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Visible" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies whether the control is initially visible.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Width" type="xs:int" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Width of the control. Non-positive values extend the control to the right of the window minus the value.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="X" type="xs:int" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>X coordinate for the control from the left of the window. Negative values are coordinates from the right of the window minus the width of the control.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Y" type="xs:int" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Y coordinate for the control from the top of the window. Negative values are coordinates from the bottom of the window minus the height of the control.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:attributeGroup>
|
||||
|
||||
<xs:simpleType name="YesNoType">
|
||||
<xs:annotation><xs:documentation>Values of this type will either be "yes" or "no".</xs:documentation></xs:annotation>
|
||||
<xs:restriction base="xs:NMTOKEN">
|
||||
<xs:enumeration value="no"/>
|
||||
<xs:enumeration value="yes"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:schema>
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,292 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
|
||||
|
||||
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension"
|
||||
targetNamespace="http://schemas.microsoft.com/wix/VSExtension"
|
||||
xmlns="http://schemas.microsoft.com/wix/VSExtension">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The source code schema for the Windows Installer XML Toolset Visual Studio Extension.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
||||
<xs:element name="HelpCollection">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Help Namespace for a help collection. The parent file is the key for the HxC (Collection) file.
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="File" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element ref="HelpFileRef" />
|
||||
<xs:element ref="HelpFilterRef" />
|
||||
<xs:element ref="PlugCollectionInto" />
|
||||
</xs:choice>
|
||||
<xs:attribute name="Id" type="xs:string" use="required">
|
||||
<xs:annotation><xs:documentation>Primary Key for HelpNamespace.</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Description" type="xs:string">
|
||||
<xs:annotation><xs:documentation>Friendly name for Namespace.</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Name" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>Internal Microsoft Help ID for this Namespace.</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="SuppressCustomActions" type="YesNoType">
|
||||
<xs:annotation><xs:documentation>Suppress linking Help registration custom actions. Help redistributable merge modules will be required. Use this when building a merge module.</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="HelpFilter">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Filter for Help Namespace.
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Fragment" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Module" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Product" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Id" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>Primary Key for HelpFilter.</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="FilterDefinition" type="xs:string">
|
||||
<xs:annotation><xs:documentation>Query String for Help Filter.</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Name" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>Friendly name for Filter.</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="SuppressCustomActions" type="YesNoType">
|
||||
<xs:annotation><xs:documentation>Suppress linking Help registration custom actions. Help redistributable merge modules will be required. Use this when building a merge module.</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="HelpFile">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
File for Help Namespace. The parent file is the key for HxS (Title) file.
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="File" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Id" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>Primary Key for HelpFile Table.</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="AttributeIndex" type="xs:string">
|
||||
<xs:annotation><xs:documentation>Key for HxR (Attributes) file.</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Index" type="xs:string">
|
||||
<xs:annotation><xs:documentation>Key for HxI (Index) file.</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Language" use="required" type="xs:integer">
|
||||
<xs:annotation><xs:documentation>Language ID for content file.</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Name" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>Internal Microsoft Help ID for this HelpFile.</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="SampleLocation" type="xs:string">
|
||||
<xs:annotation><xs:documentation>Key for a file that is in the "root" of the samples directory for this HelpFile.</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Search" type="xs:string">
|
||||
<xs:annotation><xs:documentation>Key for HxQ (Query) file.</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="SuppressCustomActions" type="YesNoType">
|
||||
<xs:annotation><xs:documentation>Suppress linking Help registration custom actions. Help redistributable merge modules will be required. Use this when building a merge module.</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="PlugCollectionInto">
|
||||
<xs:annotation><xs:documentation>Plugin for Help Namespace.</xs:documentation></xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Attributes" type="xs:string">
|
||||
<xs:annotation><xs:documentation>Key for HxA (Attributes) file of child namespace.</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="TableOfContents" type="xs:string">
|
||||
<xs:annotation><xs:documentation>Key for HxT file of child namespace.</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="TargetCollection" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>
|
||||
Foriegn Key into HelpNamespace table for the parent namespace into which the child will be inserted.
|
||||
The following special keys can be used to plug into external namespaces defined outside of the installer.
|
||||
MS_VSIPCC_v80 : Visual Studio 2005
|
||||
MS.VSIPCC.v90 : Visual Studio 2008
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="TargetTableOfContents" type="xs:string">
|
||||
<xs:annotation><xs:documentation>Key for HxT file of parent namespace that now includes the new child namespace.</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="TargetFeature" type="xs:string">
|
||||
<xs:annotation><xs:documentation>Key for the feature parent of this help collection. Required only when plugging into external namespaces.</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="SuppressExternalNamespaces" type="YesNoType">
|
||||
<xs:annotation><xs:documentation>Suppress linking Visual Studio Help namespaces. Help redistributable merge modules will be required. Use this when building a merge module.</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="HelpFileRef">
|
||||
<xs:annotation><xs:documentation>Create a reference to a HelpFile element in another Fragment.</xs:documentation></xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Id" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>Primary Key for HelpFile Table.</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:anyAttribute namespace="##other" processContents="lax">
|
||||
<xs:annotation><xs:documentation>
|
||||
Extensibility point in the WiX XML Schema. Schema extensions can register additional
|
||||
attributes at this point in the schema.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:anyAttribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="HelpFilterRef">
|
||||
<xs:annotation><xs:documentation>Create a reference to a HelpFile element in another Fragment.</xs:documentation></xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Id" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>Primary Key for HelpFilter.</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:anyAttribute namespace="##other" processContents="lax">
|
||||
<xs:annotation><xs:documentation>
|
||||
Extensibility point in the WiX XML Schema. Schema extensions can register additional
|
||||
attributes at this point in the schema.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:anyAttribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="HelpCollectionRef">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Create a reference to a HelpCollection element in another Fragment.</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Fragment" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Module" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Product" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element ref="HelpFileRef" />
|
||||
</xs:choice>
|
||||
<xs:attribute name="Id" use="required" type="xs:string">
|
||||
<xs:annotation><xs:documentation>Primary Key for HelpNamespace Table.</xs:documentation></xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:anyAttribute namespace="##other" processContents="lax">
|
||||
<xs:annotation><xs:documentation>
|
||||
Extensibility point in the WiX XML Schema. Schema extensions can register additional
|
||||
attributes at this point in the schema.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:anyAttribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="VsixPackage">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
This element provides the metdata required to install/uninstall a file as
|
||||
a VSIX Package. The VSIX package file will be installed as part of the MSI
|
||||
then passed to the VSIX installer to install the VSIX package. To avoid the
|
||||
duplication, simply use the MSI to install the VSIX package itself.
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="File" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="File" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Reference to file identifer. This attribute is required when the element is not a
|
||||
child of a File element and is invalid when the element is a child of the File element.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="PackageId" type="xs:string" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Identity of the VSIX package per its internal manifest. If this value is not correct
|
||||
the VSIX package will not correctly uninstall.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Permanent" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Indicates whether the VSIX package is uninstalled when the parent Component is uninstalled.
|
||||
The default is 'no'.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Target" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Specifies the SKU of Visual Studio in which to register the extension. If no target
|
||||
is specified the extension is registered with all installed SKUs. If the Target
|
||||
attribute is specified the TargetVersion attribute must also be specified. The
|
||||
following is a list of known Visual Studio targets: integratedShell, professional,
|
||||
premium, ultimate, vbExpress, vcExpress, vcsExpress, vwdExpress
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="TargetVersion" type="VersionType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Specifies the version of Visual Studio in which to register the extension. This attribute
|
||||
is required if the Target attribute is specified.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Vital" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Indicates whether failure to install the VSIX package causes the installation to rollback.
|
||||
The default is 'yes'.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="VsixInstallerPathProperty" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Optional reference to a Property element that contains the path to the VsixInstaller.exe.
|
||||
By default, the latest VsixInstaller.exe on the machine will be used to install the VSIX
|
||||
package. It is highly recommended that this attribute is *not* used.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:anyAttribute namespace="##other" processContents="lax">
|
||||
<xs:annotation><xs:documentation>
|
||||
Extensibility point in the WiX XML Schema. Schema extensions can register additional
|
||||
attributes at this point in the schema.
|
||||
</xs:documentation></xs:annotation>
|
||||
</xs:anyAttribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:simpleType name="VersionType">
|
||||
<xs:annotation><xs:documentation>Values of this type will look like: "x.x.x.x" where x is an integer from 0 to 65534.</xs:documentation></xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="(\d{1,5}\.){0,3}\d{1,5}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Values of this type will either be "yes" or "no".</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base='xs:NMTOKEN'>
|
||||
<xs:enumeration value="no"/>
|
||||
<xs:enumeration value="yes"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:schema>
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,134 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
|
||||
|
||||
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension"
|
||||
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||
targetNamespace="http://schemas.microsoft.com/wix/2006/localization"
|
||||
xmlns="http://schemas.microsoft.com/wix/2006/localization">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Schema for describing Windows Installer Xml Localization files (.wxl).
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
||||
<xs:element name="WixLocalization">
|
||||
<xs:annotation>
|
||||
<xs:appinfo>
|
||||
<xse:remarks>
|
||||
<html:p>You can specify any valid Windows code page by integer like 1252, or by web name like Windows-1252 or iso-8859-1. See <a href="~/overview/codepage.html">Code Pages</a> for more information.</html:p>
|
||||
</xse:remarks>
|
||||
<xse:howtoRef href="ui_and_localization/build_a_localized_version.html">How To: Build a localized version of your installer</xse:howtoRef>
|
||||
<xse:howtoRef href="ui_and_localization/make_installer_localizable.html">How To: Make your installer localizable</xse:howtoRef>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element ref="String" />
|
||||
<xs:element ref="UI" />
|
||||
</xs:choice>
|
||||
<xs:attribute name="Codepage" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The code page integer value or web name for the resulting database. You can also specify -1 which will not reset the database code page. See remarks for more information.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Culture" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Culture of the localization strings.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Language" type="xs:integer">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The decimal language ID (LCID) for the culture.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="String">
|
||||
<xs:annotation>
|
||||
<xs:appinfo>
|
||||
<xse:howtoRef href="ui_and_localization/build_a_localized_version.html">How To: Build a localized version of your installer</xse:howtoRef>
|
||||
<xse:howtoRef href="ui_and_localization/make_installer_localizable.html">How To: Make your installer localizable</xse:howtoRef>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType mixed="true">
|
||||
<xs:attribute name="Id" type="xs:string" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Identity of the resource.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Overridable" type="LocalizationYesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Determines if the localized string may be overridden.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Localizable" type="LocalizationYesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Indicates whether the string is localizable text or a non-localizable string that must be unique per locale. No WiX tools are affected by the value of this attribute; it used as documentation for localizers to ignore things like GUIDs or identifiers that look like text.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="UI">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Allows a localization to override the position, size, and text of dialogs and controls. Override the text by specifying the replacement text in the inner text of the UI element.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType mixed="true">
|
||||
<xs:attribute name="Dialog" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Identifies the dialog to localize or the dialog that a control to localize is in.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Control" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Combined with the Dialog attribute, identifies the control to localize.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="X" type="xs:integer">
|
||||
<xs:annotation>
|
||||
<xs:documentation>For a dialog, overrides the authored horizontal centering. For a control, overrides the authored horizontal coordinate of the upper-left corner of the rectangular boundary. This must be a non-negative number.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Y" type="xs:integer">
|
||||
<xs:annotation>
|
||||
<xs:documentation>For a dialog, overrides the authored vertical centering. For a control, overrides the authored vertical coordinate of the upper-left corner of the rectangular boundary of the control. This must be a non-negative number.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Width" type="xs:integer">
|
||||
<xs:annotation>
|
||||
<xs:documentation>For a dialog, overrides the authored width in dialog units. For a control, overrides the authored width of the rectangular boundary of the control. This must be a non-negative number.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Height" type="xs:integer">
|
||||
<xs:annotation>
|
||||
<xs:documentation>For a dialog, overrides the authored height in dialog units. For a control, overrides the authored height of the rectangular boundary of the control. This must be a non-negative number.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="RightToLeft" type="LocalizationYesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Set this attribute to "yes" to cause the Control to display from right to left. Not valid for a dialog.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="RightAligned" type="LocalizationYesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Set this attribute to "yes" to cause the Control to be right aligned. Not valid for a dialog.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="LeftScroll" type="LocalizationYesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Set this attribute to "yes" to cause the scroll bar to display on the left side of the Control. Not valid for a dialog.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:simpleType name="LocalizationYesNoType">
|
||||
<xs:restriction base="xs:NMTOKEN">
|
||||
<xs:enumeration value="no" />
|
||||
<xs:enumeration value="yes" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:schema>
|
||||
Binary file not shown.
@@ -1,12 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
|
||||
|
||||
|
||||
<configuration>
|
||||
<appSettings>
|
||||
<add key="extensions" value="WixIIsExtension;WixUtilExtension;WixVSExtension"/>
|
||||
</appSettings>
|
||||
<runtime>
|
||||
<loadFromRemoteSources enabled="true"/>
|
||||
</runtime>
|
||||
</configuration>
|
||||
Binary file not shown.
@@ -1,9 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
|
||||
|
||||
|
||||
<configuration>
|
||||
<runtime>
|
||||
<loadFromRemoteSources enabled="true"/>
|
||||
</runtime>
|
||||
</configuration>
|
||||
Binary file not shown.
@@ -1,9 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
|
||||
|
||||
|
||||
<configuration>
|
||||
<runtime>
|
||||
<loadFromRemoteSources enabled="true"/>
|
||||
</runtime>
|
||||
</configuration>
|
||||
Binary file not shown.
@@ -1,9 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
|
||||
|
||||
|
||||
<configuration>
|
||||
<runtime>
|
||||
<loadFromRemoteSources enabled="true"/>
|
||||
</runtime>
|
||||
</configuration>
|
||||
Binary file not shown.
@@ -1,9 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
|
||||
|
||||
|
||||
<configuration>
|
||||
<appSettings>
|
||||
<add key="extensions" value="WixDifxAppExtension;WixDirectXExtension;WixFirewallExtension;WixGamingExtension;WixIIsExtension;WixLuxExtension;WixNetFxExtension;WixSqlExtension;WixUIExtension;WixUtilExtension;WixVSExtension" />
|
||||
</appSettings>
|
||||
</configuration>
|
||||
@@ -1,112 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
|
||||
|
||||
|
||||
<Project
|
||||
xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
|
||||
ToolsVersion="3.5">
|
||||
|
||||
<UsingTask TaskName="GenerateTestConsumer" AssemblyFile="$(LuxTasksPath)" />
|
||||
<UsingTask TaskName="Nit" AssemblyFile="$(LuxTasksPath)" />
|
||||
|
||||
<PropertyGroup>
|
||||
<BuildTestPackageDependsOn>Compile;_ScanForUnitTests;_GenerateTestConsumer;Link</BuildTestPackageDependsOn>
|
||||
<TestDependsOn>$(BuildTestPackageDependsOn)</TestDependsOn>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<GeneratedTestConsumer Include="$(OutputName)_test.wxs" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target
|
||||
Name="_ScanForUnitTests">
|
||||
|
||||
<!--
|
||||
So the Link target can do proper up-to-date checking, we need to give it the right list of
|
||||
.wixobj inputs, which we get by scanning for unit tests and not generating a test consumer.
|
||||
-->
|
||||
|
||||
<GenerateTestConsumer
|
||||
InputFiles="@(CompileObjOutput);@(WixObject);@(WixLibProjects);@(_ResolvedWixLibraryPaths)"
|
||||
Extensions="@(_ResolvedWixExtensionPaths)">
|
||||
<Output TaskParameter="InputFragments" ItemName="FilesThatAreFragments" />
|
||||
</GenerateTestConsumer>
|
||||
|
||||
<ItemGroup>
|
||||
<CompileObjOutput
|
||||
Remove="@(CompileObjOutput)" />
|
||||
<CompileObjOutput
|
||||
Include="
|
||||
@(GeneratedTestConsumer -> '$(IntermediateOutputPath)%(Filename)$(IntermediateExt)');
|
||||
@(FilesThatAreFragments);
|
||||
" />
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetName>$(OutputName)_test</TargetName>
|
||||
<SuppressIces>ICE71;$(SuppressIces)</SuppressIces>
|
||||
<SuppressValidation>true</SuppressValidation>
|
||||
</PropertyGroup>
|
||||
|
||||
</Target>
|
||||
|
||||
<Target
|
||||
Name="_GenerateTestConsumer"
|
||||
Inputs="@(Compile);
|
||||
@(Content);
|
||||
@(_ResolvedWixExtensionPaths);
|
||||
@(_ResolvedProjectReferencePaths);
|
||||
$(MSBuildAllProjects)"
|
||||
Outputs="@(GeneratedTestConsumer -> '$(IntermediateOutputPath)%(Filename)$(IntermediateExt)')">
|
||||
|
||||
<GenerateTestConsumer
|
||||
InputFiles="@(CompileObjOutput);@(WixObject);@(WixLibProjects);@(_ResolvedWixLibraryPaths)"
|
||||
Extensions="@(_ResolvedWixExtensionPaths)"
|
||||
OutputFile="@(GeneratedTestConsumer)">
|
||||
<Output TaskParameter="InputFragments" ItemName="FilesThatAreFragments" />
|
||||
</GenerateTestConsumer>
|
||||
|
||||
<Candle
|
||||
SourceFiles="@(GeneratedTestConsumer)"
|
||||
AdditionalOptions="$(CompilerAdditionalOptions)"
|
||||
DefineConstants="$(DefineConstants);$(SolutionDefineConstants);$(ProjectDefineConstants);$(ProjectReferenceDefineConstants)"
|
||||
ExtensionDirectory="$(WixExtDir)"
|
||||
Extensions="@(_ResolvedWixExtensionPaths)"
|
||||
FipsCompliant="$(FipsCompliant)"
|
||||
IncludeSearchPaths="$(IncludeSearchPaths)"
|
||||
InstallerPlatform="$(InstallerPlatform)"
|
||||
NoLogo="$(CompilerNoLogo)"
|
||||
OutputFile="$(IntermediateOutputPath)"
|
||||
Pedantic="$(Pedantic)"
|
||||
ReferencePaths="$(ReferencePaths)"
|
||||
RunAsSeparateProcess="$(RunWixToolsOutOfProc)"
|
||||
ShowSourceTrace="$(ShowSourceTrace)"
|
||||
SuppressAllWarnings="$(CompilerSuppressAllWarnings)"
|
||||
SuppressSchemaValidation="$(CompilerSuppressSchemaValidation)"
|
||||
SuppressSpecificWarnings="$(CompilerSuppressSpecificWarnings)"
|
||||
ToolPath="$(WixToolPath)"
|
||||
TreatWarningsAsErrors="$(CompilerTreatWarningsAsErrors)"
|
||||
TreatSpecificWarningsAsErrors="$(CompilerTreatSpecificWarningsAsErrors)"
|
||||
VerboseOutput="$(CompilerVerboseOutput)" />
|
||||
</Target>
|
||||
|
||||
<Target
|
||||
Name="BuildTestPackage"
|
||||
Inputs="@(CompileObjOutput);
|
||||
@(WixObject);
|
||||
@(_ResolvedProjectReferencePaths);
|
||||
@(_ResolvedWixLibraryPaths);
|
||||
@(_ResolvedWixExtensionPaths);
|
||||
$(MSBuildAllProjects)"
|
||||
Outputs="$(TargetPath)"
|
||||
DependsOnTargets="$(BuildTestPackageDependsOn)" />
|
||||
|
||||
<Target
|
||||
Name="Test"
|
||||
DependsOnTargets="$(BuildTestPackageDependsOn)">
|
||||
|
||||
<Nit
|
||||
TestPackages="$(TargetPath)"
|
||||
ToolPath="$(WixToolPath)" />
|
||||
</Target>
|
||||
</Project>
|
||||
Binary file not shown.
@@ -1,9 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
|
||||
|
||||
|
||||
<configuration>
|
||||
<runtime>
|
||||
<loadFromRemoteSources enabled="true"/>
|
||||
</runtime>
|
||||
</configuration>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,9 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
|
||||
|
||||
|
||||
<configuration>
|
||||
<runtime>
|
||||
<loadFromRemoteSources enabled="true"/>
|
||||
</runtime>
|
||||
</configuration>
|
||||
Binary file not shown.
@@ -1,9 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
|
||||
|
||||
|
||||
<configuration>
|
||||
<runtime>
|
||||
<loadFromRemoteSources enabled="true"/>
|
||||
</runtime>
|
||||
</configuration>
|
||||
@@ -1,26 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
|
||||
|
||||
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="wix.bootstrapper" type="Microsoft.Tools.WindowsInstallerXml.Bootstrapper.BootstrapperSectionGroup, BootstrapperCore">
|
||||
<section name="host" type="Microsoft.Tools.WindowsInstallerXml.Bootstrapper.HostSection, BootstrapperCore" />
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
<startup useLegacyV2RuntimeActivationPolicy="true">
|
||||
<supportedRuntime version="v4.0" />
|
||||
<supportedRuntime version="v2.0.50727" />
|
||||
</startup>
|
||||
<wix.bootstrapper>
|
||||
<!-- Example only. Use only if the startup/supportedRuntime above cannot discern supported frameworks. -->
|
||||
<!--
|
||||
<supportedFramework version="v4\Client" />
|
||||
<supportedFramework version="v3.5" />
|
||||
<supportedFramework version="v3.0" />
|
||||
-->
|
||||
|
||||
<!-- Example only. Replace the host/@assemblyName attribute with assembly that implements BootstrapperApplication. -->
|
||||
<host assemblyName="AssemblyWithClassThatInheritsFromBootstrapperApplication" />
|
||||
</wix.bootstrapper>
|
||||
</configuration>
|
||||
Binary file not shown.
File diff suppressed because it is too large.
Load diff
Binary file not shown.
Binary file not shown.
Loaded 100 of 236 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user