Skip to content

Commit

Permalink
Merge branch 'master' into fix_markdown_part_2
Browse files Browse the repository at this point in the history
  • Loading branch information
barnson authored Nov 1, 2023
2 parents 7cd8328 + c06e991 commit 3ffc5f7
Show file tree
Hide file tree
Showing 7 changed files with 89 additions and 74 deletions.
2 changes: 1 addition & 1 deletion src/Docusaurus/docs/releasenotes.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ All of the goodness in WiX v4.0.0 and v4.0.1 remains.
- Building patches is much easier (one command!) and can use MSI packages as the source of target and updated files.
- The WiX extensibility model and pipeline integration has been dramatically enhanced.
- The WiX language has been further simplified. For example:
- [The `Package` element](./schema/wxs/package.md) combines what was two elements in WiX v3.
- [The `Package` element](./schema/wxs/package.md) combines what was two elements (`Product` and `Package`) in WiX v3 .
- The [`StandardDirectory` element](./schema/wxs/standarddirectory.md) simplifies the use of standard Windows Installer directories.
- The `Subdirectory` attribute on, for example, [the `Component` element](./schema/wxs/component.md), lets you create subdirectories without nested [`Directory` elements](./schema/wxs/directory.md).
- WiX supplies a default [`MediaTemplate` element](./schema/wxs/mediatemplate.md) if you don't specify one in your authoring.
Expand Down
16 changes: 9 additions & 7 deletions src/Docusaurus/docs/tools/dtf.md
Original file line number Diff line number Diff line change
Expand Up @@ -209,13 +209,12 @@ The configuration file follows [the standard schema for .NET Framework configura

#### Supported Runtime Version

In the startup section, use [supportedRuntime](https://learn.microsoft.com/en-us/dotnet/framework/configure-apps/file-schema/startup/supportedruntime-element) tags to explicitly specify the version(s) of the .NET Framework that the custom action should run on. If no versions are specified, the chosen version of the .NET Framework will be the "best" match to what Microsoft.Deployment.WindowsInstaller.dll was built against.
In the startup section, use [supportedRuntime](https://learn.microsoft.com/en-us/dotnet/framework/configure-apps/file-schema/startup/supportedruntime-element) tags to explicitly specify the version(s) of the .NET Framework that the custom action should run on. If no versions are specified, the chosen version of the .NET Framework will be the "best" match to what WixToolset.Dtf.WindowsInstaller.dll was built against.

:::caution
Warning: Leaving the version unspecified is dangerous as it introduces a risk of compatibility problems with future versions of the .NET Framework. It is highly recommended that you specify only the version(s) of the .NET Framework that you have tested against.
:::


#### Other Configuration

Various other kinds of configuration settings may also be added to this file, as it is a standard .NET Framework application config file for the custom action.
Expand Down Expand Up @@ -251,17 +250,20 @@ A sample CA project with two CAs is included in the Samples\ManagedCA directory.

### Building Managed Custom Actions

The build process for managed CA DLLs is a little complicated becuase of the proxy-wrapper and dll-export requirements. Here's an overview:
The preferred way to build managed CA DLLs is to use an msbuild project (aka visual studio project). In that project, make sure that the `WixToolset.Dtf.CustomAction` nuget package has been included as a package reference. The resulting package (`SampleCAs.CA.dll` if your project/assemblyname was `SampleCAs`) is ready to be inserted into the Binary table of the MSI.

Otherwise, the build process for managed CA DLLs is a little complicated becuase of the proxy-wrapper and dll-export requirements. Here's an overview:

1. Compile your CA assembly, which references Microsoft.Deployment.WindowsInstaller.dll and marks exported custom actions with a CustomActionAttribute.
2. Package the CA assembly, CustomAction.config, Microsoft.Deployment.WindowsInstaller.dll, and any other dependencies using MakeSfxCA.exe. The filenames of CustomAction.config and Microsoft.Deployment.WindowsInstaller.dll must not be changed, since the custom action proxy specifically looks for those files.
1. Download both the `WixToolset.Dtf.CustomAction` and `WixToolset.Dtf.WindowsInstaller` nuget packages and point `DTFbin` to the applicable `lib` directory of `WixToolset.Dtf.WindowsInstaller` and add the `tools` directory of `WixToolset.Dtf.CustomAction` to your `PATH`.
2. Compile your CA assembly, which references WixToolset.Dtf.WindowsInstaller.dll and marks exported custom actions with a CustomActionAttribute.
3. Package the CA assembly, CustomAction.config, WixToolset.Dtf.WindowsInstaller.dll, and any other dependencies using MakeSfxCA.exe. The filenames of CustomAction.config and WixToolset.Dtf.WindowsInstaller.dll must not be changed, since the custom action proxy specifically looks for those files.

#### Compiling

```
csc.exe
/target:library
/r:$(DTFbin)\Microsoft.Deployment.WindowsInstaller.dll
/r:$(DTFbin)\WixToolset.Dtf.WindowsInstaller.dll
/out:SampleCAs.dll
*.cs
```
Expand All @@ -274,7 +276,7 @@ MakeSfxCA.exe
$(DTFbin)\SfxCA.dll
SampleCAs.dll
CustomAction.config
$(DTFbin)\Microsoft.Deployment.WindowsInstaller.dll
$(DTFbin)\WixToolset.Dtf.WindowsInstaller.dll
```

Now the resulting package, SampleCAsPackage.dll, is ready to be inserted into the Binary table of the MSI.
Expand Down
9 changes: 9 additions & 0 deletions src/Docusaurus/docs/tools/payloads.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
sidebar_position: 85
---

# Specifying source files

:::note
To be written. To volunteer, leave a comment at [the related issue on GitHub](https://github.com/wixtoolset/issues/issues/7437).
:::
1 change: 1 addition & 0 deletions src/Docusaurus/docs/tools/preprocessor.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ WiX has some built-in variables. They are referenced with the syntax `$(sys.VARI
| Name | Value |
| ---- | ----- |
| BUILDARCH | The platform (x86, x64, arm64) this package is compiled for |
| BUILDARCHSHORT | The platform (X86, X64, A64) this package is compiled for. This variable is especially useful to match the ids of WiX's architecture-specific custom actions and DLLs. |
| CURRENTDIR | The current directory where the build process is running |
| SOURCEFILEDIR | The directory containing the file being processed |
| SOURCEFILEPATH | The full path to the file being processed |
Expand Down
92 changes: 46 additions & 46 deletions src/Docusaurus/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 3 additions & 2 deletions src/Web/appsettings.json
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,9 @@
{ "documentation/book2": "https://www.packtpub.com/web-development/wix-cookbook" },
{ "documentation/stackoverflow": "http://stackoverflow.com/questions/tagged/wix?sort=newest" },
{ "documentation/error217": "/docs/tools/validation/" },
{ "*mailinglist.html": "/docs/gethelp/#mailinglists" },
{ "*mailinglists.html": "/docs/gethelp/#mailinglists" },
{ "documentation/mailinglist": "/docs/gethelp/" },
{ "*mailinglist.html": "/docs/gethelp/" },
{ "*mailinglists.html": "/docs/gethelp/" },
{ "*news.html": "/news/" },
{ "docs": "/docs/intro/" },
{ "docs/reference/schema/(.*)": "/docs/schema/$1" },
Expand Down
Loading

0 comments on commit 3ffc5f7

Please sign in to comment.