MSDN documented how to create a publisher policy

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconcreatingpublisherpolicyfile.asp

Basically you run al.exe with the "/link" option.

The generated publisher policy assembly is a multimodule assembly. The publisher policy config file is the non manifest module. At runtime, fusion finds the publisher policy assembly, and opens its first non manifest module as the publisher policy config file.

Someone ask if they can use al.exe's "/embed" option to generate publisher policy assembly. You can't. "/embed" put the publisher policy config file as an embedded resource in the publisher policy assembly, instead of a non manifest module. If you use "/embed" option to generate the publisher policy assembly, at runtime fusion will find the publisher policy assembly, but when we looks for the non-manifest module, we won't find it, since it does not exist.

You *have to* use the "/link" option.